软件工程师 八年工作总结

开场白

古语有云:“三十而立”。三十岁的人,应该对自身以及社会都有自己的认知,对自身的发展亦有清晰的定位,能够独立承担属于自己的责任。
本人今年三十岁,生命走了将近1/4(我的目标是活128岁,亲,请忽略我的yy),工作八年,想解剖下自己,回顾总结下工作八年来的收获以及当前自身的不足,亦希望后续自身能砥砺前行。

工作回顾

本人计算机专业,工作八年,从事软件研发相关工作,待过三家公司,回顾下自身的工作情况

初出茅庐入环保

09年下半年校招,签了加杭州的公司(之后简称A公司),环保行业的,当时也没觉得远(本人是湖南满哥,现在想回家就感觉不方便了),10年吭哧吭哧一个人跑到杭州,从此开始了杭州的生活。刚毕业,什么都不懂,(因而)心中也无惧。实习期第一次跟着产品跑出去,周一出差,出差前那个周末导师和我讲解软件系统怎么部署。万幸的是部署还算顺利,现在回想,是跑到用户现场去练手去了。此后,在这家公司干了四年。

10年,做软件开发,11年开始,跑现场做过软件项目实施,去现场做过问题处理。12年开始,自己开始带项目,去现场做需求调研,然后回公司开发,经过测试验证后,最终自己跑去现场做软件部署、调试,一直持续到14年七月从公司离职。自己带的项目大概做了7-8个,国内也跑了一些省市。

回顾在A公司的这四年,有几件事情映像比较深刻。第一件事情是11年下半年现场故障处理,当时现场客户反馈opc-client软件经常故障,运行该软件的机器会假死,影响客户正常使用,当时负责该软件的开发同学在带其他项目,部门经理让我去现场处理 (当时他的本意是让我过去安抚下客户,因为我学的是java,那个软件是.net开发的,软件本身之前没有接触过)。到了现场和预期就完全不一样,客户是希望你能解决问题,不是走过场的。最终在现场待了一周左右,找了个变通的方式解决了该问题。当时自身还是比较有成就感的,现在回过头来看,给自己其他方面带来了一些不利的影响。第二件事情是12年带的项目,学会了基于原型(系统)做需求沟通、调研。原本是有个专职的项目经理带我去调研,因为其他项目无法离开,最终只有我一个人去现场调研,为了和客户更好沟通,我把自己理解的客户需求画成了原型图和他们进行沟通确认,觉得效果还不错,后来就采用这种方式做需求沟通。年轻(亦或无知)无所畏惧,当时没有想到过会搞不定,现在做事情可能会心存畏惧了。

四年工作总结:比较完整的接触了项目的整个流程,和现场用户有直接接触,会从总体的视角去看待项目,站在用户的角度看问题。这种体验,一直在公司人比较难体会,在现在这家公司感受尤为明显,开发测试基本无需出差,只有少部分产品会出差。不足的方面在于一直做业务相关的事情,技术的深度广度不够,遇到技术难题,也会采用变通的思路去解决,这个可能亦是11年现场故障处理带来的不好的影响。

异地而战为税务

14年8月份,加入了一家税务行业的公司(之后简称B公司)。经历和A公司有点像,14年做开发岗位工作,15年项目经理,16年区域负责人(和项目经理职责类似)。区别在于项目经理角色的定位更多的是侧重对内的任务分配、跟进执行,需求、开发、实施都有专门的团队,coding自己基本没有接触了(项目中团队成员比上一家公司要多)。在这边比较完整的学习了项目管理的相关理论,如项目立项、确认成果的标准,成本预测、评估,任务分解,风险预估,项目里程碑节点定义等,任务分解、风险预估、项目里程碑节点定义在实际过程中有实践。16年因为绩效的事情,自己感觉受了委屈,6月份从公司离职。现在回过头来看,可能自己当时有点矫情了吧

对于员工的成长,B公司关注度比第一家公司高,公司内部也有组织很多分享、内训等,在接触的知识面上有所拓展。15年的项目,下半年顺利上线,税局召开了新闻发布会,让自己感受到了仪式感、庄重感,这个之前未曾体验。

在B公司,有件事情触动了我的心弦。16年初(也可能是15年底)去税务大厅现场,看软件的使用情况,大厅的工作人员和我们介绍,税务数据申报时,有些会计不知道需要切换Tab页来填报其他税种的申报数据 (我们当时的界面,不同税种是在不同tab中申报的,tab类似excel中的sheet),偏远的县、村镇等,会计年龄一般更大,电脑接触较少,使用的问题更多。当时我确实很震惊,在我看来,是很常见的设计。这让我体会了和用户接触的重要性,一定要去现场进行真实的体验(当时是专门的美工团队做的界面设计)。让我的工作目标除了刚需(money)之外增加了一个,做一个能给用户带来(更大)价值的产品。

ps:第一家公司,客户和用户基本是一致的,所有没有碰到这种情况;第二家公司,客户是税局,用户是纳税人(一般是公司会计),我们需求调研对象是客户。

仓储物流,当下的战场

16年七月份,加入了现在的公司(之后简称C公司),仓储物流行业的。之前找工作的时候,自己感觉这个行业应该是有前景的,不过公司没接触过。加入C公司后,进入了某目组。项目的目标很远大,抽象了很多概念,但对项目理念以及抽象概念的理解,感觉只有少数的几个人才真正理解,绝大部分产品、开发、测试就只是执行者,我自己对很多概念经历了不解->理解->困惑->再理解这样反复的过程,现在对部分内容有所理解。到现在,项目做了两年了,但感觉落地执行还有段距离,自己也很困惑,什么时候可以落地上线 。近期想换工作,和部门老大有过沟通,决定再战一年。
这里写图片描述

在C公司的这两年,感觉自己的理解、抽象能力有较大的增长,接触到了一些数学相关的知识点并进行了应用,开始会用数学思维去看待解决问题,如通过信息指纹做数据防重校验。这里,特别感谢大师、博士两位同事,是他们让我接触数学思维去看待问题。也非常感谢其他帮助过我的同事/朋友。


自身能力解剖 – 成长与不足

软技能方面

成长

  • 思维认知。认知到道和术的区别。有句老话“知其然不知其所以然”,我的看法,术为“知其然”,道为“知其所以然”。软件开发过程中会用到各种各样的框架、组件,如dubbo、spring、redis等,知晓其用法,为术的层面。理解他们的实现并转换为自己的理解,明白为什么要采用这样的方案,从宏观层面理解其设计理念,为道的层面。前面几年其实是求术的过程(还不咋地),后面需要开始逐道。 这个也是拜读吴军老师《数学之美》等一系列书籍的感悟。

  • 同理心。处理问题、沟通需求时,会从对方的角度来看待、理解问题,并基于对方的角度来进行沟通 (最近工作需要自我检讨下了,这块表现不太好,有时候会不耐烦)。

  • 要事第一。学的是高效能人事的七个习惯,不过工作中只有这一点会主动识别并进行应用 (或者说这一点自我感觉做的好一些吧)。

  • 管理预判。这个是现在公司部门老大自身总结分享时提到的,和风险管理类似,对任务的完成情况、耗时等进行预判断,并提前识别、规避风险。工作任务分配时,会有意识的主识别,重要事项风险大的跟进的频次会更高。

  • 阅读的习惯。以前不太喜欢主动看书,14年碰巧接触到了吴军老师《浪潮之巅》这本书,确实把我吸引住了,有看小说这种代入感,之后又看吴军老师出版的《硅谷之谜》、《大学之路》、《文明之光》、《数学之美》等书籍,再看其他书或者技术类的文章,感觉没有那么排斥了。

  • 思维逻辑。现在在看《学会提问》,收获是学会了初级找茬的能力,全书主要是介绍如何辨识一个论点是可信的,包括如何找论点、论据、作者是怎样推理的、推理是否存在谬误等。结合之前看《学习之道》的理解,回过头来看之前读过的书籍,一般的思路是:介绍背景信息(即为什么要读这本书或者学习某个内容),目标是什么(或者会有什么收益),为达成目标需要做哪些事情以及怎么做等。现在看其他的书籍、文章等一般会先看下目录,然后yy不同的章节主要会介绍什么内容,读的时候再去印证。 (看了学会提问后,估计现在公司的产品同学不太喜欢我了,需求文档中如果没有介绍清楚背景信息、目标、使用场景、使用角色等,我会把需求打回去这里写图片描述)

  • 分享的习惯。前段时间看了一篇blog,介绍的是认知升级,里面讲了为什么我们学习过的东西容易忘记,原因是无输出。输出会让你的脑海对知识重新进行一次加工。实践、给他人讲解、写知识笔记等都是输出的过程。现在开始有意识加强知识笔记记录,尽量总结转换成自己的语言记录。
    认知升级原文地址:https://blog.csdn.net/ricohzhanglong/article/details/80563503

不足

  • 人际交往。工作打交道ok,但工作之外不会维护私交。平时喜欢一个人独处,做旁观者。
  • 性格比较直、任性 (情商低)。往好说是性格耿直,往坏的说是SB。工作上有的事情,任务过来了(自己)觉得不太合理的想拒绝掉 (方案、工期等各方面吧),内心其实知道多数情况下还是要处理掉的。还有一般情况下公共场合不针对人揭短,有问题私下沟通。
  • 临场应变能力。16年下半年,现在公司的部门老大问我,如果项目失败了,还会继续待这边吗。当时我的回答是不知道。事后反应过来,用一个比喻回答会更恰当。 热恋中的女孩问男孩,你会一直爱我吗,男孩说:会。
  • 魄力/决心。认定的事情执行时,缺少“佛挡杀佛、神挡杀神”的魄力,阻力小最终可能执行ok,阻力大可能就会不了了之。
  • 团队管理。任务分配、跟进执行稍好,但对团队人员的(技能)培养这块做的不足,更多的是碰到、看到问题后,针对单个点进行沟通,缺乏总体的培养意识、计划。

技术能力分析

接触过的技术,主要包括:
Java系列:基础知识、并发、类加载、反射、代理
设计思想:设计原则、设计模式
框架:主要是springMVC、mybatis、dubbo
组件: Oracle、SQLServer、MySQL;redis;Kafka、ActiveMQ;elastic-job;pinpoint;ELK
工具:svn、git;maven;jenkins
其他:编码规范、重构;单元测试;JVM;性能优化;分布式设计;UML建模
go、scala有接触过一点。 看kafka源码了解了一些scala,写java class文件解析的时候用的是go
web端前两家公司工作的时候有接触过一点。jquery、miniui、extjs等

自身的知识地图,好久没更新了。更新梳理后再进行补充。打算今年把之前学习过的一些内容重新回顾加工一遍,分享出来。

综合实力评估

自我综合评估,高级软件工程师的水平。成长速度感觉有点慢,很多人3-4年就已经到达或者超过这个水平了。

感悟

  • 知识需要转换成自己的。 加工、分享
  • 知其然亦需知其所以然
  • 工作中控制自身的任性
  • 主动。不仅仅是反馈成果,包括问题反馈、寻求帮助等

自身目标

目标:应用架构师

应用架构师,目前的学习思路:

  1. 形成自己的认知、看法。找一个框架(目前选的是dubbo),深入学习其思想,掌握其设计理念,形成自己的认知、看法。以这种视角去看其他的框架,快速掌握其他框架的设计理念。重复这个过程,直至能快速掌握其他框架的设计理念
  2. 分析接触过的三家公司的架构,基于自己的认知看法再去理解
  3. 找机会实践

展望

希望后续自己能形成并保持学习、分享的习惯,朝自己的目标前行。
感谢老婆、女儿的陪伴,我们共同前进。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值