毕业三年了,搬砖生涯第一阶段已经结束,回顾一下纯粹技术学习方面的经历(不谈职场厚黑学以及政治话题,嘿嘿),仅与各位看官共分享,同进步
在校重基础
上面5个字,吐血箴言,别被导师忽悠,跟着做一些鸡毛项目
- 校招笔试面试,绝大部分是基础知识加算法,项目经验只是附加项,从中观察你如何处理问题而已,仅仅是附加项
- 说实在的,导师们那些破项目,除了忽悠学校经费,或者是外包,项目质量现在回过头看,完全渣渣,做与不做,无伤大雅。过分投入,反而本末倒置,只会使用工具,不懂原理 ,以及各种框架浅尝则止,无暇深入。面试时,这也用过那也用过,但是这也不精,那也不精,让面试官很无语,基本上这种毕业生就是备胎,勉强能做事,又基础不够扎实。当然,如果看官您是牛逼院校出身,导师项目质量很高,请勿喷。屌丝我没读过985 211,不知道,不敢妄言,请见谅
- 操作系统,网络,数据结构,算法,只要你还搬砖,你就离不开,所以,在校期间,无论花多少精力在这些上,总不会亏的,特别是后两个。数据结构和算法往往是BAT的第一道门。
- 关注潮流趋势:在校期间,多关注开源软件,以及其他各类IT气息浓厚的站点,你就能走在别人前面。这一点,鄙人深受其益。鄙人在12年6月初识mongo,网上资料还很少,就对着官网慢慢磨,8月底发布2.x版本才开始本机折腾,校招时发现好多公司也才开始使用mongo,于是多少能跟面试官有点其他人没有的话题。
看合适的书
码农少不了要看书,毕业了一样要坚持看书,鄙人很少买书,买必买精品,一般就看看PDF得了。但是看书,要看合适自己的书
-
适合你当前阶段的需求
鄙人走过弯路,在校期间做导师外包项目,猛看java SSH三大框架的书,各种实战,精通,看了不下3本,当然没有一页一页全看完,当时觉得可能有用,其实现在回过头看,卵用没有。真正做项目时,百度谷歌一搜,解决实际问题,项目几下就堆完了,这种书籍都是介绍如何使用,官方文档以及博客论坛到处都有,没必要看书。而且看书,书上都是全面细致,新手根本找不到重点,漫无目的地看,没用;反而博客论坛能突出重点,大家都问都写的,肯定是你大概率要遇到的,这就是重点
-
适合你当前阶段的能力
你如果还只会爬,不要看如何跑的书。鄙人现在体会很深,刚毕业时,急于迅速提高java水平,买了《java并发编程》,《Effictive java》,《深入理解java虚拟机第二版》,其中虚拟机这本书通读,但是真心觉得用处不大,大部分记不住,理解不了。过段时间,忘的很干脆。现在虽然不再java是主业,但是回过头来,再看虚拟机这本书,发现,原来python java这么的相似,好多东西(比如垃圾回收)python也是同样或者类似,再看时感觉特别亲切和认同。当一本书给你的感觉是亲切,并有强烈的认同感,这本书就是现在的你需要的
-
适合你的职业规划
这个是在工作一段时间后,你以后要干什么,在哪方面精通,达到行业领先水平,这个时候,你就需要开始准备了,看看相关的书籍。这个时候,从入门到精通,某某参考手册,就别看了。这些书对你来说没用了,即使是从入门到上天也不用看了,工作的几年,你早已会用,会查,会debug了。你要看的书是“深入”,“原理”,“设计”之类的书,或者是某位大牛的“经验”分享书籍。比如,你做后端,你经常用mongo,redis之类,难道不想了解它如何设计,实现的吗?就好比天天挤地铁,这时候该想想我要如何设计地铁呢?这或许对你使用没有帮助,但是可以让你眼光更高,眼界更宽。
-
鄙人没舍得扔的书
《深入理解java虚拟机第二版》,《java并发编程》这两本因为主业不是java了,一直没有吃透,所以留着.《Java性能权威指南》鄙人没买,但看了某大牛摘录的"第9章",认为此书质量高,值得买.
《clean code》,《HTTP权威指南》,《编写高质量代码python代码的99个建议》,《大型网站技术构架//核心原理与案例分析》,《Redis设计与实现》,《剑指offer》,《白帽子讲web安全》这几本,鄙人敢保证绝对值得花钱买,良心作品。非要挑一本丢掉,我选HTTP权威指南,毕竟是参考类书籍,主要讲http 规范,规范理解就好,也不需要全面细致,实际工作可能影响不大。
通读文档也是有必要的:Django,tornado,mongo,redis,celery,gevent, greenlet鄙人觉得是python后端研发必通读的
关注开源
- 不要觉得开源软件都是大神才有资格参与的,怕出丑,不敢行动。我国的教育使我们这代人,真的不如外国人自信,普遍“谦逊”,“害羞”。其实开源项目,往往是有一个好的想法,有几个大神带队,一波小兵追随,在共同的目标下,做好一件事。由于绝大多数人都不是全职开源,时间限制,写的代码,不可避免有瑕疵,或者说文档总有缺陷。当前开源项目中,好代码的多,好文档的少,很多文档经历多个版本迭代后,早已文不对题。鄙人刚开始能力有限,就从文档开始,帮忙完善文档,这有个好处就是,我必须大致看懂代码,才能修正文档。很多细节代码,的确会比较复杂难懂,但是坚持下来,对于项目大致架构还是理解很准确的。此外,代码看多了,自然就能与《clean code》产生强烈共鸣,因为你看到的代码真是五花八门,无奇不有,唯有坚守clean code的代码能让人觉得舒坦,而不是烦闷。
- 退一万步,看别人代码开始很痛苦的,你坚持不了,很正常,毕竟只有少数人能坚持。那你坚持看文档总可以吧,如果连看个英文文档都不行,那你考虑考虑,是否还要继续搬砖?认真的,不是说笑,考虑一下这个问题。坚持看文档,能让你感受到一个项目,版本迭代,功能增加,性能改善的每个过程,每个版本做什么,对于软件开发的周期理解更好,小步快跑,持续改善。这对于以后管理团队也是有益的,至少让你有个全局观,对乱七八糟的大量需求,能做个排期,有计划的实现。
- 积累人脉:此处不是要说,认识了谁谁谁,可以帮忙介绍工作,可以带你飞,文章第一行写明,不谈厚黑学,不讲走关系。鄙人不喜欢,也不擅长拉帮结派。此处的人脉,是有伙伴陪你一起持续关注新技术,扩展视野,纯粹的技术交流分享的朋友。因为码农往往圈子窄,寡言少谈,多几个挚友,对于丰富生活,提高沟通水平都是有益的。
健康生活
身体是革命的本钱,身体不好,别谈什么志向,理想,情怀,这都是说梦话,然而说梦话不是好习惯
- 爱护肩颈,眼睛:码农这些部位,都不大好
- 培养搬砖以外的兴趣爱好
规划
-
做好下一个三年的职业规划
鄙人下一个三年,打算在某一个细分领域,深入学习,力争达到行业领先水平。可能是分布式缓存,也可能其他,最近也在深思之中。总之,必须要有规划,不能傻等年华消逝