你如何才能成为10倍速的程序员

转载 2018年01月01日 00:00:00

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然后用剩下9/10的时间平衡生活、爱好和未来,所以我仅把10x Programmer叫做10倍速的程序员。


也许有人会觉得这种定义太过狭隘,没错,确实狭隘。不同的程序员处在不同的技术水平阶段,有着不同的人生追求和生活诉求,我谨以此文让大家换个角度去审视这个职业,也许你会有些感触和启发。


Keep You Sane


这是我很喜欢的这句英文,保持清醒。我希望所有人都能做到工作和生活的平衡,有更多的精力去做自己爱做的事,陪自己爱的人。这是本文的最终目的。


善用工具


业界有句话叫做“不要重复造轮子”,人类就像一台内存有限、CPU有限、硬盘有限的服务器,既然可以选择调用API,就不要试图在本地跑各种服务,那样只会让自己变得臃肿、耦合、满负荷。


像Beyond Compare(代码比较合并), Notepad ++(关闭时无需保存), Chrome(现代浏览器), VPN(google必备), FastStone Capture(截屏、测量、录屏、取色等)、Chrome 翻译插件(快速翻译网页英文)、反编译工具(不同语言开发者各异)、CookieInjector(cookie注入工具)等。这些工具可以说是程序员必备的,没有下载的可以下载,最后一个在github里搜。


不要记忆


不要记忆。这个观点同样狭隘。但我认为把JDK源码看一遍这种事大可不必去做。如果你把JDK装载脑子里占用了太多"硬盘"不说,还浪费了过多精力。我建议的做法是索引。还记的索引的定义吗?它就像是一本书的目录。我通常会记一遍JDK的API列表,知道哪个Function对应在哪个库里。当需要的时候去取就可以。我相信做过数据库的都应该知道索引的意义和用处。

举例来说,你记住concurrent包是用来处理多线程的,你记住反向代理有nginx、Apache,你记住python适合计算、Java库比较多、C++适合原生、Zepto适合移动终端、XML比Json占用更多字节、SVG比PNG更适合比例放大、无论Mysql/Oracle/SQLite/Cubrid都是ANSI SQL类似这样就足够了,用什么才去取什么,无需都记在脑子里。只需记住,在哪里能找到答案就可以了。


善于记录


即使你的思维再清晰,也需要记录。正如“好记性不如烂笔头”这句俗语所说。把需要做的工作,手头做了一半的工作记录下来,然后可以迅速的切换自己的思维到生活状态。当然,翻开自己的TODOs也可以迅速切换回工作状态。现在手机电脑都可以下载各种各样的记事本,像Evernote、有道云笔记这种有checkbox、列表的,完成一项勾一项。


博客。这种最原始内容载体,开放于互联网,不限于某个产品的生态圈。在你记录博客的同时,你重新审视了自己的技术,并且为了复述清楚,你会更加谨慎的思考技术逻辑。同时,假如你陷入了某些思维误区,会有热心的朋友帮你指出,共同进步。


设置闹钟


程序员都是专注的。即使你生性不是如此,也会在长期的职业生涯中渐渐变得专注、谨慎、注意细节、逻辑清晰。但是正因为这份专注你可能陷入思维的死循环中。当你低头专注于某项技术的时候,外界的技术每天都在快速的迭代、增长、创新。正式这份专注可能会让你错过很多东西,就好像一个bug嵌套另外一个bug,你整天都在解决bug,然后就陷入了递归、for、do...while里面去了。你需要设置一个触发器(trigger?break?whatever),让自己跳出自己的思维,重新认识这个世界。这里我说的不仅仅是技术,而是一种思维,跳出程序员的思维,也许……你会有女朋友的。


闹钟的作用就是叫醒你。当你无法解决一个问题是,放下,换个角度,也许用10分钟就可以了,而不是你钻研一个晚上。


广交朋友


技术是不分城市、国界的。有时候与其闭门造车,不如结交一些像尤雨溪、stormzhang、justjavac、Sean Larkin、caiyongji这样的人。他们的观点和技术分享是引领国内技术潮流的(虽然最后一个比较渣),和他们探讨技术也是别有一番乐趣。我有幸有上面其中几位的微信,比如caiyongji的微信是takeurhand。


当你遇到技术难点需要攻克的时候,可能牛人们已经遇到了,与其上网搜索,不如直接和牛人们探讨。


善用口诀


口诀是需要记忆的东西。比如快捷键、JVM优化方法、SQL的执行顺序、数据库分库分表技巧、锁的原理、内存结构。这些是IT界的元素周期表。


放弃完美


String和StringBuffer的区别并不是很大,如果不是在大量重复的循环语句中,不要在乎那点内存浪费。不完美的成果会在快速迭代中解决。也许你过度优化的时间成本足够为服务器加一条内存了。


Relax! 准备好迎接你的2018吧。


公众号内回复“1”带你进粉丝群!

你如何才能成为10倍速的程序员

点击上方“iOS开发”,选择“置顶公众号”关键时刻,第一时间送达!国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1...
  • olsQ93038o99S
  • olsQ93038o99S
  • 2017年12月31日 00:00
  • 1997

如何成为10倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然后用剩下9/10的时间平衡生活、爱好和未...
  • takeurhand
  • takeurhand
  • 2017年12月19日 22:28
  • 80

如何成为10倍速的程序员?

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然后用剩下9/10的时间平衡生活、爱好和未...
  • qq_41077703
  • qq_41077703
  • 2018年01月09日 13:53
  • 12

如何成为 10 倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然后用剩下9/10的时间平衡生活、爱好和未...
  • tTU1EvLDeLFq5btqiK
  • tTU1EvLDeLFq5btqiK
  • 2017年12月23日 00:00
  • 163

你如何才能成为10倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然后用剩下9/10的时间平衡生活、爱好和未...
  • adolph_yang
  • adolph_yang
  • 2018年01月09日 22:03
  • 42

如何成为一名优秀的程序员

无论做什么工作, 都希望能做到最好, 就像参与一款游戏, 每个人都希望能赢到最后. 工作自然也会有其”秘籍”, 让我们更快的实现目标. 有些工作五年的程序员仍然很平庸, 也有刚学一年就技术出众的天才....
  • u012515223
  • u012515223
  • 2016年05月16日 17:30
  • 2532

如何成为一个程序员高手

程序员学习编程需要攻克的8个障碍 2015-06-17    分类:程序员人生、首页精华7人评论 分享到:更多8 本文由码农网 – 王国峰原创翻译,转载请看清文末的转载要求,欢迎...
  • boshuzhang
  • boshuzhang
  • 2016年04月01日 15:45
  • 1185

《你好哇,程序员》—教你如何成为一名牛X的程序员

关注安大哥应该是从《漫谈程序员系列》博客开始,他的博客语言幽默风趣,逻辑清晰,而且经常配以丰富的图文,非常直观和容易理解。 再后来了解到,安大哥刚好与我一样也是从事C++开发,就又多了一个关注的理由。...
  • anda0109
  • anda0109
  • 2016年05月03日 22:45
  • 2388

如何成为一个优秀的程序员(宋劲杉)

标签: 程序员编程语言嵌入式行业前景建议 2013-05-30 18:30 1870人阅读 评论(0) 收藏 举报  分类: 职业规划&时间管理&思维方式(2)  ...
  • lin111000713
  • lin111000713
  • 2017年02月09日 09:36
  • 1021

如何成为一个牛逼的C/C++程序员?

这个题目的噱头太大,要真的写起来, 足够写一本书了。   本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走弯路。   每个人的情况不一样,我下面的描述可能并不适合每一个看到这篇文章...
  • chinabhlt
  • chinabhlt
  • 2015年03月12日 23:45
  • 745
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:你如何才能成为10倍速的程序员
举报原因:
原因补充:

(最多只允许输入30个字)