作为一个程序员,学和做是你职业生涯的全部。
首先说说这个学。前两天在回答另一个问题的时候,偶说到了要学一些基本的知识,例如HTML、JavaScript、CSS这些,可能有些人会不以为然,觉得没有必要,因为现在有太多的前端类库可以拿来直接使用,再去学那些东西会浪费精力。
其实不然,这些都是堆积互联网的最基础的元素,如果不能熟练掌握,就会被那些类库绑架,甚至会影响到职业生涯。为什么这么说,举个很简单的例子,比如你会用React,但你心仪的那家公司只招Vue程序员,怎么办,花大把的时间重新学,等你学到会用的时候人家公司已经招到人了。
再举个例子,张无忌在光明顶力战六大门派,在最短的时间学会了他们的武功最终拯救了明教,靠的是乾坤大挪移,而用了半个时辰学会了乾坤大挪移靠的是九阳神功,那学九阳神功花了多久?五年时间!
基础技能很重要,有了扎实的基础,什么东西上手都来得快。所以,偶对学的建议就是,一定要把基础学好吃透,以后不管是什么样的开发语言,不管学习什么样的框架,都能得心应手。
再说说这个做字,做是对学的巩固,关键是要怎么做。程序员的工作量大之大是众所周知的,在这样一个大背景下再来说做字似乎有点多余,可是偶想问问大家,你们都是怎么做的,做了以后有没有留下点什么东西来。
以前有个同事,基本功不行,碰到稍微复杂一点的功能,就去网上找现成的,一个系统就是这么七拼八凑成的,稳不稳定先不说,光看界面就像解放前佃户的棉袄,五彩缤纷,风格各异。借用别人的东西当然免不了,但是要有方法,比如人家一段代码正好用得到,不要直接Ctrl+C+V,应该先看懂这段代码的原理,然后有可能的话按照他的思路自己重新写。取人鱼,不如取人之所以渔。
程序员一定碰到过自己写过的代码会反复的在不同的地方用到,那你是怎么做的呢?直接把大片的代码粘贴过去,还是学会自己封装成一个公共类呢。哪种方式好不用偶在这里说了,偶想说的是,这么多年下来了,你封装了多少个公共类,有没有形成一个自己用着觉得很牛叉,可以用在所有项目里的类库呢。如果有,那恭喜你,你留下了点什么东西。
最后说说平庸和理想。偶觉得自己不算平庸,但也不算理想,只能说是在这两者之间吧,理想的程序员应该会是什么样子的呢,偶认为理想的程序员不一定要掌握多么新的技术,而是对某一个业务领域有着独到的理解,能用自己的知识储备解决行业内的大多数问题。
好的程序员在面对新的需求时,首先想到的应该是能用哪些方法来处理,不轻易说“不”,这是对公司负责,也是对客户的尊重。如果实在解决不了,可以帮助客户一起想办法来变通,采用双方都能接受的替代方案。
如果客户开始逐渐向你咨询一些业务问题的时候,表示你成功了,向理想的程序员迈进了一步。