如果你看过一部电影叫做《蝴蝶效应》,那么可能就会明白一些道理了。即使历史给你一个重来的机会,但是后续的发展也是不可控的。
如果要我重选,可能我的选择是毕业时换一家公司工作。如果一切都很好的话,那我现在在一个东南亚小国,就是那个炉石传说牧师职业卡的国家,也许入籍了。不过也很难说,就算这种结局,我的日子会比现在更舒服吗?那万一混得不好呢?维护了多年老旧的代码,吹行业里的段子自然是一套一套,但是遇到裁员,一个30多岁的码农,又能去哪呢?或者现在已经成了个假洋鬼子,还是真·勾焊歼那种,娶了个龅牙的樱花妹,然后下班以后和同事在居酒屋两个串一瓶啤酒坐一晚,在失业以后百般无奈,也去跳地铁了。
至于我大学时间干的事情嘛,也就是游戏打多了点儿,莫名其妙的技术折腾了一大堆。其实以当时的情况,学校里又不教,你自己没项目的话,学很多东西都只能浅尝辄止。对于学生时代,稍微能明确点的学习目标也许就是算法了。我前段时间跟人聊天,说我以前学生时代还喜欢学算法,后来么:这么成熟的算法,肯定有现成的代码白嫖。我又不是数学家,我一个搞应用程序开发的,没必要在上面花太多力气。
<—————补充————>
可能有人会说,我太轻视技术了。其实并不是。这个行业里,新技术、新手段层出不穷,如果现在用不上,真没必要去赶时髦——因为可能你还没学会,它都死了。比如我记得,好多年前,刚开始扯NoSQL数据库的时候,有个著名项目叫Cassandra,当时推特还大张旗鼓地用了。结果推特一用,用出大问题了,自然地,这个项目,就很少有人关注了。到现在,它凉没凉我不知道,反正在那之后,兴起的就是芒果DB和大象。而且你看,现在国内这个环境,大数据热也早就过去了,你说你当时花大力气去学这些,最后你又没搞这个,浪费多少精力和时间呐?有这个精力,不如去放松,去思考人生,去思考你带的项目的设计和管理。
<————补充完毕————>
如果在学校里少打点游戏,也许每次期末的大作业,我还能交得更漂亮一些。不过这些都无关紧要,因为那些代码在上班以后自己都不屑一看,而老师嘛,也许也不会保留它。上班以后写了那么多代码,有自认为写得好的,也有不好的,那么多代码……也许它还运行在某个地方,也许它连版本控制器上的存档都没了。
绝大部分人毕业以后都不是做科学家的,所以你的核心竞争力不是记住一些技术细节,记不住就查嘛,上班又不是闭卷考试。核心竞争力呢就是工程管理能力。之所以这么说,主要是说设计能力的话,也太抽象了一点儿,不好讲。工程管理能力的话,主要就是你怎么和上下级沟通协调,怎么确保项目进度的正常推进,怎么保证大家把代码写了,能把钱拿到。当然,学生时代不太容易体会到这些东西,因为这时候大家写代码还不够熟练,需要解决的问题是:这是什么?这个代码具体怎么写?