关闭

如何成为10倍速的程序员

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

国外有个词叫做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


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/262

关闭

如何识别程序员编码水平:初级?中级?高级?

作为开发人员的初、中、高级并不仅仅与拥有多少年的编程经验有关。有时候初级开发人员甚至可能比高级开发人员年龄大。同样,这也这并不意味着高级开发人员必须成为所有人的专家。不过可以肯定地说

最让程序员抓狂和崩溃的事情是什么

对于非程序员来说,程序开发看似一个非常不错的工作, 有着较高的薪资、市场需求量也很高,互联网公司还提供了各种各样的补贴福利等等。 然而实话实说,这份工作可能一天之内有好几件事能把一个普通程序员逼迫抓狂和崩溃

如何从初级程序员变成高级程序员?

这种按工作年限的分类存在一个问题。那就是:它对软件开发的质量只字未提。在工作的那些年里你到底获得了多少经验和技能?这正是面对开发人员的求职和面试如此复杂的原因。度量技能是很困难的

程序员的晋级之路_从青铜到王者

身为程序员的你现在是在哪个阶段,又要达到哪个阶段呢?希望我们大家都是不断进步的,现在程序员的市场还是很大的,我们可以发展的空间也是不小的希望大家都能把自己最大的价值发挥出来

程序员的工资到底花到哪里去了?

大家都知道,程序员是一个比较公认的高薪职业。小王就是北京的一个程序员,在中关村上班,现在月薪也有2万出头了,扣掉个税和五险一金,一个月到手也有1万5。

人到中年的程序员,请提前准备好 Plan B

中年程序员的生存现状已经是老生常谈的话题了,有多老呢?十年前,就有一位网名“johnfx”的程序员谈过这个话题,并且专门为此写了一篇文章。随着中年程序员生存现状的话题再次成为热点,这篇文章被顶到了 HackerNews 网站的首页

程序员应该怎样提高自己?

经常有小(我 20 岁左右的)朋友问我,作为一个程序员该怎样提高自己。每个人的经历不同,所处环境不错,其实这个问题很难具体回答。不如好好写一篇总结,以后就不必每封 email 都重新写一次了。

程序员生存宝典,平时需要注意的一些“潜规则”

对普通的中高级管理岗,也始终坚持从内部提拔。至少我眼力所及,在公司服务的10年时间里,还没见过一个空降的中级管理岗。做技术 的,可以转管理,可以转架构,也可以转教学。

怎样才能叫高级程序员?

当一位同事说出了文章开始我引用的那段话之后,我意识到我们已经迷迷糊糊地碰上了一个对于整个公司来说都非常重要的问题:我们无法为我们想招聘的角色下一个定义,也不知道我们该怎样培养我们的程序员

程序员与性生活

人都是需要自我成长,而不是结对编程。永远年轻,永远热泪盈眶。看见优秀的代码依然会内心为之触动,看见那些垃圾代码忍不住想给它删个精光——这就是你要保持住的赤子之心啊。要记住啊,不忘初心,如果你当时只是为了挣钱而去做程序员,那么你是为什么走到了这里。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!