十年的程序员:最危害程序员职业生涯的三大观念
蓦然回首自己做软件开发这个行业已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!
路其实一直都在那里,只是我们看不到而已!
以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。想想有多少人对于自己将来要从事的职业和技术类型进行过深入思考和比较呢?当我跳出编码后,我开始思考和程序及程序员职业生涯相关的问题,最后发现,影响我们走入今天的困局的竟然是一些我们常常挂在嘴边的话(观念)。
今天,就为大家指出这几个重要的可能是你已经习以为常的观念,希望大家深入的思考一下这些观念对你的危害。如果你还年轻,刚从事软件开发这行没多久,也希望指出这些问题能让你跳过一些误区,不要像我一样多浪费五年时间。
观念一: “别管我,我只想一个人安静地写代码!”
是不是每天想安安静静地写代码时,IM窗口或者Email总会不合时宜地弹出各种提示,一会要开会啦一会要讨论需求了,再一会测试又来和你理论Bug了。世界这么喧嚣,还让不让人安静地写代码了?“别管我,我只想一个人安静地写代码”,这句话道出了多少程序员的心声啊,我们都想“静静”!不过今天我要告诉你,这种想法是多么的错误,并且严重影响了你职来生涯的发展。
如果你觉得自己的工作就是写写代码,那你最好三思。在软件开领域,我们大多数时候是与人而不是与计算机打交道。我们所写的代码首先是供人使用的,其次才是让计算机可以理解的,如果你只想和机器打交道,那写二进制的代码机器才能理解你。仔细想想自己一天的工作中有多少时间用在了与人互动上,收发邮件、会议、讨论(扯皮)等等,作为一个软件开发人员,你的工作就是与人打交道(其实几乎所有的职业都是这样)。
所以,虽然你是一个码代码的码农,看似你工作的重心是在码代码上,但其实你自己统计一下也会发现:你真正写代码的时间占你工作时间的比例并不高甚至有些人非常低。即使没有人打扰你,你仍然需要花很多的时间去设计(思考)怎么写你的代码,或者花很长的时间去看懂别人的代码然后找到Bug产生的原理,这个过程中看似你面对的是代码是机器,但其实你面对的是人(写代码的人和读你代码的人)。这还没有谈论怎么把业务的需求变成代码,你仍然需要了解一定的业务知识,当然最好的方式是先和业务、需求设计人员进行沟通,而不是闷头写代码。
所以认为做程序员可以不讲究沟通和谈话技巧,可以恰当地掩饰自己这方面的不足,那么你就太错特错了。如果你是因为自己与人交流的能力不足而觉得程序员是一个很合适的职业的话,那么你很难成为一个优秀的程序员。正如前面所说的一样,程序员写的代码仍然是需要和人交流的,如果只是一味的逃避自己不足的地方,写某方面代码的能力有可能可以大幅提高,但软件设计和开发的能力并不会轻易地提高。最后的软件开发,除了需要你有专业知识并懂得业务外,更重要的是需要你能和相互关系的系统和人进行有效的沟通。
所以,对程序员来说人际交往能力远比你想象的要重要!学会如何与人打交道,是你通向优秀程序员的第一步。
观念二:“这不关我的事!”
常常在工作中听到程序员在抱怨“测试又来找我了”、“需求又来找我了”,“客户又来找我了”等等,这些事都和自己的编码没有直接的关系,咋一看从职能分功上确实不关程序员的事。然而,这也是一个很严重的错误观念,它让你损失了很多成长的机会,而且也是你工作几年后走入程序员困境的主要原因。
大多数程序员(当然包括笔者)从职业生涯一开始就犯了几个严重的错误。截至目前,最大的错识就是没有把自己的软件开发事业当作一桩生意来看待。当你为了谋生一头扎进写代码的世界时,其实你和在建筑工地上搬砖的民工并没有多大的区别。
你职业生涯中必须要做的第一要务:转变你的心态,从被一纸“卖身契”束缚住的仆人转变为一各拥有自己生意的商人。你需要学会像企业一样思考,思考一下“作为一个企业我能提供什么”,就会对你如何考量自己的职业生涯有深远的影响。企业需要持续不断地改进和完善自己的产品,你也应该这样做,你的产品就是你的编程技能和服务。换到这个角度后,你就不会再抱怨工作中总被很多莫名其妙的人和事打扰,因为那些事都和你息息相关,或者都和你的生意有关联。积极地承担责任,至少能让你建立起良好的个人品牌,最终你会发现这个品牌的价值比公司给你开的高工资有用得多!
而且处理一些你看似不相关的事情,也会让你得到某方面的锻炼,这些事情中也可能就有某些行业的痛点问题,如果你解决了,其实一个产品原型就出来了。虽然你的时间被打扰了,但获得的技能和生意却是自己的。
记住:你工作的公司、客户和同事都有可能是你的生意。
观念三:“等我有钱了,我就XXX”
“等我有钱了,我就顾几个越南程序员帮我写无聊的代码”,“等我有钱了,我就天天吃食堂的自助餐”等等,这类台词在公司里经常能听到吧,不过一般这样说的人都不会有钱的,或者说很难等到他有钱时。也许看到这里你会产生一些困惑,这个有没有钱和我们做程序员有什么关系呢?
好,请复习一下观念二!
财务问题是程序员群体不善处理的一大问题!其实不单是程序员群体,整个大学教育培养出来的学生一般都不具备正确的财务知识和观念。钱不是万能的,但有钱却能解决很多问题,“人穷志短”实在是太精辟了。当你没有钱的时候,你会看重很多你不应该看重的东西,很多东西你可以用钱买来(比如技术和别人的经历)但你不愿意,因为你手上钱不多所以要省省是吧。结果你只能花自己的时间去琢磨,而等你琢磨透时商机已去!
有句话叫:能用钱买来的就是捡便宜!
而且因为没有钱你会更看重钱,最终会为了某个公司一个月多给你几千块的涨薪就跳槽,而忽视了去比较真正对你未来有帮助的成长机会!
财务自由是很多程序员非常向往的一个目标,就是我们说的“有钱了”的状态,但如果你真正问一个人什么是财务自由,多少钱才够财务自由?可能很多人都回答不上来,而且对于钱的量级每个人的答案也可能不一样。
我比较赞成的财务自由的解释是:所谓的财务自由,指的是某人再也不用为了满足生活必需而出售自己的时间了。
最终我们会发现,财务自由并不是我们努力工作的终极目标,而是我们成长过程的一个重要的里程碑!最终你把财务自由看淡,并看到它身后更远的东西,你才真正有可能实现财务自由。
所以,不要等,而是要不停的成长,包括技术和为人处事等等各方面。只要你在不停的成长,你就会一直在为自己积累很多东西(技术、人脉资源等),等这些东西达到一定量级你自然会“有钱了”!
总结
除了一些高精尖的技术问题,我们一般开发遇到的技术问题其实最终都不是我们成功的关键,而且技术是会更新迭代或是交替的,代码之外的软技能才是我们成长为一个熟练工之后应该着重考虑的。但一些你认为(别人也都这样认为)正确的关念,其实一直影响你并最终把你变成和大多数人一样碌碌无为。每个人的性格和所处环境不同,我们没有必要要求所有人都一样,但如果你想改变或者觉得目前的状态很困惑,不妨思考一下哪些观念是有问题的,是时候来升级一下你的操作系统(你的大脑)了!
我们再总结一下这三大错误观念:
- 认为程序员的主要工作不需要和人交流,不重视人际交往能力;
- 认为和写代码不相关的事都不是自己的责任,没有把工作当成自己的生意来对待;
- 认为有钱是终极目标,只重薪水不重成长;