十一假期过后,疫情反复。有一个问题,怎么才算是一个合格的coder?我认为能独立从头完成一个功能模块的开发时,才算是一个合格的coder~

我们做程序员的面试经常被关注的几个问题:毕业几年、项目经历、编码量等等,公司也是想找个他们认为相对比较合格的程序员,那么到底怎么才算是一个合格的程序员呢?

我是做嵌入式产品开发的,对于嵌入式Linux系统来说,里面也有很多功能,这些功能是有不同的模块,相互配合完成的,里面可能会有数据库、网络通信、GUI、业务功能处理、基础数据处理等等。

一般刚毕业进入公司,很少有让你从头去写一个模块、做一个产品,大多数都是给你一个小模块维护,或者做一些局部的修修补补,做维护性的工作,是可以从代码里学一些东西的,但是我们也知道,大多数“增、删、改、查”之类的乏味操作。

等你对这个模块完全熟悉了,可能会让你增加新的功能需求、解决bug,如果能解决bug,独立完成增加新功能,这说明已经晋级了!这时你可以尝试去独立编写一个程序,如果工作中没有机会,就自己业余写,功能可以少一些,但是要从头开始。

为什么是从头开始,独立完成?因为公司既有的产品代码,一般都有自己的接口、类库之类的封装,基于此去开发产品可能会比较快,用起来也方便,但是对于初学者并不是太好,接触不到底层,所以还是要亲自去拿底层的系统接口去写写代码,锻炼锻炼,这样以后自己写代码才有底气。

从头独立去开发一个软件模块,你会发现有很多问题等待你去解决,越做可能问题越多,似乎永远做不完,今天发现这个情况没考虑到,明天又发现这样写不好,效率低!这个过程也是能力的提升。
能做到这些,才算是合格的coder。

在工作中,如果有权限看其他模块的代码,可以在闲的时候看看别的模块的代码,尽可能得把每个模块的软件流程、架构给梳理出来。模块熟悉了,就让自己去关注整个系统,去梳理系统的架构,这时需要考虑的问题更多。

学习、能力提升是一个循循渐进的过程,公司工作久了,容易麻木,当一天和尚撞一天钟,容易迷失自己,一定要提醒自己,我们是为自己工作,而不只是老板,工作的目的不止是挣钱,还要不忘提升自己的能力,让自己更值钱。