题图:by pcpcpc from Instagram
很多人过长假没什么经验,不给自己留余地,留任务,留 todolist,他们胡吃海塞,他们流浪海外。但是,你们想想,半年多来大部分时间用来吃外卖写代码做需求准备产品上线的人,突然有八天空闲时间让你喝红酒吃海鲜和日本料理游览太平洋的海岛漫步在富士山的小径重拾普通人过的日子,你能适应吗?这并不是一件容易的事。
浪完回来,你不仅要面对这八天懈怠留下来的落后进度和没有修复的 bug,更有对这八天浪费时间的悔恨和自责。你必须更努力的工作才能把长假里的空缺补上,才能有新的功能上线,而这个过程会比长假里制定并完成了六项任务的人(比如卖桃君)来得晚,来得艰难,甚至来不及……于是你们选择了生病。
我司优秀程序员涛哥等由于不适应假期生活悍然生病,这不是他的错,是我的错。如果当初让他十一加班就不会发生这样的悲剧了……
昨天我在朋友圈发了一条信息,问大家想看什么,其实就是想搜集点写作素材,但是读者们都很鸡贼并不露声色。他们微笑着对我说,随便写写,看到你还在写东西,我们就安心了。这特么什么意思,难道不更新就不安心么?
没有主题怎么办?我决定回答一位读者的问题:我不是 CS 专业的,怎么进入互联网做一名工程师呢?
CS 的意思就是计算机科学,这个专业出来的大都是根正苗红的工程师,他们对基本的数学概念、统计学、算法、计算机结构、操作系统等内家功夫如数家珍,胸中有丘壑,并熟知各类编程语言,毕业的时候基础会比普通非 CS 专业的毕业生扎实很多。我在大学里学的是机械,虽然那会因为兴趣学了不少计算机知识,但基础并不扎实,或者说基础很烂。一工作就开始用 Perl、Java 这样的语言写业务应用,编程过程中遇到问题再去恶补算法、数据结构、操作系统和网络等基础知识,其实是很吃亏的。你需要花费比 CS 专业的毕业生更多的时间和更多的精力去完成别人可能轻松实现的工作,结果还不一定比别人做的好。
所以,在北京这个凄风冷雨的秋夜,我要给这个问题破一瓢冷水,你不一定要转程序员啊。
世界上并不是只有这么一个红火的行业,在分工细化和协作范围日益扩大的今天,传统行业在科技的加持下重新崛起,各行各业都有机会,不一定全部涌到计算机领域来。前一阵子看到一个数据,美国大学生毕业前五年各个专业的平均工资,排在第一的是计算机,排在最后的是哲学、政治学、历史学、心理学、语言等。但是如果把时间拉长,考察各行各业里最拔尖的人才,收入排在第一的是政治学,第二是历史,第四是哲学。
这个数据告诉我们,第一不要看到热门的东西就一拥而上,你要相信,看到热点很多人会比你跑得快,抢得多,下手还早。第二要长远来看,厚积薄发,无论是什么事,从更大的尺度和维度去考虑,看看它未来会变成什么样。也许你现在的行业后续十年有突飞猛进的发展呢?
有了这瓢凉水垫底,如果你依然想转技术,那可能是真·要转,我就给大家几个建议,我当年差不多也是这么过来的。
1、确认自己是因为喜欢技术和互联网才加入这个行业,而不是因为起薪高一些。否则你可能坚持不下去,即使坚持下去了,也会比较平庸。
2、用尽可能短的时间去掌握一门编程语言,比如几个月的时间达到熟练使用的程度 —— 这并不是不可能完成的任务 —— 做到这一点,你就可以实际开发应用了,或者说,你能找到一份养活自己的工作。
3、能够编写生产环境的代码了,这时候就要去恶补基础知识。比如编程范式(面向对象编程和函数式编程)、算法和数据结构(徒手翻转二叉树)、操作系统、数据库、网络协议、分布式系统等等。这些知识基本上不可能速成,每一个类别都博大精深,比如操作系统里的进程、线程、多核、物理内存、虚拟内存、文件系统、进程间通信等等。计算机里的 CPU、GPU、磁盘、性能等等,没可能一蹴而就,但长期的学习会让你更好的理解计算机和互联网,很多现代的,时髦的,最新的技术,都可以在这里面找到原型。所谓九阴真经,一通百通,就是这个道理。
4、在工作中寻找自己最擅长的并能够长期坚持的事情,这件事可能是某个领域的技术,也可能是某种产品和业务应用,你有可能转型为产品经理 —— 比如二爷 —— 但技术也不会白学,那时候对比其他产品经理,你的优势你更懂技术,更懂工程师。腾讯的 Pony 不是说过么:
很多产品经理对核心能力的关注不够,不是说完全没有关注,而是没有关注到位。核心能力不仅仅是功能,也包括性能。对于技术出身的产品经理,特别是做后台出来的,如果自己有能力、有信心做到对核心能力的关注,肯定会渴望将速度、后台做到极限。
5、注重阅读和分享。不仅仅阅读代码,也要阅读文章,不仅仅分享文章,也要分享代码。有时候你的个人博客或微信公众号,你的 Github 会比天花乱坠的简历更有说服力。写作和编程可以让我们进入深度思考和自省模式。如果你是个软件工程师,最好两样都干。
6、对于能力强意志力上乘的人来说,自学差不多可以解决工作中的绝大多数问题,但大部分人都是懒惰的,散漫的,喜欢享乐不喜欢挨饿的,我们的注意力只能集中半小时或更少的时间。所以,不要排斥线上或线下的培训课程,通过仪式感的学习方式,可以快速掌握一门技能。这种模式毫无疑问是最有效率的学习方式之一。
7、你可能会问我,你参加过编程技术培训班吗?我没参加过,不是不想参加,而是90年代根本没有人开编程培训班。所以我花了更多的时间,更少的睡眠和更大的功夫……也没成为技术高手(捂脸)。
写到这里你们肯定觉得我要推荐一门课程了。对不起,今儿妹广告。下课。
给 iOS 用户一个赞赏的通道