原作丨Matt Gowie
编译丨张诗元
许多程序员在拿到Offer之后的另一大心头难题就是:究竟该如何努力、实现快速成长,并在职场不断进阶?如果你也有这个问题,接下来的这五条方法你应该谨记于心!
寻找导师(Finding a Mentor)
一个程序员若想要不断提升自己,最好的方式之一就是和一个知识储备比你丰富得多的人保持联系。说实话,没什么能取代结对编程(Pair Programming)、或收到资深工程师严苛的代码审核。通过这两种方法,你能了解他们解决问题的思路、理解他们的观点、同时观察他们的编程工作流。你应该学会这些技巧,并将其融入自己的工作中,这些将对你完成手边的工作起着至关重要的作用。
读到这里,可能很多读者会想:“我当然知道我需要一个导师,但是我不知道怎样才能找到这个人。”考虑到每个人不同的情况,寻找一位导师并不是一件简单的事,那么我们就来说说如何寻找你的导师吧。
首先我必须声明,导师和学员的关系并不一定是直接明了的,他们间也不会签署类似“某某将对我进行为期六个月的指导工作,具体成果将于指导工作结束后再做具体评估”这样的文件。通常情况下,你的导师一般只是一个你经常与其交流的人。也许你只是问了问他们一些编程的问题,或是寻求过他们的帮助,但下次同样的情况再出现时,你就能看到自己的成长。
图源丨Entrepreneur
其次,你的导师可以是任何人。以下就是一些例子:
最常见的情况就是,你的同事就是你的导师。一个和你用同一个代码库、或是一个和你在同一个公司工作的人最有可能成为你的导师。他们会希望你的代码能够有所提高,因为他们的工作也能因此更轻松,同时公司整体也能运转得更顺利。所以去问问某个同事吧,你又不会有任何损失。
你的朋友也能成为你的导师。如果你认识一个早你几年毕业的朋友,他碰巧还对某某framework了如指掌,并且正就职于一所优秀的企业,那你就可以去问问他能不能看看你的业余项目,或者想不想和你一起做个项目,这样你就能更好地向他学习了。
通过网络寻找。有一些网站提供导师配对的服务,但是这种服务会收取一定的费用,所以它可能并不适用于所有人。不过如果你追求的是一种直接明了的导师、学徒关系,这也是个好的途径。Bloc.io和Codementor.io就提供这样的服务。
参与科技社区
“积极参与科技话题的讨论、向社区提出问题”也是一个工程师成长的关键之一。你可以参与社区讨论、学会最有用的操作,也能够在他人的帮助下解决那些纠缠着你的恼人问题,同时还能扩大你的交际圈。针对这种情况,我向你推荐以下几个社区:
Slack社区。现如今几乎哪里都有Slack社区。几乎所有语言、大部分框架以及像代码整洁这些基本的问题,在Slack社区里都有相应的渠道。所以加入一个Slack社区吧,和其他人聊一聊,提提问。
用好Twitter。或许你并不热衷发推,但是你可以在Twitter上关注你所在领域的其他人。也许你有一个每天都会使用的开放源码库?不妨关注那些编写了这个源码库的人,你可以通过他们发的一些有趣的话题对这个源码库或是这种特定的语言更熟悉。
线下见面会(meet up)。全球每个城市都会有很多讨论软件开发的见面会。在这里,阶层不同经历各异的人们相聚在一起互相学习。参加一个你所在领域的见面会,和其他人一起喝喝酒聊聊天,你一定会有所收获,说不定还能获得不少乐趣。
阅读参考资料
阅读是增长知识、提高水平另一个至关重要的因素。通勤时间长或是晚上睡不着?别玩游戏了,找本书读一读,或者是看计划中早就该看的Jeff Atwood的博文。
我建议先广泛地阅读。类似《Clean Code by Uncle Bob》这样的软件开发相关书籍都值得一读,因为哪怕你从现在起六个月后才学会$NEW_HIP_LANGUAGE,书中的知识都能够在实际中得以运用。如果你已经积累了一定的阅读量,你就可以开始选择自己特定语言和框架的材料。别忘了还要看看你所工作的行业内那些佼佼者的博客。
业余项目
关于业余项目我所能说的只有一句话——你应该有一个。至少一年要做出一个完整的项目,否则都不算有业余项目。这就是你将从阅读、网络社区以及导师交流中获得的知识付诸实践的时候,甚至你还可以炫耀一把。你没办法把之前工作中的运行代码直接运用到新的项目里,也不能把它们放在你的GitHub上,因此拥有一些公开的repo能够有力地向他人说明,你对你所在的领域很熟悉。
软技能
最后,你的软技能也许是最重要的一部分。作为一个工程师,如何高效地和团队内外的人工作是极其重要的。哪怕你能写出最整洁最顶尖的代码,如果没有人愿意和你一起工作,那也无济于事。如果你的同事无法在你身边愉快地工作,你也无法工作得舒心。
对此,我的建议是:听从别人的反馈意见。问问你的经理应该怎样更好地和团队合作,告诉他们你想在你的评估里体现团队成员的反馈意见;如果你是一个自由工作者,当你要将要结束和一个客户的来往时,问问他们你们之间的沟通是否能够得到提高,问问在你的工作过程中是否出现过任何障碍。尽管在很多时候这些话很难说出口,但是从长远的角度来看,这些努力都是值得的。
总结
软件开发不是一个简单的工作,你需要不断地拿出成果,不断学习新的知识,还要应对好这个行业高速的发展。但是,保持一个良好的心态以及采纳上述的建议能够帮助你稳步成长、保持理智。记住,成长是需要时间的,相信自己一定会有所收获的,祝你好运!

后台回复“资源”即可下载海量免费学习资源
你可能错过了:
继续阅读
阅读原文