正式工作半年了,之前还在几个公司实习过接近一年的时间,那就先从实习开始吧,聊一下我对工作的认识。开始实习的第一家公司做的产品是电子商务的ERP系统,框架已经成型,主要是功能的增删改,在这里我学到了很多的编程知识。但是就这个产品而言,它的用户就是电子商务公司的操作人员,用户并不多,所以我在做的时候没有感觉到严格的测试流程以及严格的编码,只是进行了简单的功能测试。第二家公司做的是电子书包,用户就是上海各个学校的老师学生(目前正在往其他省市推广),用户相对来说还算比较多,在这里我可以按照自己的思路来做,不行再改正。由于这个项目的开发周期比较长,在各个模块的开发过程中也没有进行严格的测试,只是马上要用的模块有相应的功能测试。在第三家公司做自己公司的结算平台,跟第一家公司的性质一样,用户数量也不多。总之在我正式工作之前,我并没有体会到做产品的严谨,对所做工作的极度负责。除了技术方面几乎没有其他的提高。
在这里我想说两句,产品的用户数量可以直接检验出产品的质量,也会提高开发人员的编码以及思维。同样是一个产品,几百人用跟几千万人用不是一个概念。一段代码运行的没有问题,当面对大数据量的时候就很难说了。比如说小数据量的代码我们可以大胆的从线程池里随便捞一个线程来处理,但是面对大数据量,程序开的线程超过最大限制就可能直接崩掉了。所以说小数据量跟大数据量从开发层面上就不是一个思维。
正式工作之后,领导经常要做代码review,这就使我要注意自己的编码习惯,对代码精益求精。致使我有时间的时候还经常对之前写过的代码进行重构。只是公司的发布流程异常繁琐,很多的时间都浪费在产品发布上,发布的时候调来调去,浪费很多的时间。最后却发现是因为负责发布的同事漏掉了某个公钥文件或者是哪项配置没配好。真是抓狂的很啊,时间全浪费了,应该是有一个Web自动发布平台,员工可以自由发布到一般的测试环境,而不是去排队找发布人员手动运行脚本发布,即容易出错又浪费大家的时间(这个第三家实习公司就做的很好了,不管发布什么环境,基本上感觉不到发布环节的存在)。也正是因为这个原因,使我对所负责的模块有极高的要求,因为一旦出问题,可能浪费在发布调试上的时间又是一天没了。
我发现在工作中,新员工往往存在这样的想法,某些地方觉得有顾虑,问一下老员工也行不问也行,但往往都选择了回避问题,等出了问题再说吧。老员工往往就会比较积极,得解决它。我从老员工身上学到,不要逃避问题而是积极发现问题并解决。只有把心态改变了才会更喜欢自己的工作,才会乐观的面对一系列的问题,把产品做得更好。这也是为什么有时候会觉得老员工咋这么麻烦呢,有必要吗,实际上必要的很。对错都要拿出证据来,否则你没法说服别人,也容易出问题。。
我的感悟是做产品不该模棱两可,需要积极发现解决问题,对代码精益求精。提高代码质量可能是一个累积的过程,但是态度是可以瞬间改变的。希望能对新人有所帮助,早日找到状态。