“成为一个杰出的程序员!”,每个程序员都是这么想的,虽然嘴上不说!这是一个人人自称“屌丝”,骨子里却都认为自己是“高富帅”(或者认为自己终究会成为高富帅)的年代!
大部分时候,我们一直在努力成为一名优秀的程序员。但是,更多的时候,我们并不知道如何成为一个优秀的程序员!
怎样成为一个优秀的程序员?
完美主义?注重细节?懂用户需求?恩,听起来都有道理,但又觉得很虚,难以实施!
选(fang)择(fa)比努力重要,一味只会埋头苦干的人,注定成不了杰出的程序员,有时候,我们需要停下来:思考!
我不是一个杰出的程序员,甚至可以说不是一个正统的程序员,所以没有资格来给出一个好的答案,但是“课程格子”的李天放工程师给出的答案,觉得很是认同。分享给大家:
首先, 我认为答案绝对不是 “只要写很多年代码就好了“。我面试过不少有10年经验,代码却写的很糟糕的程序员。经验很保贵, 但只靠经验是不够的。就像下棋一样,假如你用心研究,复习,不断挑战自己,也许可以成为一名大师。但不断用懒散的方式去玩棋,下20年也只是一个”臭棋篓子“。
我觉得比较有用的进步方式:
1. 学会看代码
大多数程序员都只愿意用自己写的代码,但高手一般可以轻易调用别人写的代码。表面看上去是工作习惯不同, 但实际上是能力上的差别。看代码要比写代码难很多倍。
我建议上班时多给队友们作code review,下班后试着阅读github上的开源代码。
2. 复习
程序员一般都很忙, 手上有永远也做不完的活儿。但在某些公司里, 你只是在反复做同样的事。偶尔放下手上的活儿,留下一部分时间来分析自己的弱点,更改坏习惯,看新书, 或学习新语言。
3. 做个人项目
工作中的编程一般只能让你熟悉一部分技术, 导致漏洞的形成。这就好像你长期一个人在自己后院练习投篮, 但第一次打比赛才(在惨败中)发些原来还需要传球, 防守, 强篮板这些概念。
Facebook喜欢雇佣所谓的 “full stack programmer”,就是一个人从设计,到交互,到html, css,javascript, server,sql, 架构,和数据统计都能做。成为full stack programmer最好的方式就是不断做个人项目。
4. 问答网站
问问题和回答问题都是很好的学习方式。 有的时候写出一个好问题, 比写出解答次问题所需要的代码还难。写问题可以帮你整理自己的思维逻辑。你可以试着每周在http://stackoverflow.com上问一个好问题或写一个好答案。
5. 加入一个好团队
最好的进步方式就是跟比自己强的人一起做事。高手都愿意聚在一起,所以很多会选择去优秀的早期创业公司。我在硅谷和创新工场创业时遇到了很多神人, 跟他们学了不少东西。
恩,就这么多吧,希望自己有朝一日,能成为一个正统的程序员!
关于学习,自我修养,我这里分享一些自认为很好的网址给大家。
0:Github Linus又一神作,真正的程序员之家!
1.Quora 最好的外文问答社区
2.知乎 最好的中文问答社区
3.虎嗅 一个很有节操的新科技媒体
4 PingWest 清新的科技媒体
5.阮一峰的网络日志 有态度,文章深入浅出
6.网易公开课
7.果壳mooc学院
8.coursera
9.Matrix67 数学爱好者必备
10.CSDN cnblogs stackoverflow 这几个网站程序员该多逛逛
11.算法之道 程序员面试必备
12.前端网址导航 耗子收集的一些前端相关的网站
13.快课-程序员的自我修养 一群程序员的自娱自乐之地,IT精品资源集散地!
后面这个是自娱自乐,不要当真,当真你就赢了!
作者:快课 出处:cricode.com