前言

如果你是一个厨师,假设你是这样一个热爱烹饪的厨师,那么你一定会对自己的每一道菜都很用心的烹饪,准备材料、切菜、烹饪、火候、时间,甚至每一道菜的顺序。

而同理,程序员(开发者)也是如此,你需要对自己的每一个java文件都用心的“烹饪”。由于本人是Java开发者,所以本文以Java举例,但是其中提到的各个点都是针对所有开发者而言的。

高效是什么

如何让你的上司器重你?

当他觉得你办事很高效的时候,自然会有相关的项目(核心项目)发给你做,甚至让你去做一些偏高层的决策。

首先你要对自己有这样的愿景与要求,如果你对于程序员这个职业只是存在于混口饭吃,那么希望你在后面转职后能用这个理念去对待你的下一份工作。

自学乃至综合能力

对于我们这样的职业而言,毫无疑问,自学的能力是非常重要的,因为职场所有的技术会不断的迭代,而公司也可能随时启用新的技术,那你对于新技术的掌控能力一定要优先与其他同业者。

当然,现实是很多公司现在大部分也是用一些老的技术,你可能觉得够了,上层完全不希望去花费时间和金钱投资一个新的技术,但是那样你只会一直在这个公司存活,你需要不断自学,甚至是不属于技术的,你要锻炼的是你自学的能力与效率,而不是学习什么,因为当你跳到新的高新公司的时候,那么你需要最快的速度去上手新公司的技术栈,这时,你一直所磨练的自学能力就得以运用了。

综合能力? 那么为什么还有综合能力?

你会敲代码是公司招你的条件,你除了会敲代码还会写文档说明、还会组织开会、还会引导分析功能需求等等,那么这将是你去选公司的优势!

不是所有程序员都会“讲话”!

我以前所在几个东家的老板都会和我说到:“会说话的程序员少之又少!”,一个又会实现功能又能和客户交谈明确客户的需求点的人是他们所希望的,他们有明确的想法做变革,他们希望公司里的开发者都是有思想的,而不是木讷的敲着代码。

领导们在会议上说的一个想法,你是否能完全理解?是否能花十分钟去画一个流程图或者思维导图?

而且你是画给你的领导看的,你要注意到他可能不懂的技术,你只是要把对应的流程或者具体的实现画出来就好,而不是让你去画实现的技术架构图。

硬实力

高效的另一点就是硬实力,别人需要花一天的时候完成的一个功能,你可以三个小时立马完成,那么这就是你最大的优势,我觉得你首先要懂得问题的关键与核心,实现是容易的,但是还要考虑到后期的扩展与使用。

举个例子来说,一个业务,前后端的实现

如上图的评分功能,如果只是做成静态的显示,那么有多少种实现方式,如果是要兼容用户评分还有固定分数的静态显示,又有多少种方式?

后端可能只需要固定传一个分数值就好,而前端如果是静态显示可以是分数值直接填充一个矩形条(上方加星星的图案),但是如果要用户点击评分则是不可取的,那么你要在前端做转换变成数组的格式,如果是半颗星又要如何处理呢?

善于查询

对于不同的问题还有功能点,在编程界我们大多数都是别人已经遇到过的,那么你要准备一些搜索的资源,用于平时工作中,快速搜索核心的功能实现,具体的代码Copy也好,但是你可能需要一定的能力去修改,因为项目的环境一般都是不一样的,如果你要自己写的话,那么请明确你的思路是没有问题的!

扩展视野

**你想做大吗? **

除了一份工作外还有兼职,那么你需要非常高效,而不是每天都在加班做自己的本职工作的内容,你需要去了解更多的知识,运维也好、UI设计也罢、前端也是一样,你都需要去了解,这会给你带来意想不到的收获!

** 结语**

这个话题很广,我说不完,但是你可以先针对一两个点去做改变,愿你接下来的路,磕磕碰碰但是指数增长。

共勉。