起因
“天天在那curd,也没啥技术含量”
“你就是一个curd boy”
“你就是一个curder啊”
“你不写代码,你只是代码的搬运工”
上面几段话,程序员是不是经常听到或者看到。这几句话说明了什么?
- 高度概括能力:用几个单词组合,就概括了多数程序员日常的工作情况。
- 自嘲:自嘲有时是一种乐观的品质,用一种调侃的方式来看待自身情况。
- 乐观:上面说了,自嘲是乐观表现之一,但这种乐观中带着些许无奈。
所以说,程序员还是很可爱的一群人儿。
除了“自嘲”外,我们是不是应该多想一想,是不是应该多分析一下原因,是不是要找出一些方法,来改善“天天curd”这种状况。
分析原因
-
没有意识到
自己刚开始做的时候,可能没有意识到这种情况的存在,久而久之,你才慢慢意识到了这种情况的存在。但是,时间已经慢慢流逝了。你要尽早意识到这种情况。 -
天天加班
每天任务都很多,老板还爱催时间,导致天天加班到很晚,回到家就很累,只想上床睡觉,根本没有心思想这些,哪有时间去改进。
这就造成一个死循环,没有时间琢磨,改进程序,每天继续重复写代码,回家睡觉。明天,又重复同样的事情。 -
业务代码
我就是底层天天写业务代码的,不curd我还能干啥。这里不要把写业务代码和curd相混淆了,写业务代码并没有什么不妥,它是创造价值的地方。多数公司都是靠程序员写出的业务代码形成的功能来服务客户赚钱。
我所说的是不要天天curd,自己要动脑袋想一想,能否有更好的方法改进代码写法,提高产出的效率。这是你创造价值的一种方法。 -
没有方法
有的人自己知晓这种情况的存在,苦于没有找到好的解决方法,无法打破这种魔咒。
下面我说出一些方法,欢迎大家留言讨论。集思广益,共同探讨,找到更多,更好的解决之道。
解决方法
前1、2两种情况
第一种情况:当然是你要尽快意识到这种情况,不要浪费太多的时间。“你还年轻,还有时间”这是一句安慰的话,不要轻信,时间是用一天就少一天。熟练了curd之后,就要自己琢磨向更高层次进发了。
第二种情况:就要评估下,是自己工作效率问题,导致加班到很晚,还是分配的任务确实过多,如果是任务确实过多,超过了自己负荷,那么就要向领导提出来减少任务,如果不行,那么考虑跳槽到好一点的公司。
后3、4两种情况
后面2种情况的改进方法,也可以作用于前面2种情况,改进前面2种情况。
复用
“复用”的思想。
大家在平实的开发中,应该经常会碰到这种思想。比如java语言,“一次编译,到处运行”,这就是一种复用的思想,编译一次之后,可以在多个平台运行代码。
那我们开发时候能不能用到这个思想,“一次开发,多处运行”。而不要做那种ctrl+c,ctrl+v的选手,“一次开发,到处copy”,这样到处copy,重复代码多,那么代码维护起来肯定困难,如果想修改,就要修改多处重复的代码。有什么改进方法?
能不能更好的抽象复用?经常的这样想一想,促进自己改进,成长。
还有一个好方法:去看设计模式的书籍,比如大话设计模式。
重点:抽象复用,不断改进,促进成长。
向上
向上,就是向上思考。找到为什么要写curd?它产生的价值在哪里,有没有可以改进的地方?你做的这块越来越好后,上面会给你更大的责任,让你负责更多任务,如果你做的继续超出预期,那么你很有可能,以后会负责更多,拥有更大的抉择权,包括技术的选择。这时你也许会脱离curd初级阶段,进入程序设计,研发管理的进阶阶段。
有的放矢
有的放矢就是要找到自己的那个“的”,也就是目标。那怎么找到自己的目标?
很多人告诉你,要结合自己优势、兴趣等,然后在纸上列出一个清单,在根据自己列出的清单去寻找自己的目标。
还有的告诉你,列出一大推要学习内容,从java基础到java进阶,从单体到分布式,从cap到base等等。
这种方式不是不好,是学习的内容太多,而学习是一件反人性的事情,太多就容易累,也很难确定自己的阶段性操作目标。
我这里给一个简单可操作的方法:找自己心仪的公司。
怎么说?
就是自己心里想一想,盘算盘算,自己心仪的1到2家公司是哪2家,不要太多,太多精力会分散。找到了之后,去官方网站或者招聘网站,看它的招聘要求,根据上面的岗位要求,找出自己需要学习的内容,列出一个清单,制定学习计划,然后执行计划。这时才是像上面所说,找出基础到进阶,单体到分布式等等学习的内容。要有目标感的学习,才是好的方法。
这样就可以了吗?不行!
你按计划学习了2到3个月之后,去其他公司面试下,检验一下学习成果,然后根据面试结果,在回来调整学习计划。继续学习,学习半年后,这时可以给心仪公司投简历,或者找人内推,再次检验学习的成果。
如果面试不上心仪公司怎么办?不要怕,一次不行,接着调整学习计划,继续学习。很多情况下,不是一次就能成功,那就多试几次。要有屡败屡战的精神。
有的人说,简历投递有时间限制?那你可以投其他部门,还可以说明情况找人帮忙内推。总会有办法的。
再一个面试前,可以看看其他同学的面经,学习学习,不打无准备的仗。
还有,如果真的面不上,可以退而求其次,去找一个二级公司,把这家公司当作一个跳板,然后再去努力学习,来年再战。
后续思考
当你按照上面的方法学习了之后,你做事可能会越来越好,公司如果关注员工成长,那么它会看到你的成长,给你一定的回报奖励。
说不定你会意识到,出去面试并不是目的,它是一种激励你学习的手段,自己成长才是最终目标。逼迫自己去成长,其实这种方法也是逼迫你的领导成长,你的公司成长,如何更好的留下人才。
也许你还有更好的方法让自己成长。欢迎大家一起讨论。
如果在一家公司做的不好,到另外一家就会好起来吗?不一定,每家公司有每家公司优缺点,自己要思考,改变能改变的。
方法总结
总结一下上面的学习方法,以便复用,概括起来就是:
GPDCA:goal -> plan -> do -> check -> adjust
G - goal, 定目标
P - plan, 定计划
D - do, 付出行动,完成计划
C - check, 阶段性的检查已完成的计划,看看学习的效果,这个阶段性时间纬度:以2个星期为单位纬度,或者1到2个月左右为单位纬度,时间不宜太长或太短
A - adjust,检查之后,如有不足,适当调整计划
然后循环执行检查调整,直到定的目标达成
这个GPDCA方法,不光可以用于学习,还可以用于其他方面,需灵活自用。
以上就是一点思考,欢迎大家讨论,推荐-让更多人讨论。
【完】