(文章有点长,请耐心读完哈)首先介绍下自己。我15年毕业,一所双非二流学校,软件工程专业。迄今为止工作刚好五年零两个月。前三年在两家公司工作过,18年9月份来到目前这家公司(怕遇到熟人,公司名字就不说了哈)。一个上市公司,人员规模3万人左右,两年内,我从刚入职的一个新员工,慢慢的走到今天开发负责人的岗位。我自己的经历总结起来大概也就两点:运气和努力。接下来,一起看看我近两年的工作和生活经历吧。
程序员的工作状态工作经历:
目前公司为甲方公司,甲方公司的开发基本上都是公司内部的业务系统。初入公司,我的上司就给我分配了任务。说实话,分配完任务之后,我差点蒙了。对于一个刚入公司,业务不熟悉,团队分工不熟悉,技术栈不熟悉的新人,上司分配给我分配了四个任务:DynamicAX二次开发、BPM工作流开发(刚开始K2,后来用H3)、生产车间条码系统开发、图纸系统(PLM)子系统。
当时这几个系统,我仅仅知道OA系统是什么,其余三个,基本上是一点不了解。更让我郁闷的是,这四个系统所有的技术完全不一样。AX采用X++,没错,不是C++,不是Java,不是.NET,就是X++。一个我从来没有听过的开发语言。另外三个系统分别是.NET4.0版本,NET3.5版本,.NET4.6版本#科技要闻#。在此之前,我只用过4.0版本,突然一下子接受这么多还真有点吃不消。不过领导说,后面会持续招人进来,我先顶着就行(直到我试用期转正,他调岗位,人都没招过来)。
就这样,我接下了四个系统。18年9月到19年初这几个月,在四个项目的压榨下,我基本上从来没能偷过懒,每天八小时的工作满满的。这几个月,我疯狂的恶补各种技术栈,只是为了能够解决业务部门提出的需求。虽然之前我只是做.NET开发,但是那时候管他什么技术,只要有用,就开始学了。
四个月,我学会X++的基本开发,前端开发技术Bootstrap、LayUI、Vue,.NET技术栈疯狂补了一波。后面又补了一些SAP等基础知识。总之,只要有需求,来着不拒。虽然东西很杂,但是总能学到点新的东西。这里需要提一下,甲方公司还是和乙方有很大区别的。甲方公司其实加班不多,你会有很多自己的时间去做事情(我就经常加班到很晚,只是为了补短板)。但是如果你自律性不好的话,可能你就会整天混日子养老了。
后来,上司调走,新来的上司对于系统开发不是很熟,在与我们这些“老人”开工作会议的时候,由于我之前接触的项目比较多,四个月的时间,我基本上完全接手或者是基本熟悉了,因此业务描述起来相当熟悉,并且业务部门对我的评价也非常好,因此新上司对我这个老人,也非常看好的。
新官上任三把火,这位新来的上司也不例外。他看我接手四个项目,第一时间想到的就是招人(相比之前的上司,这位上司真是雷厉风行有没有)。于是,他让我和另外一位同事负责招聘。这样,两个星期,我招聘来了我的第一个小弟,一个刚毕业没多久的前端开发工程师。也就是从那时,我就慢慢地为以后的路奠定了基础。
后来我带着这位小弟,在领导的要求下,把OA系统翻新了一遍。第一个先从HR系统开始。当时做了一个基于钉钉的人脸考勤系统,然后,又开始实现年休假自动核算以及一些考勤报表,解决了困扰人事很久的痛点,后面又接着优化OA财务模块、采购模块、行政模块,流程改来改去,反正最终交出了满意的答卷。
这中间最爽的就是玩K2工作流引擎了,这个引擎太重了,感觉用起来很不友好,中间走了很多弯路,这个也是我加班最多的原因。后面公司采用奥哲H3,这个流程比较轻量级,实现也比较简单。但是我目前没怎么用(主要是交给下面的人去开发了)。后来,随着业务的扩展,我们又接了两家子公司的业务系统开发,人手又不够了。于是,在19年9月份到11月份,三个月时间,我们又扩招了四位同事,三位是校招的,一位是社招的。也是这三个月,我狠狠的当了一把面试官。三个月时间,我面试了70多个人。
面试面试官也不是那么好当的,没两把刷子都不敢去面试。别人都在我疯狂地刷题准备面试,而我也是疯狂刷题,准备面试。当面试官的经历,让我学会了很多东西,你通过面试别人,也能查漏一下自己的知识点空缺。我虽然是学.NET的,但是我们也需要Java岗位,Java需要面试什么呢,需要什么技术呢?相信网上有很多。于是我自己也开始恶补Java(我并不是从零开始,之前也是有用过Java的,只不过都是做小东西)技术,我主要看看基础知识,Springboot、SSM、微服务等框架,后面生活中在分享。
就这样,团队持续壮大,到目前,我的团队发展成了4个Java,2个.NET和两个前端,不算之前的四个项目,我们团队目前做了四款小程序(第五个正在开发),5个管理系统,三个二次开发的项目以及四个外包出去的项目的系统对接,大大小小的东西反正工作量做了一堆。相信这么多业绩,我为什么能两年内成为开发主管,应该算是有个答案了吧。
生活经历:
如果说上面的工作经历,只是讲讲我工作中做了哪些工作,出了哪些业绩,那接下来分享的生活中的经历,应该算是我的幕后工作了吧。这里首先和大家分享一下我近两年的书单吧。看下图:
我的书单这是我家里储藏的书单,大概看了有60%左右的吧,信息系统项目管理师是我最近计划考试的,所以还在持续复习中。公司里面也有五六本书,主要是架构相关的以及Java的一些书籍。
书单接着和大家分享一下我的阅读过程吧。刚开始是C#高级编程。因为我之前主要做C#开发,公司的.NET架构上面也说过,各个版本都有,因此这本书我差不多通读了一遍,现在除了WPF比较生疏之外,用C#开发各种程序基本上我都能搞得定。然后就是《MoreEffectiveC#》这本书主要是优化C#的编程方式的,买了两本,另外一本在公司,强烈推荐.Net技术栈的朋友阅读这本书。
后面就是Docker、分布式、微服务、Java,SpringBoot,Python主要是兴趣爱好,偶尔也会照着教程或者上网练习一下。后面就是看架构之类的了,分布式架构、微服务架构、架构简洁之道、代码简洁之道等等。总之,通过阅读这些书籍,起码对整个软件开发要做什么,要设计什么,要掌握什么,有了个基础的认识。再也不是刚入公司,只为了实现业务代码而去学习。
可能你会问,两年时间,又要工作,又要看这么多书,怎么会有时间?没错,这确实是个问题。我之所以能有足够的时间来看这么多书,确实是得益于公司的制度。基本上我们每天都会下班很早,不强制要求加班。因此,下班我有足够的时间来看书,基本上能保证平均每天有两个小时的读书时间吧。偶尔我也会玩游戏(之前经常玩王者荣耀,现在偶尔也玩一下),有时甚至会很晚,但是,当你走到越来越重要的岗位时,你所要负责的事情越来越多时,你整个人的心态都变了,你会不由自主地想要提升自己的能力。总之,还是继续努力吧。为11月份的信息系统项目管理师考试继续加油。
喜欢的朋友欢迎