代码不是工作的全部,工作也不是生活的全部

当我还在大学的时候,我对以后的工作的认知可以用一句话来概括:技术好的吃肉,技术不好的吃屎。计算机虽然是一个专业性和技术性较强的行业, 但是彼时的我太过迷信于技术,思想偏激,导致在第一份工作当中走了很多的极端。我想,很多计算机专业的学生可能在学校的时候,甚至是刚刚实习的时候都和我有一样的想法:工作就是写代码,代码写的牛逼了,自然什么好事就都找上门来了。然而,如今工作近一年,我对工作和技术以及生活,都有了与之前截然不同的认识。

工作的核心是解决问题

仔细想想,我们工作的内容既不是无休止的加班写代码,也不是每天疲惫的奔波于大小会议之间,而是解决我们自身遇到的,公司遇到的,用户遇到的各种问题。如果要给一个码农的工作能力打分的话,要关注的绝对不是他代码写的多牛逼,技术多好,解决问题的能力才是决定他工作能力高低的最重要的因素。漂亮的代码和高效的方案,其实都是我们解决问题的一种手段或是一项技能。可能有的技术能力非常突出,但是并不代表他能很好的完成工作。这也就解释了,为什么我们身边有那么多“技术大牛”,但是最后能够功成名就的没几个,甚至是“怀才不遇”。

单就工作来说,任何一个公司都不需要整个团队里面全都是技术牛人,但是却急需能够高效快速的解决问题并把事情做好的人。后者其实就是我们口中常说的,靠谱的人。当靠谱的人从接受一件事情到最后完美解决这件事情,一些良好的做事习惯和处理问题的细节将会贯穿整个过程。比如拿到问题之后先拆解问题,分而治之,如果是一个小团队的leader,他可能会考虑底下人的性格和做事风格,把对的事交给合适的人去做。总之,靠谱的人会积极整合和利用手中的资源,花费最少的时间把这件事做成。而技术,仅仅是这其中的一环。技术高超那当然是非常不错的,但是往往做一件事,解决我一个问题的时候,拿出70%的技术实力就可以了,剩下的30%可能跟你的情绪,做事风格有关。不然为什么有的时候技术上很简单的一个东西,但是最后把这件事做成却花费了相当多的时间呢?所以说,工作的核心是解决问题把交代给你的事情顺利的做好,技术的好坏只能影响你是否能够把这件事即完成但是又做的很漂亮,属于锦上添花。不要总是闷头搞技术,其他能力也一样重要。

做事不要走极端

很多码农兄弟可能看了上面一段话在心里会想:这个货一看就不是一个纯粹的技术人员,每天想这么多有啥用的,不抓紧提升自己的技术实力,毕竟技术强才是硬道理啊。对此,我不想多说什么,毕竟几个月前的我也是这种想法。

我觉得工作能力和技术能力是两种不同的力量,就像我们在大学里最后毕业有去考研搞科研的同学,也有投身于互联网企业想要锻炼自己工程能力的人一样。两种能力虽然会互相影响,但是本质上来说他们还是独立的。如果是一个工作能力很强,把每一件交代给他的事情都能完成很好的人,他的技术能力可能并不需要很牛,原因我上面也提到了。但是,作为一个技术人员,提升自己的技术实力是义不容辞的,甚至说是伴随整个职业生涯的。作为一个有追求并热爱自己工作的码农,肯定会想尽办法来提升自己,但这并不代表对其他的事情你可以什么都不想。我个人在这种走极端处理事情的方式上已经吃过很多亏,俗话说吃一堑,长一智。我觉得肯定是有办法来平衡这两者的。

周围有一个同事A,基础很好,名校毕业,让我一时间崇拜不已,心想,人家咋就那么NB呢,我为啥这么渣呢?!冷静下来仔细思考,一个人之所以能够达到他现在的状态,是受很多因素影响的,家庭环境,教育条件,努力程度,甚至是天赋。总是有那么几个人能够360°完爆你。我不想给自己灌鸡汤,也不想把这篇文章变做一碗鸡汤。事实就是很多人是比你强的,但是一时半会又追不上。怎么办?“日拱一卒”即可。

发现周围有厉害的人进而发现自己的不足这是正确的,但是妄自微薄却是错误的。总不能说他比我厉害我就不活了吧。生活还是要继续往下走,你现在意识到不如人家,哪里不如人家就可以一点一点的努力补上来,就算你到最后也追不上他,但是如果能一直保持你们之间的那个距离,是不是也算是一种进步呢?所以,为了弥补自己在技术上面的不足,我宁愿每天晚上拿出2个小时来看书,算法不好我补算法,Linux系统我不懂就刷apue。天长日久,付出一定会得到回报。

不要抱怨没成长

刚毕业的码农们都希望自己在技术上有着突飞猛进的成长,当你刚刚进入一家公司的时候这种感觉是最强烈的。但是天长日久,你很快就会发现你的工作内容已经对你的技术实力的成长没有多大帮助了,这个时候人就会感觉到慌,害怕,觉得自己如逆水行舟不进则退。这是一种非常普遍的现象,当然,我说的是那些对自己的前途有着理想的人,参加工作之后混吃等死的并不在我说的这一类人中。这个时候怎么办?靠天靠地不如靠自己,不要想着让别人给你创造一个让你快速成长的环境,抓紧时间提升自己。在技术方面制定一个计划,多看书,多实践,在提升自己实力的同时也在等待着机会。毕竟机会都是留给有准备的人。指不定哪一天就有一个从0到1的项目叫你去做,那个时候你就会庆幸自己在成长饱和期内没有浪费时间。总的来说,能不能成长靠你自己,总抱怨是没用的,与其怪罪他人没提供给你一个可以锻炼自己的事情和环境,不如马上行动起来,自己动手,丰衣足食。

学会承担

任何一个人的工作不是独立的,而是融于某一个团队之中。预估给每个人分配的任务都是一种假想:假定你在规定的时间内能够完成预估的工作。规定时间内完成不了的现象不说,当你在完成被分配的工作之后,并且还有一些冗余时间你会怎么做?去看一些自己想看的技术文章,还是去问问其他人有没有其他的工作可以帮着分担一下呢?

其实这两种想法都没有错,你去看技术文章可能是出于对自己负责,想提升自己的实力更好的工作,这无可厚非。但是如果你能够主动的去帮团队内其他成员分担一些繁重的工作,说明你更加成熟,考虑问题更加全面,想用自己的力量让整个团队的效率更高。

之前的我可能是比较自私的,我是属于那种工作完成就想去看技术书籍的人。但是最近的一些事让我感受到,我不单单需要技术上的成长,同时也需要工作能力的提升。我想观察下自己,是否有能力能够帮助整个团队做好一件事情并且一直向好的方向发展,这也是我在预判自己以后的职业走向的一种方式。团队和个体都是互惠互利的,当你想向团队索取的时候,先想想自己为团队贡献过什么吧。

return 0

经历多了,才知道一个优秀码农并不仅仅是技术上的优秀,还有很多因素制约着一个人的成长。上面说的几点,我现在仍然还没有做好,写这篇文章也并不想站在道德的制高点去贬低谁,只是觉得,既然发现了问题,就要思考问题,然后解决问题。

下一次,将会给大家带来另外一个话题:程序员,你的生活不仅仅只有工作。请大家敬请期待吧。