前端菜鸟的对于加班和自我提升的一些思考

左耳朵耗子——程序员练级指南 (P.S. 新版本已经更新,需要付费阅读)

从个人目前工作中接触的角度来简单谈谈。

作为一名机械转行并入行不到半年的前端码农,一直在接触JavaScript这门语言,随着JS的崛起,和web应用日臻强大的影响力和移动端互联网的崛起,JS能干的事情越来越多,Github上最多的代码库也是JS相关的,随着NodeJS的出现,JS开发人员也能“光明正大”的向后端探索,这里不谈各种莫须有的鄙视链(大抵是文人相轻),单就node来说,其对于JS的意义,不亚于当初JS作为嵌入浏览器的脚本语言对于browser的意义。

从我入行半年的体验中,最近一直是在加班中度过,对于刚入行的新手,即使上级分配的任务不算繁重,但自己着手开发起来还是很难达到预定的时间,哪怕这个时间是自己评估的,目前看来自己的预估绝大多数时候都是不准确的,除了自身技术水平的原因,也常常会收到其他事情/因素的阻碍,比如对于时间的把控,对于进度的把控,对于任务的评估,对于棘手问题的解决之道,前后端之间的合作沟通联调等等各种问题。

所以加班似乎理所当然,但我内心还是不喜欢加班,加班除了可能的任务分配不合理之外,也会令我直接感觉到自己效率低下,昨晚看到浩哥的文章,提交效率从提高有用功开始,而有用功的关键,就是砍掉不合理的需求开始,总是在开发中不断变更/新增需求,在产品设计的阶段没能考虑清楚的问题,都逐步堆积到开发人员这一环节,这此时,大家就是耦合在一起,效率低下。

加班出了对身体带来的疲惫感之外,更多的是让我感觉没有时间消化/总结遇到的问题,更难抽出时间学习新的知识,就好比学英语,虽然是很强调多动嘴,多练习,但是在绝对的对听力素材匮乏的基础上,在输入严重不足的基础上,是很难脱口而出一口流利英文的。

不过换个角度,为什么加班的是我,或者为什么我是其中加班的一员?研发团队中,是存在那种几乎除了重大的上线/维护外,下班就走的,而且任务还完成的不错,这除了个人水平较高之外,相比也有自己的法门。所以以上看来抱怨了很多加班的种种吐槽,但其实我也试图如何减少加班的时间,从而抽出时间提高自己。当然互联网/IT业加班是常态,但绝不是理所当然。好在公司的加班不可能全年都是这样,近期赶着上线的东西多,所以看来这个行业也是有季节性的,尽管我们都是坐在全年几乎恒温的空调办公室里。

再回到正题,关于个人对于自我提升的想法。

首先雇主支付薪水,在工作时间内,全心全意为雇主付出是理所当然的,雇主买了自己的8小时工作时间,而且雇主也没有义务保证自己的学习和成长。那么总要自己对自己负责上心方可。我认为提升自己最切合实际的想法,自然是从工作中接触的角度,逐渐深度和广度的探索,比如我目前是一名前端,那么JS的素养是必须要提高要保证的,与之相关的还有 webpack/react/vuejs/HTML/CSS 等各种工作中接触到的框架/类库/工具/和web相关的元素。这也是最能提高自己在工作中水平的方向,然后可以顺着nodejs的学习,向更广阔的方向前进。

我虽然是个菜鸟,但始终认为,不能把自己局限在一个语言,一个职位上,既然都是编程语言,那么存在就是合理的,就必然是为了解决某种特定问题,在最需要一种新的技术革新旧有而落后的方式而诞生的新的工具。所以网上对于各种语言的比较可以加深我们触类旁通,归纳吸收,选择合适的工具解决特定的问题,这才是工具的真正价值,你有一把绝世宝剑,你可以用来过五关斩六将,但说实话,切菜做饭的时候,绝对还是菜刀更好使用。

所以不要给自己设限,让自己更开放更包容的去面对新的东西,同时走出舒适区虽然令人很痛苦,一时间很别扭,但是每当自己征服后,收获和成长也是成正比。

在提升自己的过程中,我认为Linux很有必要去学习,去使用,Linux可以说是比编程语言更是工具的工具,工具的意义不在于立刻贯通所有的用法,而在于先使用起来,然后才能体会到各种小技巧的价值。所以对于Linux的学习,我觉得是可以从当下即可开始的,这和从工作相关的技术出发并不冲突,Linux是工具的工具,可以帮助自己攻克拿下更多的东西,同时也能感觉到开源的文化和精神。

我买的Linux大部头的书,买了好久除了吃灰外,没有看过几页,值得反思,现在看来,很多东西不能等待万事俱备的时候,永远等不到那股东风,必须要先动起来,动起来就有新的机遇,新的思路,新的道路。所以快速的看个视频,跟着快速过一遍最常用的基本命令,然后在实际使用中,随时查阅man手册,随着google,而不是上来就是一本大部头,从第一页看起。无数次地经验告诉了自己一开始一定要先入门再说,就像我转行,先找到第一份工作做起来再说,否则都是飞机上开会——高谈阔论,高屋建瓴。

在JS深入学习到一定的程度,可以开始学习C语言,C语言作为绝对的王者,还是很有必要学习的,C语言伴随着UNIX一路走来,直到今天,还无时无刻运行在我们设备中,作为一门靠近底层的语言,其更透明,更能让自己早日站在上帝视角俯视整个计算机的来龙去脉,所以像是《深入理解计算机操作系统》这样程序员必读的重磅级读物,也是以C语言作为贯穿全书来讲解操作系统的,所以C语言也是一开始不必追求精通,试问自己的JS精通了吗?就能知道精通是需要压制住浮躁,水滴方可穿石。

所以先用起来很重要,用着C语言还能用来学习数据结构和算法这样的基本功,我想没有比用C语言来阐述更恰当,更基础了。用JS来描述的数据结构和算法的书籍,今年来市面上倒是出现了一些,但是质量很难比肩C语言描述或者Java描述来的透彻,当然从JS入手,再触类旁通也为何不可。

接着C语言和Linux,就可以学习Linux上的编程,也能借此学习网络协议。

(未完,mark)

猜你喜欢

转载自www.cnblogs.com/nicholaswang/p/9108798.html
今日推荐