一个专科生的 Python 转行之路,虽然很难,但如今月薪1w,一切值得
相信每个转 IT 的人, 大部分是兴趣驱动。然而我并不是, 只能说是不反感。一开始接触编程, 是一位同事,他会 java ,也会一点前端。 印象最深刻的一次,有一次,他自己搭建了一个网站,然后把公司的一些报表数据放到这个界面上展示出来。当时就感觉,学习编程真酷。而后不知道是在哪看到的一篇文章, 大意就是如果随便换一个人, 接手你的工作, 你觉得需要多久? 这篇文章,启发了我,让我不禁思考,以后的路该何去何从?
在这家公司大概干了有大概八个月之久,经过一番思想斗争之后,终于在 17年十月份,我决定辞职了。这是我的第一份工作,一年不到,很多人觉得我很疯狂,包括我的同学,我最好的朋友,因为我要开始学习 编程,学习Python。这是他们想都不想敢的事。
自学之路
正式开始学编程是在十月底的样子, 那时候在知乎 flask 话题下看到一个问题 「有多少人按@萧井陌大神给出的Python+Flask路线找到工作了?」。就觉得自己也可以啊, 就开始辞职自学 Python,。
刚开始的那一个月确实能够做到每天 10 个小时写代码, 学了大概一个月不到的基础, 就买了那本狗书, 也就是 flask web 开发。一开始还好, 但是看到后面大概是后面几章的时候, 就感觉吃不消了, 因为之前也都是抄的代码, 自己并不理解。报错了, 就各种谷歌、百度, 实在是解决不了了, 就去一些群里问大佬。但是群里面, 毕竟都是吹水的, 问个技术问题基本都是没人理的。到这里大概花了不到一个月的时间吧, 简单的博客只是有个雏形并没有部署。
再到后来也是在知乎上看到 Python 可以做哪些有意思的事? 下面好多都是用 Python 写爬虫、做数据分析之类的。于是, 就去学爬虫了。那时候真的很菜, 相信大家入门都是爬的豆瓣250、糗事百科之类的, 当时连这些我都没爬下来。这里已经是自学的第三个月了, 那时候其实心里已经有点出现问题了, 越来越怀疑自己, 当时跟比较好的同学说自学编程的时候, 连他都怀疑我。我到现在都还清楚的记得, 一起吃饭的时候那种语气、那样的表情。
之后一个多月的时间里, 效果也可想而知, 爬虫也只学到 Scrapy 那, 只能写一些简单的 demo。也越来越觉得当时的自己是多么可笑呀, 人家行, 那是人家, 并不是你。朋友也没有说错, 反而是自己成为了别人的笑柄。
那时候已经快过年了, 我妈就感觉我有点不对劲, 说要么就去培训吧。于是年初来到北京, 也就是三月份, 因为有之前自学的经验, 培训的时候明显轻松很多, 期间也一直在自学。
关于面试
七月初的时候, 我开始写简历, 看面试题。因为从一开始去培训, 我就没打算在简历上造假, 并不是说我不想造假, 我比谁都想造假。一个月就四个面试机会, 一个还是 java 的, 关于面试我会在后面详细描述。一个礼拜没有一个电话, 没有一则邮件, 你能想象的到吗? 甚至连培训机构的电话都没有, 什么都没有。
没学历, 没经验。确实很难, 招 Python 初级的其实并不多, 基本都是 1-3 年经验的。而且我是海投的, 就是把软件上我搜索条件的职位全部投递, 符不符合的都投, 因为我根本没得选择。
第一家面试, 清晰的记得第一家面试是在 7.11, 周三, 那天北京下着大雨, 坐了两个小时的公交, 在车上也一直在看面试题, 回顾自己写的小项目。
那天这家公司就一个技术老大在, 也就是面试我的人。并没有题目、直接问项目。我把自己简历上的项目都详细的说了一遍。 面试官问我带电脑了没, 掏出电脑, 也演示了这两个项目给他看, 一个是 flask 的, 也就是狗书作者 17 年写的一个博客的教程, 自己在这基础上加了点东西。还一个是 cmdb 的小项目, django 写的。最后聊了快两个小时, 也坦白了自己是培训出来的, 只有一年不到的自学时间。面试官也认可我了, 发了 offer, 也给了我很多建议。现在想想还是很感谢他, 虽然最后没要我。
第二家面试, 上一家我给了一个礼拜的时间考虑, 就是这个礼拜我特别的绝望, 特别的绝望。整整一个礼拜, 没有一个电话, 没有一封邮件, 一个面试邀请也没有, 什么都没有。我给那家回了电话表明要去, 但是我才知道原来发了 offer, 并不代表要你, 还是要等上面通知的。等了四五天, 没回应, 也就是凉了。
不好意思, 第二家是 java 的面试, 也就不说了。
第三家面试, 是一家做 ERP 开发的公司。也没有面试题,不过关于 Python 的一个没问, 印象最深的是问到:
flask 源码看过哪些
django 中间件是怎么处理请求响应的
http 请求的一次过程 (例如输入 www.baidu.com 这个过程发生了什么)
redis 怎么实现人数的在线统计 (类似于 QQ 在线人数)
flask 源码我只看过一点跟网上的一篇讲源码的博客, 答的并不好。redis 只是了解一点, 这个也就挂了
第四家面试, 是一家做区块链的创业公司。面试的爬虫, 因为去之前 BOSS 上面招聘要求写的很高, 会分布式、会模拟登录、能分析 js 什么的。当时我只写了一个简单的分布式, 能看懂一点 js。大概问了些:
你写过印象最深的一个爬虫项目, 遇到什么问题?
针对简历上的一个项目, 完整的说一遍你爬取的时候的流程?
sql 语句跟正则 (sql语句跟正则问得并不难)
怎么把爬到的数据在页面中展示出来?
其实问的东西不是很难, 也算是自己运气好吧, 除了后面面试官问我会不会 js。基本都答上来了, 要了个最低价, 比招聘要求上的薪资还低一点。
现在已经入职快一个月了, 写了一个小项目吧, 爬的国外的以太坊。解析到不难, 倒是在数据处理、入库这一块, 复杂的 sql 语句我根本不会写, sql 语句到后来都是老大帮我改的, 毕竟自己招进来的人, 含着泪也要教完。。好在最后也扔到服务器上去了, 写了个脚本跑定时任务。
关于培训
培训一直都是比较敏感的话题吧, 学历造假、年限造假确实是有的。关于薪资, 高薪确实有的, 不过都是有开发经验的, 零基础培训四五个月出来找到高薪的、不包装真的很少很少, 我还是建议刚开始别把薪资看得太重要, 核心竞争力是你的技术水平。培训机构其实都差不多吧, 只是带你入个门, 更多的还得靠自己。找份实习, 从基础做起, 有人带会好很多, 没事多加加班, 多向同事请教, 脸皮也厚一点, 毕竟学到了就是自己的了。
最后, 祝愿大家在转行的路上开花结果!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。