HACK TALK 对话前辈 分享成长
杜万,Coding.net 的全栈工程师,目前负责 WebIDE 项目的架构和开发。
他从事了近10年以Java语言为主的软件开发工作,热衷于整合框架和开发工具,关注交互设计,喜欢写技术博客,Linux拥趸。近期开始学习和关注 Elixir 函数语言。
在我司,他常被称为“杜叔”。杜叔是个很聪明有趣的人,但是在和他的交流过程中,他却多次提到“技术学习在于不取巧”。今天的HACK TALK,我们就邀请了杜万来分享一下他“不取巧”的技术成长经历。
首先 为什么要做开发?
十二年前,在杜叔在刚去读大学的时候,有个活动叫做“希望四年之后的自己成为一个什么样的人”。这个活动促使杜叔去用自己的好奇心探索未知的领域和模块。学地质工程的杜叔在这其间对学习计算机产生了浓厚的兴趣。
解密的过程,解决问题的成就感和对复杂事物的好奇心都让杜叔着迷。杜叔幻想着用计算机重构一个世界,实现自己的想法。这大概也就是黑客与画家的共通之处吧,他们都是创造世界的人。
0→1 做一件特别有挑战的事情
杜叔毕业之后,还是一只懵懵懂懂的技术小菜鸟。这个时候他的任务是独立做一款产品,从设计到开发到维护。
幸好当时有相似的产品可以参考,任务逼着他啃下了一份源码。
这是杜叔技术成长路上的0到1了,任务的巨大压力激发了很强的学习潜能,杜叔用最笨的办法应对,啃源码这种事情,不聪明也不取巧。但是打下了扎扎实实的基础。
碰到问题不要怂,踏踏实实的一步一步解决,这种时候不能取巧,要让完成的过程是可重现的,这样心才不虚。
修炼:知识的增长本身就是一件很有快感的事情
杜叔的第二份工作,在一家传统的软件公司,任务并非难以完成。但这一段经历确实杜叔从量变到质变的过程。杜叔是一个非常喜欢读书的人。杜叔的 kindle 上满满的全是学习的书籍。并且乐于和同事交流,和同事聊天的时候口头禅是“有道理。”虽然是个开发者,但是我们每次讨论产品讨论市场活动的时候杜叔也喜欢旁听,扩充自己。
完美主义的性格让杜叔不乐意在知识上留下瑕疵,并且非常注重系统的学习,在学习技术的时候,杜叔都会尽量保证全面的去看一本书,并做补充阅读。光读读书笔记或是一些公众号推得一两篇文章对自己的成长是非常有限的。是的,哪怕是 coding 的公众号(严肃脸)。
杜叔同事也是个特别喜欢折腾工具的人,这虽然不直接产生价值,但是非常有快感。杜叔说他带了五年的程序员,好的程序员都喜欢折腾电脑里的所有小工具,不乐意折腾的人,一旦碰到具体的问题,还是一样会花费许多的学习成本。
至于学习的动力,杜叔直言:“知识增长的本身就很有快感。”而且,知识的积累总会在不经意间给你小惊喜。
工作 终身雇佣制已经结束了
找一份好工作,然后一辈子养老的终身雇佣时代已经结束了。现在的公司,更像的是一群想做同一件事情的人的联盟。
可是,当自己的能力配不上自己的梦想的时候怎么办?或者暂时还没找到自己梦想的新世界怎么办?碰到问题的时候,摆在面前的两个选择其实是这样的:
①换公司,这不一定是一个好选择,能力不够的人往往去哪里都没有机会。
②想方设法把自己学习的东西在当前场景下用上,取得信任,获得资源,双方共赢。
杜叔用他的亲身经历给了我们答案。杜叔在第二家公司自我修行了两年。开始寻求一些机会。杜叔清醒的认识到:给公司创造价值才能获得更多的资源。努力了一年之后,在公司的支持下,杜叔内部创业做了 bsdn.org ,一个开源平台。把自己想要运用的技术都实践了一次,同时也看到了运营对于一个产品的重要性。
困境 最后一个逃兵
bsdn.org 产品完成之后,纯技术团队看到运营的事情就傻眼了,不会做也不想做。完成了一个产品之后的成就感并没有保持多久。缺失的运营让产品没有获得预期收效,这让团队的情绪非常低落。杜叔的团队开始出现了逃兵。在进行缓慢的迭代和更新之后,依然没有起色。团队的出走越来越严重。最终只剩下杜叔一个人的时候,杜叔也黯然选择了离开。
产品的失败会导致团队的溃败,这是杜叔没有想到的。但这也让他深刻的意识到技术和产品以外的事情也是很值得重视的。
这不是杜叔第一次碰到团队的问题。
早几年,杜叔建立团队的时候,很喜欢带刚毕业的程序员,他们聪明,年轻,有大把的机会。杜叔由于自己的经历,深信要有独当一面的机会人才能得到成长。所以很乐意给年轻人机会。但往往他们并不珍惜,碰到困难倾向于逃避。导致杜叔在新人身上的付出并不会得到相应的回应。之后,杜叔在组建团队的时候就更倾向于招聘勇于争取机会的人,并且会更看重责任感和钻研精神。
成果 WebIDE是前两段经历的合成
提到做 WebIDE 这款产品的时候,杜叔首先肯定:这是他前几段经历的合成。所有的沉淀与积累都在这款产品上得到释放。
其次他提到了一个细节:在 WebIDE 做技术选型的时候,可以在已有的开源项目上做二次开发,达到迅速上线的目的。但是考虑到希望能用 Docker 给用户更好的体验,选择自己搭建分布式的微服务架构,以提高云服务的稳定性。杜叔相信,一时的取巧,往往会带来以后的麻烦。
问题 Google 是最好的老师
你碰到的问题99%别人都碰到过,你的问题常在 starkoverflow 上可以找到答案,英文不好的话还有 SegmentFault。在一些乐于助人的开发者的博客上,你会找到一些很有共性的问题的答案。有一些少见的问题可以在邮件列表里寻求答案。
Google 之后有了清晰的问题,也可以找一些高手给建议。大多数大牛们都是很乐意给好学的程序员一些建议的,不过如果你的提问太菜的话,别怪大牛拉黑你啊。“提问的姿势很重要。”杜叔如是说。
杜叔本身就很喜欢带程序员。给别人 debug 的建议对自己来说也是很好的温故与成长。
以及 健康是一切的基础
开发者工作的时候运动的是大脑,下班了之后,是不是该运动一下自己的身体让大脑休息休息了?
杜叔就是一个努力保持健康的程序员。加班不是特别凶的时候,杜叔都会去公司旁边的健身房做锻炼。(当然这也跟我司每个月都有健身补贴有关,而且练满十次才能给 T-T)
第一天锻炼了之后,第二天整个人神清气爽,工作效率尤其的高,下班之前把工作做完了,又可以愉快的去锻炼了。
最后,把重要的事情再说一遍:
杜万 from Coding.net
“不取巧,才是捷径”
关于 HACK TALK:为什么要做“HACK TALK”?
我在知乎看到了太多这样的问题:
“程序员只能工作到35岁吗?”
“学习编程的过程中可能会走哪些弯路,有哪些经验可以参考?”
“作为一个帝都码农,现在的处境很迷茫,不知道未来在哪里,我该怎么办?”
我知道有太多网站太多博客在教你技术。
可是比之技术,我更想关心你。
那些牛人都是怎么一步步成为大牛的?
他们是不是有一些小tips可以让你工作更有效率生活更舒适?
他们是不是也有过和你一样的挣扎和彷徨?他们又是怎么解决的?
如果你有问题,或是想分享。
请发送邮件到:wangziying@coding.net
有太多文章在调侃,可是我想走心。
受访人:Vangie Du
撰稿人:Bazinga Wang
本文出自 Coding 官方技术博客,如需转载请注明作者与出处。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。