标签:python

树莓派3初体验之一:搭建 Python 开发环境

树莓派3初体验之一:搭建 Python 开发环境

最近新买了一个树莓派3(购买前还考虑了 Orange Pi 等 Linux 开发板,但最终 […]

工作三周的碎语

工作三周的碎语

工作满三周,我的第一个任务也交付测试中,如无意外很快就能上线了。三周来,学了很多知识,也逐 […]

我的求职经历

我的求职经历

2015年下半年,我在一家外贸软件企业任运营总监,某天无意间看了一眼当时公司产品的前端代码,竟在已发布的产品中发现各种注释,而且注释都是51cto之类网站的教学文章链接。那时候想,如果让我来做的话,应该比他们做的更专业一些。在思考了几个月后,2015年11月,我申请离职,开始脱产学习 Python。

『他们不行,我上!』这个理由,其实是我学很多东西的动力。例如两年多前学爵士鼓,就是看侨城堂教会的鼓手实在太水、于是买了 Roland TP4K 开始练习的。后来没有坚持练下去,水平也就一般般,但临时顶场什么的已经无压力了。

断断续续学了大半年 Python,在闭门造车的做了几个小项目后,我从2016年9月开始投简历。最开始在拉勾上被拒了大概二十几遍,只拿到一个面试,是给一家网站做分布式爬虫,面试结果不好,而我对这种纯应用型的部门也不太感冒(虽然自己技术不好,但一直有个目标,就是要去技术型的公司)。

后来觉得这种海投策略不行,郭老师给我提意见,说写个 cover letter 吧。我乖乖的听话,而当时自己完全没想到这个举动会带来后面的巨大收获。

某日在 v2ex 上闲逛,发现 Ricequant 在招聘 Python 工程师,于是研究了一下这家创业公司,发现居然还开源了一个量化策略研究框架,创始人技术也很好,就写了一封长长的 cover letter 过去,居然也混到了一个面试(收到 Ricequant 面试通知电话的时候,我正在上文提到的那家公司面试中)。9月27日来到 Ricequant ,CTO 正和另一个求职者谈话,于是安排了一位工程师来面我,很快工程师觉得我基础太差无法胜任。CTO 此时也闲下来了,简单聊了一下后,留了学习排序算法的作业。后来我整个十一假期都在做这个作业。

十一结束后发邮件交付了作业,以为可以轻松一下了,但1个小时后就收到回信,要求用代码实现所有排序并提了一堆需求。二话不说,接下来一个星期就继续埋头苦干,把之前没搞懂的面向对象、递归、单元测试等等搞定。第2次作业交付后,长舒一口气,但是还是在2天后收到催命邮件,要求我继续优化代码。这一次把算法部分和界面部分分开,同时做多线程优化等等。就这样又忙了5天,交付了第三次作业,同时也第二次去 Ricequant 面试,并现场拿到 offer。我问了 CTO 为什么会这样反复测验和面试我这样的初学者而不是直接筛掉,他说你 cover letter 太有激情了。此处为郭老师鼓掌三分钟。

(在二面 Ricequant 之前,我还收到了腾讯云的电话面试,依旧因技术太差而被直接告知不行,但建议我转投运营开发岗位。面试我的工程师人也很好,但我没有再投腾讯。)

从开始学习 Python,到找到工作,刚好一年。一年间,我的学习速度很慢,又是零基础,对自己的要求也不严格,经常连续半个月没写几行代码。好在朱老师一直鼓励我,说小步快跑是坠吼的,不用强求速度。事实也证明我的确更适合这种轻松的学习状态,而不是苦大仇深的埋头苦学。

我在刚开始入门时报过开智的 Python 入门班,相信我,很垃圾,不要浪费钱。Python 的入门资料很丰富,看书、在 Stackoverflow 和 Google 上查资料、在 Github 上给牛人提 issue,就已经完爆你能找到的所有国内培训课程了,而这一切都是免费的。

学写代码是我这个习惯性半途而废者第一个坚持下来并让我进入职业圈子的事。我依旧是小白一个,要学的东西太多了,对未来很期待也很紧张。但一年的学习让我找到了一种自信,就是无论在哪里都要坚持下去,为了家人,为了自己,如果需要做律师,我就去读法学院,如果需要牙医,我就去读医学院,如果需要木匠,我就拜师学木艺。1年不够就2年,2年不够就10年,总会有实现目标的一天。

今天是2016年的1024程序员节,在耕耘一年后终于有了收获,我很骄傲。

Python 中 list 的传值问题

Python 中 list 的传值问题

我在做一个小程序,需要生成一个随机数列表,然后将之赋值给2个 list,并需要这两个列表完 […]

几种排序算法的比较

整个十一假期就在折腾这几个算法,这篇总结性文章就是简要的介绍了几个基础算法的特性,并附带了 […]

Papa-razzi alpha released,外加 Python 求职

给 Rhea 做的自动化办公脚本

我学 Python 算起来也有10个月时间,其实大多数时间在玩。也还没有找工作,不知道有没有互联网企业会要我。这几个月在家里时不时写个小脚本自娱自乐,怡然自得。

话说一个月前,Rhea 让我帮忙给她做一个自动化处理文档程序,我听了一下,发觉有点复杂,但是理论上都可以实现,值得挑战一下,于是很快答应帮她搞定。Rhea 的需求大致是这样:读取 Excel 文件里的大量链接,自动截图,并生成含截图和链接标题的 DOC 及 PPT 格式的报告。

虽然之前用过 pandas 处理数据,但是相比之下,Rhea 的表格更为复杂,维度很多,还要对数据做一些清洗。最后,处理 Excel 表格的部分花了我几周,大多数时间都在学习 pandas 的基础用法。

自动截图没什么好说的,用 selenium 模拟打开网页,然后用了一个第三方库 pyscreenshot 截图(这部分其实我还没有做的很好,不够自动化。例如截图尺寸、浏览器类型、浏览器窗口尺寸的自动调整功能等还要细化)。

自动生成 DOC 和 PPT 的部分,反倒最容易——内容已经都做好,创建文档并写入即可。这里用的是传统的 python_pptx 和 python_docx。

我给这个脚本起了个名字,Papa-razzi,现在是 alpha 版本,基本功能大致没问题,但是还有不少影响用户体验的细节要完善。Github链接

9月9日更新到了 v0.3,最近的两次更新分别完善了 Twitter 截图部分、增加了进度条。

看了 Quora 上面的问题What are the best Python scripts you’ve ever written?,发现我这个脚本在复杂度、自动化程度上都可以入选了。当然了,人家放上来的都是娱乐脚本,我拿这么个办公用的东西来比较肯定不公平,那些回答者的水平估计是比我高(起码效率比我高多了)。

looking-for-a-job_meitu_da

鉴于已经能用 Python 独立完成一些稍复杂的需求,我准备开始找工作。目前方向是 WEB开发,其他也可以接受。如果有读者有相关资源,希望能提供给我更多信息:

以下是我的优势:

我会的东西
– 学过 Flask,按照《Flask Web Development》做过一个功能全面的微博,但有些技术细节我不太理解。
– 能写简单爬虫,给自己写过抓天气、抓股票的脚本
– 可以做数据处理,最近搞这个比较多。
(以上是我投入了一定时间去学习的技能,写的不一定好,但都能用。上文有我 Github 链接,有兴趣可以去看看。)
– 最近在补SQL语言、计算机网络,应该很快可以粗过一遍。后面计划学数据结构和算法。

学习能力强
– 阅读英文文档无压力。我所有的学习材料都是英文的(因为吃过亏,所以即便有中文版也不看)
– 学习速度快。在自学的几个月中,我发现自己更适合独立学习而不是上课,因为我自学比上课快。
– 求知欲望强烈,有挑战欲。看到需求后先判断大致怎么实现,然后能够埋头研究完全陌生的知识。
– 沉浸式工作。我工作的状态和打 LOL 差不多,很投入,因此被太太抱怨过。

工作习惯良好
– 谨遵自己知道的每一条代码规范,有不好的地方只因为我不知道,而不是我不遵守。
– 全程 Google + StackOverflw,不用百度,能用最快速度搜索到需要的资源。
– 会调校自己的开发工具,选择合适的工具(软件和硬件)。
– 会版本管理,一直用 Git。

文笔好
– 做过网易另一面(现在这个栏目已经被政府关停了)的评论编辑,出过几期流量不错的稿子。
– 多年坚持写作,从小写到现在,目前这个博客也写了快7年了。

有趣
– 喜欢写一些自己用的小脚本来满足一些小需求,并且想学习更多知识,写出更炫酷的程序。
– 爱玩桌游,爱跑团(龙与地下城DND,开拓者Pathfinder等),爱创造。
– 会玩一堆乐器。吉他,尤克里里,爵士鼓,钢琴,手风琴,布鲁斯口琴等。
– 热爱了解新事物,有一颗从不停歇的好奇心。
– 对朋友很热心,喜欢用代码帮助朋友。

懂运营和产品
– 上上份工作是亚信联创的互联网产品部门的产品经理。后来被中国移动官方力推的『移动通讯录』(已更名为『和通讯录』)是我做的原型,这个产品是亚信和移动研究院合作的。
– 上一份工作是一件互联网小企业的运营总监。运营部门的成绩很棒。

其他信息:

缺点
– 一个初级工程师,非科班(我学政治学的,纯文科生),目前的代码质量还不够高。
– 专注度不够好,相比稳定的输出成果,我更喜欢挑战陌生领域。
– 犯懒,贪玩。

其他

希望读者看到这篇文章后,如果有一些资源,能帮我推荐下工作,感激不尽。
坐标深圳,随时骚扰,联系方式在这里

完成《Flask Web Development》纪念

完成《Flask Web Development》纪念

(上图为计划中的下一本书《Web Scraping with Python》) 这本 Fl […]

用 python + pandas 帮朋友处理数据

用 python + pandas 帮朋友处理数据

郭老师发小的老公,在一家 Apple 手机电池供应商工作。这天在朋友圈抱怨,用 Excel […]