写在前面

这是我一直想总结的一个系列,包含了工作这几年来的一个想法,非方法论,只是从一个开发人员视角去思考工作的本身。

一、工作的本质

工作的本质是一个雇佣关系。老板雇佣你,你来完成你的工作。此处的工作不限于每天在公司完成的工作,还包括任何你个人能带给公司的价值。

二、工资的本质

工资的本质是一种供求关系。很多人可能有这样的误解,认为工资是和技术水平成正比。可能大部分现实情况确实表现的是这样。但实际情况不是这样。如果是这样的话,跳槽的时候干嘛还有hr聊薪资待遇这一个流程呢。你能拿到的工资收入受市场上其他家公司能给你的薪资水平影响,本质上还是一种供求关系。

那问题来了,对于大部分技术人来说,工作的目的还是拿到相应的待遇,来提升个人生活水平。那工作中我是不是要苦练技术,争取达到「华山论剑」的水准来换取一个较高的收入呢?

这里要分两种情况。

第一种情况,初入职场的技术同学,一定要重视技术基础,持续学习,在一定领域快速沉淀积累。同时,业务方向上积极学习,熟悉协作流程,达到一种能快速切入,稳定支持业务的程度。很多同学可能有这样的问题,我去你们那边是做业务多,还是技术多?这个问题其实可以很肯定的回答,大家都是去做业务。没有需求的技术场景都是耍流氓不是。总是忽悠你在业务中成长的人不要理他,总是忽悠你说来我们这边只做技术的人不要理他。前三年,最重要的事情就是持续的学习,这上面可能要投入较多的精力,即使在繁忙的业务支持中也要坚持下来。

第二种情况,工作三年甚至更久的同学,目前我就是在这个阶段。一个较大的体会就是,一个人的个人价值在工作更大的体现是推动完成工作的能力。通俗来讲,你是否能给别人这样的一个感觉,这个事情交给你来做,别人比较放心。这个阶段,过多的提及技术已经不那么重要了。不是说技术层面不重要,而是更多的精力要去关注问题的本身,而不是解决问题的方式。有的时候细节可能不那么重要,重要的是方向。但是作为一个技术人员来说,持续的自驱的学习能力还是要一直具备。较好的技术最佳实践往往能事半功倍,在解决问题的过程中提高效率。

三、工作与技术的讨论

在我看来工作是工作,技术提升是技术提升。两个不要混淆来看,可能在某一个阶段,工作实践的过程可能能正向提升技术积累。如果在一段时间的工作中你感觉不到个人技术的提升,不要埋怨工作。技术提升完全就是个人的事情,工作是在完成你应要完成的工作。实际操作过程中没那么多理想情况。跳槽解决不了问题,需要转变思路,优化自己的日程安排。如果被公司毫无人情的压榨,那只能是早点退出,寻找下家。

四、如何看待工作中的技术方向的最佳实践

最佳实践可以说是技术人员的最终追求了。但是工作中不一定是最优解。工作中的最优解是一个多方面的考量,技术工程的技术架构、代码实现方案,人员配比,团队人员水平层次,工期等等一系列因素都在决定着这个事情做到什么程度。我们可能过多的关注了工程方面的事情。看到别人一堆和翔一样的代码,别着急去喷,可以尝试小范围内优化。没有人能从开始就能预测之后的所有的情况,更何况在现阶段一些公司的敏捷方法中已无重构可言,大部分都是维护不下去了重写。

五、技术人员的面试

面试可能涉及很多轮,涉及到对候选人的评价考核。我的一个观点,面试没通过,完全没必要沮丧。那绝对代表不了你比别人差,这里面有着太多的偶然性,重视基础,苦练剑法,多思考,待到能华山论剑的水准,再次遇到无良面试官,你就可以当场手撕了。

最后,任何问题,任何方向我们都要多去思考。别人交待给你的工作,你出色的完成并交差,充其量是符合工作预期。如何在这个过程中完成个人成长,这就需要我们在任何一个可能不起眼的需求、工作内容中多去思考。