44

全栈工程师自述:我的编程能力为什么突飞猛进?| 知乎4千4百赞

 4 years ago
source link: http://news.51cto.com/art/201911/606413.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

你的编程能力从什么时候开始突飞猛进?11月17日深夜,这个问题出现在了知乎上。

RBN3Efu.jpg!web

两天之内,就引起了150多位用户来分享自身经验。因为话题非常具有干货导向,也引起了大量的围观。

截止发稿时,已经被浏览了94万余次,一度登上知乎热榜。

大量关注之下,大家也开始给回答“投票”。来自李东bbsky的回答,两天获得了3.7K赞同,现在已经4.4K,被大家广泛认可。

他是一名全栈工程师,毕业于华中师范大学。

看到他的回答,也有不少人还通过评论表达支持,也有人给出了自己的补充。

YBZ7vaZ.jpg!web

他的编程能力从什么时候开始突飞猛进?

以下是回答原文:

开始看英文技术文档和使用Google的时候。

以前学前端和后端的知识都是看w3cschool、菜鸟教程、慕课网、国内人写的一些书或收藏大量读起来并不那么好理解的文章和博客,很多知识学得比较基础而零散,知识点都是靠死记硬背强行理解的而没有动手实战。

当开始阅读英文技术文档之后,明显感觉到学的东西是很多书上没有的,知识点更加细节也更加系统,开始明白编程不应该死记硬背,要善于查阅技术文档。

zqmeMrf.jpg!web

国外的技术文档写得清晰而又详细,都有上手特别容易的QuickStart;而且很多新知识新特性也能先人一步用起来。

很多人问英文技术文档该看啥:每个框架比如vue、react、angularjs、Laravel、Django;各个Linux的版本、数据库、编程语言也有相应的详细技术文档,大多数基础教程都是在抄袭技术文档。

使用Google除了可以更加快速的解决开发者遇到的问题(百度严重不行),还能翻查Github、Stackoverflow等一些技术人聚集的社区和一些大牛写的博文。

当然现在网上的学习文章和学习资料比我刚学编程的时候要强太多了。不过仍然要注意一定不要光收藏。Github和Stack Overflow应该是程序员必知,其中在Github搜awesome是我学编程语言必先看的,比如搜awesome python。

开始再回头看经典计算机书籍的时候。

以前看过太多什么21天学会啥啥的,或者从入门到实战等这样国内的人写的书,不知道什么书是好的,也不知道该读什么书,直到通过阅读英文技术文档对编程有了更深的认识的时候,才发现大多数国内人写的编程方面的书坑得不要不要的。应该阅读经典书籍。

经典的计算机书基本都是国外书的翻译版(排名分先后):

1、动物书,也就是O’Reilly出版的系列书,犀牛书、蝴蝶书等等都是必读经典;

2、图灵书,图灵书基本都是人民邮电大学出版社出版的,可以去京东上面去找;

3、更深入一点的黑皮书(不推荐新手看),因为封面都是黑色的,所以叫黑皮书,都是机械工业出版社出版的;

4、异步图书(异步图书我看得少,不过也出版了很多经典好书)

5、清华大学出版社出版的一些书

这个时候开始意识到操作系统、计算机网络、编译原理、数据结构与算法、数据库等基础知识的重要。

如果你不知道啥是动物书,建议你去京东搜索了解一下,比如直接搜O’Reilly,看书的封面就知道了。大家可以像浏览淘宝一样在京东上多去逛逛淘书,哪怕看看目录也行。

7bAnQfA.jpg!web

开始做项目解决实际问题的时候。

做项目不仅是对知识点的一个综合应用,还要求你会一些工具链,比如Cli、Git、Docker、DevOps的一些东西,比如要理解模块化、组件等。

我学编程走了太多弯路,学得知识特别杂而泛,都是偏应用,对工程化、性能、并发等只有大团队常能有的知识掌握得很不够,因为我之前一直没有在大厂当一个“锋利的螺丝钉”,没能也没法在某个领域特别精进,注定成不了一个很牛的工程师。

所以我开始把自己踩的坑和一些经验分享给更多人,也选择走产品经理这条路。

如果你刚学编程,建议你不要只学学校里的计算机专业课程,一定要早早开始自学,多实战,在实战的基础之上,再去做项目、看经典计算机书籍,多去和BAT等企业的工程师交流。

jQjaeer.jpg!web

开始和走在技术前沿的人交流的时候。

技术更新迭代是非常快的,总是会冒出各种新的技术,产生新的技术知识体系,也会有这些技术对应的技术产品。

比如我经历过Vue、React、Go、Flutter等的兴起, 可惜没能及时跟进,及时与研究这些方向的人交流。认识很多朋友都是通过追求、学习、钻研新知识从而成为这些领域的负责人。

现在因工作原因,有机会和腾讯云云开发的技术团队交流,小程序也好、云开发也好,以及云服务都是未来一个比较有前景有潜力的技术方向。能够请教走在技术前沿的人,确实能大大加深自己对技术的理解能力。

知乎回答链接:

https://www.zhihu.com/question/356351510/answer/898448815


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK