编程成长之道——通过思考来升华自己

编程成长之道——通过思考来升华自己

原文写于 SimplyY 的博客:编程成长之道--通过思考来升华自己


我大一到大三的编程经历

SimplyY 的博客:编程学习之路

简单的概述就是:我看书、编程实践很多,尤其在做项目方面,每个学期都会折腾几个新的领域。

编程成长三个方式

  1. 看书
  2. 编程实践
  3. 总结思考

显然,我前两点做的不错,但是总结思考这上面做的不行。


我面阿里的坎坷之路

如果我给我过去三年的编程学习打分的话,看书、编程 能打80分,总结打60分,思考只能打30分。

所以我面阿里其实挺坎坷的。

  • 暑假实习生面试拿的 B++
  • 大三暑假八月实习转正,没升到 A,差点就挂了(九月的时候我都以为已经挂了,直到十月初,才给了过了的消息。)

这个坎坷的经历其实比较符合我给自己的打分。


本科喜欢动手实践的学生的困境

犹记得从实习面试到转正面试,面试官们的评价大多是:

  • 动手能力不错
  • 知识的广度不错
  • 知识的深度不够

然而,大厂一般非常重视知识的深度

那知识的深度是什么呢?知识的深度从哪来呢?

其实我觉得,看书、编程实践很多的本科学生,大多会和我一样陷入这个困境——知识的深度难以达到一定的高度。

我们常常会受限于大学的环境的原因,碰不到太多的难题,也不知道去思考啥,以为各种炫酷、懂得多、啥都会为厉害,但实际上一专多能才是真正厉害,对于大学生“一专”更难得可贵


将思考当做习惯

当然还是有一小部分人可以免于陷入这样的困境,他们肯专研、能在一个领域内持续专注的努力,但最关键的是他们将思考当做习惯,唯有思考才能增加知识的深度,才能在种种现象中掌握本质、理解思想、甚至创造出自己的思想。就好比调用各类框架的 api,如果不想想 api 背后的东西,你又如何能了解 api 的原理?如何能知道 api 背后的思想?

如果你只知道 api,不知道思想,那你想想这和搬砖的有什么区别呢?水平差的程序员就像民工,用砖建造大楼,水平高的程序员就像建造师,用笔设计大楼。


别人的思考和思想

  1. 从面向对象的设计模式看软件设计 | | 酷 壳 - CoolShell 当我们学设计模式的时候只是学习怎么写的话,那赶紧看看 左耳朵耗子对其思想的描述,不然你只是在死记硬背
  2. react 设计之初的思想:react-guide/react-basic
  3. 经常用 redux、写 spa 应用 的你有想过前端数据层吗?复杂单页应用的数据层设计 - 知乎专栏

这些思考的作者都是阿里 p8 (高级技术专家)及以上级别能力的人,可以看的出来他们是在创造自己的思想


通过思考来升华自己

我们在大学里打基础、苦练本领 ,到了社会,我们可以很快成为 xx 工程师,xx 高级工程师,但社会更缺的技术专家,而前后两者之间其实隔着很远很远的距离以致于阻隔了绝大多数程序员;在我们漫漫的上下求索的编程修行中,思考就是这样的升华之路。

编辑于 2017-03-03

文章被以下专栏收录