如何成为一名优秀的软件工程师
jy0529 opened this issue · 0 comments
jy0529 commented
如何成为一名优秀的软件工程师
保证工作任务完成的效率
在公司里,工程师的首要任务是完成工作中分配的任务,这是一个基本的前提,所以,如何提高工作效率是我们亟需学习的一件事情。
关于如何提高工作效率,根据我自己的经验提供以下两点:
- “少”做需求
批判性地思考分配好给你的任务,
哪些任务不是必须要做的,
哪些是可以用更简单的方式来做的,
哪些是需要增加人手/时间/其他资源来做的。
第一步:对大需求进行拆分,找出必须要做的能带来核心价值的部分。
第二步:看是否有更简单的方式来代替产品原先的需求。
第三步:寻求更多的资源,包括人力、排期等。
上述讨论都要以不影响需求核心质量为前提,不能因为缩短开发时间而降低质量。
- 多使用工具,自动化处理
采用现代化的工程工具和方法,对项目中存在的可标准化的流程使用工具自动化处理。
例如,小程序平台包含微信、支付宝、字节、百度等,每次版本发布都要上传到各个平台。
利用内部Gitlab CI, merge到生产分支时,利用各个平台提供的接口,编写工具自动发布到各个平台,减少人力成本。
对技术充满热情,能驱动技术升级
菜不是问题,问题是知道自己菜也不去努力,得过且过。
如果对技术不充满热情,也不会有太多的主动性,俗称混日子。
多写代码,多思考,相信世界是由技术推动的。
善于发现问题
工程师日常锻炼得最多的就是解决问题,但发现问题需要我们认真地审视自己在做的到底是什么,怎样才能做到更好。
解决问题: 一段代码能work,这版本需求完成,继续下一个需求,逐渐成为高质量的做需求机器。
发现问题:这段代码能work,但
它的正确性如何,有潜在的逻辑问题吗?
它的可维护性如何,别人接手能看懂吗?
它的可拓展性如何,产品加需求,改需求需要改动的地方多吗?
它的健壮性如何,这个输入不靠谱,超出边界有抛异常吗?
它的安全性如何,这段代码能成为别人攻击的点吗?我该如何避免这个事情发生?
......
有很多时候不是没有去发现问题,而是你的认知层面发现不了那些问题,所以,多学习,多写代码,多看代码,多思考。
不设边界,跳出舒适区
不要画个圈把自己周围的路都堵死了,Always out of your comfort zone.