第501期|给非科班程序员的几条建议
你好,这里是卖桃者说。
前阵子我看到一则新闻,说是一求职者想投递杭州某大数据公司的产品运营岗位,结果被对方招聘人员询问学校是否是三本,在求职者回答“是”后,这名招聘人员表示,该公司“只要二本以上统招的”。本以为对话到此结束,不料该招聘人员继续“补刀”:“考不上本科的都是智商有问题的。”
这则消息一出,立马引发网友热议,其实我想说的是,非科班出身怎么啦?有不少互联网公司高管都不是计算机科班出身,但是人家也没有自卑过,也不怕鄙视。我觉得,大家还是得活得硬朗一点,不卑不亢最好。
不过,也总是有读者怯怯地问我:“我不是科班出身(非计算机专业),大学里学过的编程技术也是样样精通样样稀松。像我这样的人,还有机会进入互联网行业做工程师么?”
我今天在这里统一回复下。首先说明一下,互联网行业不一定只能做工程师啊,你还可以做产品经理、运营、销售、编辑、策划、客服,技术只是驱动互联网的一份力量。
其次,做工程师,不一定去互联网公司,现在纯粹的互联网公司越来越少,互联网在产业化,传统企业在数字化,这些都是机会。
最后,我想给这些非科班程序员们几个建议,如果你觉得这些建议值得参考,就着手准备吧。
1.确认自己是因为喜欢技术和互联网才加入这个行业,而不是因为起薪高一些。否则你可能坚持不下去,即使坚持下去了,也会比较平庸。
2.用尽可能短的时间去掌握一门编程语言,比如用几个月的时间达到熟练使用的程度,这并不是不可能完成的任务。做到这一点,你就可以实际开发应用了,或者说,你能找到一份养活自己的工作。
3.如果你能够编写生产环境的代码了,就要去恶补基础知识,比如编程范式(面向对象编程和函数式编程)、算法和数据结构(徒手翻转二叉树)、操作系统、数据库、网络协议、分布式系统等等。
这些知识基本上不可能速成,每一个类别都博大精深。比如操作系统里的进程、线程、多核、物理内存、虚拟内存、文件系统、进程间通信等等,计算机里的 CPU、GPU、磁盘、性能等等,要想完全掌握的话,一定离不开长期学习。长期学习会让你更好地理解计算机和互联网,很多现代的、时髦的、最新的技术,都可以在这里面找到原型。所谓九阴真经,一通百通,就是这个道理。
4.在工作中寻找自己最擅长的并能够长期坚持的事情,这件事可能是某个领域的技术,也可能是某种产品和业务应用。未来哪怕你转型为产品经理,技术也不会白学,因为与其他产品经理相比,你的优势是更懂技术、更懂工程师。腾讯的 Pony 不是说过么:
很多产品经理对核心能力的关注不够,不是说完全没有关注,而是没有关注到位。核心能力不仅仅是功能,也包括性能。对于技术出身的产品经理,特别是做后台出来的,如果自己有能力、有信心做到对核心能力的关注,肯定会渴望将速度、后台做到极限。
5.注重阅读和分享。不仅仅阅读代码,也要阅读文章;不仅仅分享文章,也要分享代码。有时候,你的个人博客、微信公众号、GitHub 账号会比天花乱坠的简历更有说服力。写作和编程可以让我们进入深度思考和自省模式,如果你是个软件工程师,最好两样都干。
6.对于能力强、意志力上乘的人来说,自学差不多可以解决工作中遇到的绝大多数问题,但大部分人都是懒惰的、散漫的,喜欢享乐不喜欢挨饿的,我们的注意力只能集中半小时或更少的时间。所以,不要排斥线上或线下的培训课程,通过仪式感的学习方式,可以快速掌握一门技能。这种模式毫无疑问是最有效率的学习方式之一。
7.好好利用极客时间这款产品。新版本上线了学习排位赛,这可以说是最好的学习方案了,煞费苦心,只为你能好好学习。
好,今天就先和你聊到这里。如果你觉得这些建议对你有启发的话,欢迎把它转发给更多小伙伴。
卖桃者说,明天见。
(编辑:夏天)