给未来的程序员
这些年比较喜欢看NBA,也因为在我失落迷茫的时候“林疯狂”给我带来的激励,我常常拿NBA球员的职业生涯作为参考,希望对程序员的职业生涯有所帮助。以下是我的一些观点和建议:
(1)选秀顺位不重要。选秀顺位并不能决定球员的未来,程序员的第一份工作也不能决定其高度。当然,高考分数也不能决定人生的成败。重要的是要相信自己,不断学习,不断成长。人生是一场马拉松,起跑的优劣无关紧要,笑到最后的都是一直在跑的人,也就是一辈子都在学习的人。
(2)保持专注。只有保持足够的专注度,才能确保在高强度的比赛中取得好成绩。程序员也一样,如果想拥有一个完美的职业生涯,要注意保持专注。
(3)比赛中要把状态调到最好。在实力相差不大的情况下,比赛的胜负通常由双方球员的手感、激情、求胜欲望所决定的,这里统称为状态。同样,在项目开发过程中,程序员也要把状态调到最好,这样可以提高进度与工作质量,留下好的口碑。(程序员的圈子其实也不是很大,很容易就通过校友、同事、前同事、同事的前同事等关系连接起来了)
(4)要有足够长的训练时间。即便是休赛期,很多NBA球员也会保持训练,比如每天投篮500次。对程序员来说,要求每天写500行代码好像有点别扭,所以最好找到适合自己的训练方法,比如:写代码、看代码、看文档、上培训班…… 总之,要有充足的练习,有量变才有质变嘛。
(5)不断进步,解锁新技能。除了少数一进联盟就开挂的球员,大部分球员都是在实战中一步步成长为球星,甚至是巨星的。除非你是在那种允许一年工作经验反复用二十年的企业当程序员,否则最好不断更新自己的知识库,让老板发现你的亮点,知道你能胜任怎么样的工作。
(6)选择去哪座城市打球很重要。大城市的球队财力雄厚,也容易吸引优秀球员,因此获得总冠军戒指的机会也相对较大,也容易打造商业价值。国内来说,我觉得程序员第一份工作选择大城市是有必要的,除了北上广深,准一线城市也不错的选择。(听说很多三、四、五线城市的程序员连GitHub都没听过呢)
(7)不要过分追求花哨的技能。简单有效才是最好的,把简单的事情做到极致,本身就是一件伟大的事情,就像马刺那样。不管是黑猫白猫,能够满足需求的就是好猫,不对,是好程序员。Keep It Simple, Stupid!
(8)要清楚自己的技术特点。我们说篮球场四大天王:灵活死胖子、 矮壮篮板怪、勾手老大爷、高瘦远投王。实际上,不是长得高就要打内线,长得矮就不能抢篮板,胖子就不能运球等等。关键是要清楚自己的技术特点,适合打什么位置。对于程序员来说,就是要清楚自己喜欢什么行业,喜欢做嵌入式还是移动开发还是Web等等,找到合适的定位。
(9)要对大环境有所了解,适时调整。原来流行大球风格,注重防守,现在流行小球风格,那么这种环境的转变对于球员来说就是机遇和挑战。程序员也是,不能只顾着低头敲代码,还要适当了解行业发展趋势、技术的更新等等。
(10)适当时抱大腿。绝大部分NBA球员的目标都是总冠军,那么当个人能力不足以支撑实现梦想时,抱大腿也不妨是个好方法。程序员刚出道时,往往也需要大神带领才能顺利完成任务,而大型的项目,更需要各个领域的专家合作才能完成。所以有时候抱大腿也不是一件坏事,如果程序员能成长为“大腿”就更好了。
(11)工资帽每年都在涨,要抓住谈判工资的机会。 NBA的球员都会有经纪人去谈判,经纪人能够把握市场行情,为球员拿下大合同。绝大部分程序员请不起经纪人,只能自己去谈判,所以要学会了解市场行情,知道自己的水平大概能拿多少薪资,然后在面试或者调薪的时候为自己争取更多利益。
(12)该执着时执着,该放手时放手。 NBA联盟只能容纳四百多名球员,而每年选秀会增加六十名球员,可以说淘汰率是很高的,能在NBA立足相当不容易。球员的平均职业生涯只有三年,最长也就二十多年。相对而言,程序员幸福得多,人才缺口大,也可以做到退休。但是,如果你发现自己确实不是当程序员的料,就果断放手吧,可以往技术支持、测试、管理、销售等方向发展,说不定还迎来职场第二春呢。当然,程序员还可以创业当老板,这里就不展开了,再说就超纲了。
最后来一段:
入学考试的问题答案
往往只有一个
如果没有找到它
那就是不及格
但是啊
人生不一样
人生有很多正确答案
继续读大学是正确答案
不去也是
热衷运动也是
喜欢音乐也好
和朋友一起玩耍也罢
这些都是正确答案
不要畏惧活着
不管考上还是没考上
都不要否定自己的可能性
你们要挺起胸膛
理直气壮地活着
祝愿大家都能找到自己的人生答案!