程序员想干一辈子行不行?只要会这些软技能就妥了
引言
在中国,程序员这个职业能干一辈子吗?
看看国内知名问答平台上的相关提问,答案似乎不容乐观。要么是过了35岁不转型不行;要么年纪越大越学不动;还有公司上升空间有限,不进则退。总之,程序员想干一辈子是太难了。
在这些讨论中,我发现提问者与回答者之间有一个隐含的默契,就是“我就想一辈子写代码,不管别的行不行?”
如果只会写一成不变的代码,大概率是干不了一辈子的。甚至我认为这样的从业人员,都不能称之为合格的程序员。
写代码是程序员的工作中最显而易见的部分,但并不是唯一的部分。会写代码这个硬技能,可以让你入行,但想要终身以此为业,还是需要软技能傍身。
那么,程序员要具备哪些软技能,以及怎么去掌握呢?幸好,有位美国程序员老哥 John Z. Sonmez 把程序员最需要的软技能整理出来,写在了《软技能:代码之外的生存之道》这本书里。
我们将要学习:怎样成为真正的专业人士;掌握 John 老哥的独门学习方法,就不会学不动;打造自己的个人品牌,就不怕狭窄的上升通道。
不过,我最先要说的,还是一切美好事业的前提,那就是健康。
健康,千万不要跑错方向
原旷视科技首席科学家孙剑,在一次凌晨夜跑时,突发心脏疾病去世。这起悲剧之后,给许多辛苦工作一天,还有夜跑习惯的程序员们敲响警钟。
程序员其实是挺注重健康的群体,因为他们大多知道久坐熬夜、高盐高油饮食的危害。而且也为自己的健康付出了行动,但可怕的是会跑错方向。
其实就算白天是坐着紧张工作了一天,身心的损耗也是很大的。加班到很晚回去,最需要的反而是良好的休息,并不是把运动量“找补”回来。
那可能会有人反问:那程序员唯一的运动,真的只有从工位走到洗手间了吗?
只要树立起正确的健康意识,办法就特别简单:不要一直坐着不动。不妨给自己用番茄钟计时,每半小时左右就把屁股从椅子上抬起来,去快步走个五六分钟回来继续工作。
这种多频次,小量的运动,不仅能有效放松身体,还能保持情绪饱满,有效消耗热量。长期坚持下来,就能体会到它的显著效果。
当然,最难的就是怎么让自己长期坚持。在《软技能》中,John 老哥非常体贴地开列了程序员适配的健身方法与饮食建议,以及如何长期坚持的小窍门。
我认为在每个程序员的技能树里,正确地保持健康应该是默认首选项。毕竟有了健康这个1,后面跟上多少个0才会有意义。
成为真正的专业人士
有的程序员对于专业的理解,认为只要写出来的代码能用就万事大吉。坦白说,这在 John 老哥看来,离真正的专业还是有差距的。
专业精神,说到底就是程序员对待做事情的态度。这从三个方面可以进行说明,首先是能否信守自己的承诺;其次是能否持续稳定地交付工作成果;最后是不要沉迷于技术,而要解决问题。
信守承诺,就是在软件开发过程中,对客户和老板坦诚相待,不夸大难度,也不虚张声势,能做到多少,就答应多少。
说白了这就是程序员的职业信用,如果总是推诿难度太大做不到,或者要求过分的工期,这都是在损耗自己的信用。哪怕是技术水平了得,到后来也没人敢把任务交到他手上了。
专业和业余的一大区别,就在于前者总能稳定输出符合预期的成果,后者虽偶有特别出彩的时刻,但总体在水准线以下,这就让更多机会向前者倾斜。
程序员大多是痴迷技术的人,但要避免技术唯上,却忘了要解决什么问题。
我在工作中曾遇到过一位开发,他的任务如果用手工处理一下,半天就能完成。但过了三天,看他还在拼命加班加点的干活,一问才知道他居然要写一个复杂的自动化工具来完成,而这个工具也仅会用这一次。
John 老哥建议程序员们,成为专业人士的办法,就是培养自己良好的工作习惯。大家可以对照着上述三点,复盘一下自己在走向专业之路上,是否可以做得更好。
事半功倍的学习方法
程序员抱怨自己学不动的时候,一般都是因为职业倦怠,就是看什么都没劲,一想到又要学新技术就无比消沉。
这种情况 John 老哥在职业生涯也有遇见,他同样给出了自己的建议。那就是意识到自己只不过是撞上了一堵墙,只要再坚持一下穿透这墙,就会有意想不到的收获。
如果你决定再坚持一下,那么我们就可以继续领会 John 老哥提出的十步学习法,轻松搞定工作中对新技术的学习要求。
以学习一门新编程语言为例,就是先了解新语言的适用场景,然后确定可量化的学习目标,比方说实现一个具体的功能。再尽可能多地去搜寻学习资料,制定学习计划,精选最有价值的资源,比方说一本好书,或者高人气的在线教程。
以上是第一步到第六步的过程,只需实践一次。往下第七步到第十步,则要循环往复,迭代前进。
起步不必追求难度,能出 “hello, world” 就算成功。接着加大难度,可以构造一个简单的模块,能够自行解决技术难点,实现完整功能。最后,尝试着向小白讲授这门编程语言,看能不能把他教会。
所以学不动只是一个假象,掌握了这套事半功倍的十步法,程序员们不仅能学得又快又好,还能学得开心。
酒香也怕巷子深
John 老哥写技术博客的初衷,其实也是为了检验自己的学习成果。没想到一炮而红,拥有了众多粉丝,从此一发不可收拾,走向了财富自由之路。这也启发了他对于个人品牌影响力的思考。
程序员往往会有这样一种想法,就是只要我把工作做好,别人自然就看得到。隐含的推论,就是一切好机会都会自动掉到头上来。可是,了解自己的也就公司里这些人,甚至就是同部门的两三个人。
这就是酒香也怕巷子深,不会吆喝,好酒也难卖得出去了。所以,互联网时代,每个程序员都应该拥有自己的个人品牌。
打造成功的个人品牌,最好的途径就是能够给他人创造价值。John 老哥以自己的经验之谈,建议每个程序员都要创建自己的技术博客。不必在意自己的文笔是不是够好,也不必疑虑有多少人会看,做起来就对了。
除了图文内容,视频内容也是程序员可以发力的方向。总之,只要思想能放开,办法满大街都是。在日积月累之下,变化就会悄然发生,上升通道不再是公司里那窄小的出口,整个行业都将是自己的通道。
但要切记两点,一是要持之以恒,二是要坚守正道。不要为了流量而抄袭或是洗稿,出来混,迟早要还的。
在此借用美国前总统约翰·肯尼迪的一句话勉励大家:到最后,问心无愧是我们稳得的报酬。
结语
John 老哥虽然是一名美国程序员,但在软件开发这个行当里,似乎中美两国的程序员们都面临着一些共同的问题。这包括职业规划、个人成长,以及健身理财等多个方面。
在书中幽默诙谐的字里行间,看得出 John 老哥并不是天纵奇才,也是一名普通的程序员。但他值得称道的是,并没有在困境中归咎于外部环境,或者到处贩卖焦虑,而是保持乐观,积极思考,并进行多种可能的尝试。
《软技能》最大的意义,也就在于它给程序员们提供了一个借鉴。即使你资质平常,不是名校出身,依然可以通过修习软技能,不断提升自己,在程序员这个职业上干一辈子。
程序员们,化迷惘为动力,跟着 John 老哥修炼软技能吧。