二哥,最近我刚进了一家公司,之前跟你说过,培训出身刚刚毕业,打算在北京打拼。最近进公司,给安排了工作,今天第一次没人带,自己上手搞代码,搞不出,明明挺简单的功能,自己还是做不出,不知道从哪里学习,想赶快熟悉工作,可是自己的能力不行,在地铁上常看二哥原创的作品,平常积极在看,超级希望能自己学到本事,但自己的能力真的有点问题,工作搞不完,害怕被问,害怕任务完不成被辞退。
以上是读者西瓜向我提的一个问题,我觉得挺具有代表性的,所以决定拉出来单独写一篇文章答疑解惑一下。
可以肯定的一点是,任何时候都要说自己不行啊,尤其是男性同胞,可以认怂,但是“不行”这个两个字千万不要轻易说出口,为什么?你懂吧?
人的能力各有不同,但如果你自己都不自信,那又能做好什么事情呢?心理建设非常重要。
记得之前看一个短片,一个小男孩跳了无数次,都无法越过障碍物,但是呢,他身边的同学一直为他加油呐喊,小男孩呢,也从来没有放弃的打算,最后的结果我都快看哭了,他真的跳过去了,他出色地完成了自我挑战。
他的成功,离不开同学们的鼓励,但更重要的是他锲而不舍的精神,心里素质比一般的成年人都要强大。
我现在已经为人父了,虽然我一直标榜自己只有 18 岁,但叫二叔的读者真的越来越多,我已经逆来顺受了。在我的教育观念里,我觉得我家女儿最优秀的一点品质,就是,如果她喜欢一件事,她就会主动去钻研,去摸索,在没有任何外人的帮助下。
你比如说,现在比较流行的平衡车,就是不带脚踏板和链条的自行车。一开始,我想给她报个班,至少有个老师教教,对吧?
但是,她的表现完全出乎我的意料,我只要把车买回来,放到她的面前,怎么骑,完全靠她自己去体验。一开始小心翼翼,很保本,但她不满足于现状,就找一些小坡骑,然后是再大一点的坡,就这样,挑战一次又一次,自己就完全掌握了骑行的技术。
对于我来说,我没有骑平衡车的经验,小时候也没有这玩意。我能做的除了买车,就是给她鼓励,摔倒了没事,哭了也没事,有些事情,痛苦的同时,伴随着挑战和突破。
对于我们成年人来说,其实道理都懂的,但人与人之间的差距之所以拉开,除了选择的正确有否,最大的因素我想就是,你有没有自己主动去做。
西瓜说自己明明很简单的功能,就是做不出来。这种感觉我也有过,即便是现在有了十年多的编程经验,仍然在某些时刻感到举手无措,无从下手。
对,这就是为什么人要终身学习的原因啊。我们做不出来,除了思维上、认知上的局限性,另外一个重要的点就在于,你有没有经验。
对于新人来说,经验肯定是欠缺的,这点毫无疑问,对吧?但是只要公司招你进去了,无论是不是培训班出身,负责任的公司都会给你充足的时间和空间去进步,就看你自己有没有主动。
我大三出去实习的时候,公司要求我做一个计算器,那时候觉得好难啊,因为加减乘除,再带上小括号,运算是有优先级的,还要考虑到小括号的自动补齐,对于那时候菜得一笔的我来说,真特么难啊。
但能怎么办?做不出来就意味着要被辞退,那只有一个办法,就是上网搜,找别人的例子模仿,拆分,融化,把它变成是自己的。
那时候,我还不会玩 GitHub、码云和开源中国,私下里主动学习的地方只有一个,好像是叫编程入门网,现在已经没有了。我就是照着上面的例子,一个个手敲,当你例子敲多了,很多编程知识就融会贯通了。
现在好了,优秀的案例数不胜数。我的两个好朋友,macrozheng 开源了他的电商平台 mall,江南一点雨开源了他的微人事系统 vhr,这两个开源项目我一直强烈推荐新手去下载到本地,去学习。
很多时候,对于编程天赋一般的我们来说,不需要主动去造轮子,我们只需要去发现轮子,对吧?
我在一开始做 Web 管理系统的时候,找了一个企业级的开源系统,叫做 DWZ,不知道有没有读者朋友用过,当年非常火,我们公司的后台管理系统现在还在用,虽然说界面已经很古董了,但对于我们公司来说,足够用了。
这套 DWZ 就封装了很多前端组件,对于我一个 Java 程序员来说,非常友好,直接可以上手操作,如果一些组件不满足,我就去改造。改造的过程中,就积攒了大把解决问题的实战经验,这是弥足珍贵的。
我在《Web全栈开发进阶之路》这本书里,就借鉴了不少 DWZ 的优秀思想。不要觉得不会造轮子是可耻的,会用轮子也是真本领啊。