关于技术型成长的一些建议
by yaobin.wen
若干年后,不要自己去找工作,而要让工作来找你。如果想达到这个目标,我建议从下面的几个方面入手去做。
向别人展现自己做的工作。比如做完一个功能之后,可以主动找别人去聊一聊。比如可以聊一下自己的思路和设计,然后看看别人有什么想法。两个目的:一方面别人或许可以提供新的思路或者技术,从而自己可以学到新东西。同时也让别人知道了你自己做的东西,下次同事遇到问题的时候,他能想到你。
保持好奇心,不要给自己设限。不要认为自己是做前端开发的,于是坚决不碰后端开发。不要认为自己是做软件的,于是坚决不碰硬件。当然,现实中我们无法学习所有的东西,但是不给自己设限,就让自己有机会得到更多的成长。同时,我个人认为”团队合作”中很重要的一点就是”愿意去做团队需要做的所有的事”。当然并不是说自己没有focus。我个人认为可以这样处理:可以表达自己愿意做团队需要的任何事情的意愿,但同时表达出来如果允许的话,自己会希望更多地做哪个方面的工作。
记录工作日志,包括:
- 自己做的具体的任务。如果公司有任务跟踪系统,也可以不记录。这样做的目的是事后帮助自己回忆曾经做过的事情,更新简历或者和经理谈话之前可以做准备。很多时候如果不及时记录下来的话,一些小事就会忘掉。
- 遇到的但没有时间立刻去研究的问题,这可以成为自己下一个学习的目标,比如某个软件库的详细用法。
- 对某个问题的新的思路,将来可以深入研究。
- 工作中发现的问题。将来可以通过和经理交谈,一方面让他知道你的责任心,一方面他会感谢你的认真负责,同时让团队可以有机会解决问题从而变得更好。
- 原本没有计划,但是因为意外情况而需要做的工作,尤其是那些需要帮助队友做的事情。这个很重要,可以用来做事后分析。意外状况往往意味着有些地方需要提升。
对于自己做的每一个任务,都想想能不能把它做成自己的showcase任务,或者说,如何能把一个任务做成自己的showcase任务。所谓showcase,就是将来找工作的时候可以拿出来讲的事情。例如,通过某个任务你深入学习了某项技术,或者充分展现了你的团队合作精神,或者锻炼了你的leadership,等等。
充分利用工作中的资源去学习和提升,而未必一定要做side project。例如:
- 深入学习工作中涉及到的编程语言、工具、程序库等等。一方面可以学到更多东西,一方面熟悉了工具之后,新的工作可以更加游刃有余,给自己减少压力。
- 通过发现工作中的问题,并和经理以及同事讨论这些问题,可以给他们留下深刻的印象。同时通过主导这些问题的解决,你可以锻炼leadership,同时可以学习到新的知识。
不要仅仅学习编程语言和算法,要学习整个计算机系统,例如操作系统,例如网络,例如信息安全。这些都是刷题可能不会刷到但是实现一个系统必须的。
不要满足于workaround。有时因为技术原因,我们必须使用一些workaround来暂时绕过一些问题来让系统工作起来,但这往往意味着背后有问题需要解决。
不要满足于”oh it works if I do this although I don’t know why”。这往往说明自己对目前的代码、库、或者工具还不够了解。抽时间去深入学习,这样一方面可以学习更多东西,一方面可以让自己对手头的工作更熟悉,做起来会更游刃有余,给自己减少压力。
去考业界的认证。这种认证是对你能力的证明,同时也可能成为敲门砖,同时也督促自己学习。当然要去事先了解那些方面的认证值得自己去学习。
经常看Hacker News网站。这个网站会经常发布一些新的技术文章、工具、程序库、产品等等。并不是说所有的东西都要去学习和跟进,但是通过浏览或许会发现自己感兴趣的内容。另外一个用法就是:把可能和工作相关的帖子分享给同事,一方面帮助大家了解新的内容,一方面也让大家明白你在跟进技术发展。
Tags: Tech