如何成为10倍速的程序员

时间: 2017-12-20阅读: 281标签: 程序员

国外有个词叫做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的区别并不是很大,如果不是在大量重复的循环语句中,不要在乎那点内存浪费。不完美的成果会在快速迭代中解决。也许你过度优化的时间成本足够为服务器加一条内存了。


来源:https://www.cnblogs.com/takeurhand/p/8068071.html


程序员如何在百忙之中不走岔路,不白忙!

程序员忙,似乎是个公论,有些程序员甚至会认为,不忙的程序员无法快速地进步,从而会落伍。不忙的程序员不多,至少我见到的程序员都很忙,如果各位程序员朋友在阅读本文时产生共鸣,那么本文就没算白写。

程序员笔名、别名_适合程序员的英文名字

一个厉害的程序员,都会有一个牛逼哄哄、有辨识度有个性的英文别名。在公司同事中很更好的称呼,这篇文章翻译整理了一下适合程序员的英文名字

程序员_代码神注释鉴赏大全(可复制粘贴)

程序员个性注释,让你的代码飞起来。一时兴起就收集了以下神注释,希望能为广大ITer带来快乐,以下是收集了以下神注释,希望能为广大程序员们带来快乐,缓解你们工作中的压力

程序员如何在小公司成长和大公司学习

读万卷书,不如行万里路,行万里路不如跟随成功人的脚步。其实我们在小公司就如行万里路,我们只有多做多学在可以迈出去。在大公司就我们就要跟随成功人的脚步,就是你们公司的架构师和高级开发,去了解他们。

程序员养生攻略_程序员防猝死指南

程序员在其职业生涯中,健康问题尤为突出。但是大部分程序员只顾码字,却往往忽略了自身的健康问题。这或许是因为写代码太入神,也或许是因为来自老板的压力太大。

程序猿跳槽季,为什么你的薪水总升不上去?【转载】

现在身处跳槽高峰季,作为即将跳槽的我,在这里分享几点建议给大家。众所周知,找工作的前提是面试,面试的前提是过了简历,过了简历的前提是你怎么投。

论程序员成长的正确姿势

何为成长?成长是指自我提升,一方面是本身的个人能力,另一方面是社会对你的认可度。最终,程序员的职位和薪水都能在成长中得以体现。很多人对成长有误解,在他们眼中,随着工作年限的提高,成长是理所当然的事情,这其实是一个误区。

一个程序员送给大学生弟弟的那些话

分析自己的处境; 做适合自己的选择; 以成长为目的,担负起更多责任,打破对做事的认知; 把握机遇,去锤炼自己; 抛弃一些懒惰,多一些积极;向牛逼的人靠近,向给你提供条件帮助你学习的老师靠近。以上结合了我自己的经历,希望文章能更形象。

程序员和用户

我曾经说过,程序员不是一般的人,是具有某种超能里的人。但问题是,程序员往往意识不到自己的这种特异功能,在他们的眼里,会认为自己很普通,跟常人一样,所以,程序员能做到的事情

程序员的思考:一年管理成富翁,三年市场路路通,十年技术一场空

程序员的思考:在中国,做技术的出路非常有限。首先做技术需要跟对老板,其次做技术的要和老板有共同的价值观,再有最最重要的是需要有一个好的身体。