开发者如何在一周从入门级到专家级别的修炼

今天没事逛quora看到一个有趣的问题,“ How do I become an expert level programmer in a week?”——一周内如何从入门到专家级。作为工作几年的人都知道这是一个可笑的问题,正如知乎上问《 有哪些在下班后的闲时稍做点,就有 3000 元月收入的兼职?》,市场上浮躁的教科书
看到这个问题问题,第一反应就想怼,怼,怼……

稍微冷静下,觉得先看别人是怎么回答这个问题的,后来发现网友 Paul K. Young (谷歌工程师,康奈尔大学)的回答非常优雅,下面是译文
========================================
第一天、介绍入门级,阅读《计算机程序设计艺术》系列丛书并且完成每章后面的习题。(假如你想精敲细推那就先学前三卷)
第二天、C++,阅读并熟记C++ 2014标准。精通理解lambda匿名(lambda),移动语义(move semantics)和模板(templates),包括实现原理。
第三天、熟悉操作系统使用技巧。把《linux使用手册》读完,并且精通使用一个文本编辑器(emacs是我的最爱)。
哈哈,到现在你已经掌握了大部分基础知识了,是时候进行实践。
第四天、操作系统技术。实现一个操作系统:支持多进程多任务以及传输协议栈,传输协议将在第五天会用到。(仅用一天的时间实现TCP/IP协议栈的工作量虽然有点大,不过我相信你能完成并为此替你骄傲。)【译者注:作者心机表】
第五天、实现分布式云计算。实现一个基于硬件负载均衡、持久化存储和分布式数据库的云计算框架,另外还需要性能度量、订单功能、极限存储。【译者注:本人不懂云计算概念,希望网友帮忙指针,metrics, billing, edge cache】
第六天、app和web应用开发。开发一款基于IOS、android的app应用和一个网站。(桌面应用就没必要了,毕竟他们快要被淘汰了)
第七天、复习回顾。通过将近一周的学习你已经掌握非常多的开发知识。回顾之前六天的学习内容进行查漏补缺。最后恭喜你,你可以开始投简历了!


说实话, Paul K. Young 的回答非常优雅,把专家级别工程师大体的知识体量说出来,让提问者具体问这种问题有点可笑。要是我来回答这个问题,只能“不可能,不可能,不可能(重要的事要说三遍)”,就像平时反驳产品经理明显不合理的需求一样。但是人家作为高级工程师,非常优雅的列出了一个准专家级的知识树,积累体量,足见功底扎实。一般功夫越好的人处理事情越是稳重,刚毕业那会有个武大的组长带我,性格非常好,无论产品多么急,他都能慢条斯理的解释清楚。因为看到这个回答非常好,所以情不自禁的翻译了。
原文链接

猜你喜欢

转载自blog.csdn.net/SweetTool/article/details/77281448
今日推荐