作为多年的开发,生活逐渐趋近于没有那么多的激情,转向了更多的思考,生活的每天都很相似,我想想今天发生了什么。
早上6点起床,做个早餐,煮豆浆,蒸紫薯鸡蛋啊,完事之后吃点再带到公司,因为特意选择了住在离公司近的地方,二线城市,离公司近的地方也不是特别的贵。到公司的时候差不多7点半,开始一天的工作。
去公司比较早的话公司还没来多少人,会想想今天要做的事情,一般会先学点东西或者写偏博客整理下自己的知识点。当然这些都是属于个人提升的部分了。并不能提现我的工作状态。
工作
小公司
正式工作的时间点,会做公司相关的东西,如果再小公司工作时间更多的是编码,实现功能,排错,解决bug,如果有闲的时间会回顾,重构之前天天忙着写额程序,进行自己技能的提升。在小公司的时候主要是提升自己编码的能力,或者身兼多职做很多程序相关的事情。
稍具规模的公司或项目
在稍具规模一点的公司,公司的业务已经运行多年,10年左右时间的项目,经手过太多的人,项目的代码,业务的复杂度都很高,大部分时间都不是在写代码。参考之前的工作流程规范。
工作可能会跟着项目的生命周期,以月为单位。
如果再需求阶段,我们会听产品宣讲需求,阅读产品需求文档,整理需求中要做的功能,同时梳理现有项目的功能,新需求对已有项目的影响。开发也要对要做的需求非常了解,大家在一起对对需求。
最后形成wiki。记录到文档上,一个阶段会持续几个星期。
理完需求之后,肯定还要进行方案设计,提供外部的服务,依赖那些外部项目,数据库的设计,然后程序的流程图,这个阶段整理完还要好几个月的时间,并且形成文档与资料记录到wiki上面。
真正开发的时候对照自己的流程图,基本上看着流程图就能进行开发,开发完之后自己先进行测试,然后交给专门的测试人员提测,测试1,测试2,测试3,预成产环境分别测试,最后上线。
上线的时候有专门的人员,一般功能是谁开发的,谁要负责进行观察上线是否会出现问题,线上一般根据项目的规模及用户数分配相应的机器,集群部署,大部分项目会部署4台,上线时一台一台的进行发布。发布的时候自己记得实时观察上线日志,上线的机器指标,以防出现问题,如果出现问题进行版本回退。
上线完成之后,根据功能的大小,比较重要的功能,观察12周的时间,观察线上指标是否正常,如果出现问题及时解决。如果是小的功能,观察12天就可以。
不过更多的时候是一边进行上面流程,一边进行小功能的开发,或者一遍解决小的bug。
项目的生命周期很长,已有的人,或者新加入的人都在重复这些步骤,人员进进出出,项目一直还在,重构,完善吧。其实我个人的一天从这样长的周期中截取之后发现普通,但是也可能有点意思。
今天
今天在公司正式干活之后,给我分配的任务是整理某个功能给外部提供的服务,以及所有能调用这个服务的入口点。
干活的时候,有时候会玩手机,影响我的注意力,我就把手机放到同事那里,让手机离我远一点,防止我看手机分心。我对公司的业务理解程度也不够深,就是边做边问周边的同事,讨论,然后明确各个概念是什么,然后同事发我一些资料,把好几份资料整理起来,最终形成工作的内容。
感觉一天在玩手机,然后觉得耽误工作,把手机丢到一边。同事告诉自己产品那边要做一个小的功能,然后自己进行开发,提交git,测试。处理突然出来的开发任务之后,继续做分配的任务,就是聊天比较多了。
感觉就是同事之间进行交流,讨论的很多,更多的是团队的沟通,配合。
最后
今天就不多说了,我们组长说过:
面试的时候,你们的技术能力要能达到60分才能进来,而在工作的时候可能需要你们20分的开发能力,但是不要觉得这就没有意思,如果出现问题,至少要有60分的能力才能解决问题。如果你想要升级升职,你至少要表现出80分的能力才行。
到一个公司,肯定是要工作的,拿人钱财,替人做事,业务可能无法提高自己太多的技术,但是不要忘了自己仍然是个技术人员,记得提高自己的技术本领,这样才能打造自己的核心竞争力。
做一个积极向上的程序员,还有今天晚上最后一件事就是写完这篇文章后睡觉了。
热门评论
给大佬递茶。。