大家都知道,软件开发市场是最火热的市场之一:高薪的承诺、稳定的工作、成长的空间,在我们这行都很常见。
这不是什么新鲜事,这个话题也早就传到了大众耳朵里。这是巴西一本商业杂志 2020 年 3 月的封面:
“他们二十出头,自己挑在哪儿上班、拿多少薪水。为了招到他们,有的公司甚至不惜收购整家初创公司。培训学校在巴西各地涌现,还没开张就排起了长队。欢迎来到软件开发者的奇妙世界。”
不需要懂太多就能拿一万月薪的承诺,让很多人突然对这个领域产生了兴趣。当然,这种说法很夸张,来自极少数的个例,或者来自那些有无限投资弹药可以挥霍的公司,它们不介意去助长一个长期根本无法自我维持的市场。
你不难遇到这样的人:以前从没对编程感兴趣,如今却突然来了兴致,而这几乎总是绑在某个不切实际、不负责任的赚钱承诺上。
那些鼓吹编程很简单的人,总忘了补一句:结果和投入成正比。如果你上的是那种速成课,只是坐在电脑前跟着讲师照做一遍(大多数课程就是这么运作的),那你实际上变成的,只是一个熟练的代码打字员,不是程序员。更谈不上一个好程序员。也许你的知识水平刚好和未来的同事们持平,但别自欺欺人,平均水平和平庸是一对孪生兄弟。
更别提远程办公了。它因为疫情被大规模采用,如今似乎成了大多数科技公司的默认模式。当然,别以为它会一直这样下去。你已经能看到一些大厂在朝相反的方向走。
我提远程办公,是因为在我看来,公司为初级工程师、甚至实习生开放这种岗位,是极其不负责任的。对一个职业起步的人来说,剥夺他更频繁、更深入地和资深同事互动的机会,剥夺他和那些本来不会进入自己朋友圈的人建立联系的机会,就等于剥夺了他快速而扎实地实现个人与职业成长的可能。
职业起步的人需要频繁的互动,需要可以效仿的榜样,需要快速、实际地接触到更有经验的人。远程办公会把这一切都从你身上拿走,换来的只是廉价的安逸。如果你是新手,而这篇文章里有什么值得你吸收的,那就是这一点:别在生活里接受这种安逸。远程办公是那条容易的路,而容易的路往往不会有好结局。哪怕你现在看不清楚,你付出的职业代价也太高了。
把这一切放在一起看,这一整片承诺的海洋和这些捷径,就不难明白为什么那么多人上了当,哪怕并不喜欢这份职业,也选择去做程序员。
而在就业市场上,这带来的后果也很明显:能力越来越弱的从业者,要价却越来越高。
如果把这些都想清楚了,你还是选择走技术这条路,那就一头扎进去。别甘于只做程序员大军里的又一个,那种只会把代码从一处复制到另一处的人。下功夫!学会学习。日复一日地做、去打磨自己的副业项目,别把自己限制在上班的时间里,自己动手去解决真实世界的问题。哪怕是那些早就被解决过的,也试着自己做一遍。别做只精通某个框架或某门语言的程序员,市场上这样的人已经够多了。把功夫下在学我们这行的核心上。那些扎实的、几十年都不变的东西。别再围着最外层打转、只盯着这个或那个技术,那些每天都在变。每天都会冒出一个新框架、一项新的革命性技术,你越早发现这些并不重要,越好。学算法、数据结构、设计模式。而且,最重要的是,练。每天练。练、练、再练。在撞上一个自己解不出的问题之前,别满足;撞上一个时,要庆祝,正是在这些挫败的时刻,真正的学习才发生。
也别忘了读好书、关注好的从业者。再说一遍,别去啃讲语言 A 或 B 的书,也别去啃讲框架 X 或 Y 的书。去他的!读我们这行真正的大家,向他们学。读《Clean Code》《The Pragmatic Programmer》或者《Coders at Work》。在 YouTube 上搜这些作者的内容,比如Robert Martin 那些精彩的演讲,那是免费向公众开放的宝藏。
顺带一提,《The Pragmatic Programmer》这本书的第一课就是“Care About Your Craft”(在乎你的手艺)。书里说:Why spend your life developing software unless you care about doing it well?(如果你不在乎把软件做好,又何必花一辈子去做它?)
换句话说,只有当你决心成为一个好程序员时,才去做程序员。否则,选别的职业。别信那些故事,做一个真正的程序员不轻松、不快,而且如果你选择一个人埋头干(远程办公),会难上加难。就像任何职业一样,没有捷径可走,要么你全力以赴,要么你就是平均水平。