如何成为10倍速的程序员

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

国外有个词叫做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带来快乐,以下是收集了以下神注释,希望能为广大程序员们带来快乐,缓解你们工作中的压力

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

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

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

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