软件工程师专业化与转管理的建议

同是IT行业软件开发工程师, 部分人到30岁已对技术没有了兴趣, 想转管理. 但是他之前是否又真是专业的软件工程师呢? 据观察与了解很多这类人不是,  没有持续的学习的习惯已经落伍.  在研发团队管理上也只是入门级. 不管是继续做技术开发, 还是研发管理,  还是有一些建议:

专业化

近年来IT行业各种观点、实践、技术、工具与术语层出不穷,想成为专业开发者,就得对其中的一大部分有所了解,并且要不断扩展这一知识面。 每个专业级开发人员必须精通的事项:

  1. 设计模式。必须能描述GoF的全部23种设计模式。
  2. 设计原则。必须了解SOLID原则,而且要深刻理解组件设计原则。
  3. 方法。必须理解XP、Scrum、精益、看板、瀑布、结构化分析及结构化设计等。
  4. 实践。必须掌握测试驱动开发TDD、单元测试UnitTesting, 面向对象设计与分析OOP/OOA、结构化编程、持续集成CI和结对编程。
  5. 工件。必须了解如何使用UML图、DFD图、结构图、Petri网络图、状态迁移图表、流程图和决策表。
  6. 架构模式。 MVVM, Microservice Architecture等,  软件体系结构.
  7. 系统设计与分析, 自动化测试, 持续集成/持续发布,分支策略, Code Review, 敏捷软件开发过程

你会发现以上这些都不是在学校里能够学习到, 都是需要工作后买书进行学习. 然后再加上不断实践与思考, 迭代. 之前笔者也写过软件开发的专业化. 都需要看什么书,国外有一个100本影响力最大编程图书参考http://cspray.github.io/my.so-archive/100-most-influential-programming-books.html

技术管理

也是需要有长期积累与实践. 首先是否有系统学习过管理学的基础知识. 可参考《管理学(第13版)》. 是否有学习过项目管理知识体系. 可以参考书籍有《项目管理知识体系指南(PMBOK指南)(第6版)》, 《信息系统项目管理师教程(第三版)》。
      按行业发展趋势, 还需要了解工程师文化.

工程师文化前提.
      1) 信任:Leader和产品对工程师绝对的信任是工程师文化的最基本条件。如果他说要用一个更优雅的方法解决一个问题,但要花更多的时间,请你选择相信他。好的工程师非常懒惰,他这么做一定是为未来的工作提高效率。
      2)卓越的技术领袖存在:领导如果对技术没有信仰,只把技术当成工具,就很难说这个团队会有工程师文化。说白了不是每个不懂技术的领导都懂得欣赏优雅代码产生的美和对未来产生的深远影响。
工程师文化的特征:

小团队:7-12人的团队是比较适合的团队大小。有人用pizza团队来形容一个团队的大小,就是一两张pizza可以喂饱这支团队。Facebook和Google经常有2-3个人的团队,小团队有如下特征:

Move Fast and Break Things(不破不立);

Huge Impact with Small Teams(以少为多,精准打击);

Be Bold and Innovative(勇敢追求卓越);

技术创新:团队必须坚信技术可以为业务带来不同于现在的可能性,现在没看见不代表它不存在。技术挑战产品是因为也许你不知道还有更好的技术和架构可以更简单更有效地完成一个业务任务。团队激励不单纯以业绩为主的技术的创新.

我们再看一下技术团队Leader的职责:

团队领导无法靠个人的力量完成所有的任务, 了领导可能会进行授权的部分:

除了硬技能,  团队管理者沟通能力也很关键, 有效沟通. 信息的有效程度又主要取决于以下几个方面:

1) 信息的透明程度。当一则信息应该作为公共信息时就不应该导致信息的不对称性.信息必须是公开的。公开的信息并不意味着简单的信息传递,而要确保信息接收者能理解信息的内涵。如果以一种模棱两可的、含糊不清的文字语言传递一种不清晰的,难以使人理解的信息。对于信息接收者而言没有任何意义。另一方面,信息接收者也有权获得与自身利益相关的信息内涵。否则有可能导致信息接收者对信息发送者的行为动机产生怀疑。

2) 信息的反馈程度。有效沟通是一种动态的双向行为,而双向的沟通对信息发送者来说应得到充分的反馈。只有沟通的主、客体双方都充分表达了对某一问题的看法,才真正具备有效沟通的意义。

之前文章可以参考: 项目管理沟通计划软件项目研发中的沟通管理人际沟通风格介绍一.

领导力

LeaderShip. 在管辖的范围内充分地利用人力和客观条件在以最小的成本办成所需的事提高整个团体的办事效率的能力,比较常见的领导力开发方法包括CEO12篇领导力提升、EMBA及EDP项目等。可以参考  精益IT组织与分享领导团队管理与领导者, IT技术团队管理之成长, 团队默契与团队信任, 学习型组织与企业, 领导人怎样带领好团队

Summary

本文概况描述了软件开发工程的专业化, 转向团队管理者知识体系与能力, 项目管理, 工程师文化, 团队管理.



今天先到这儿,希望对您技术领导力, 企业管理,物联网,  系统架构设计与评估,团队管理, 项目管理, 产品管理,团队建设 有参考作用 , 您可能感兴趣的文章:
2017-2018年Scrum状态调查报告
2016年测试状态调查
2017年IT行业测试调查报告
项目管理-习惯发生范围变更
前端性能核对表Checklist-2018
大型电商互联网性能优化案例
国际化环境下系统架构演化
微服务架构设计
视频直播平台的系统架构演化
微服务与Docker介绍
Docker与CI持续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构设计演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理介绍
软件项目成功之要素
人际沟通风格介绍一
精益IT组织与分享式领导
学习型组织与企业
企业创新文化与等级观念
组织目标与个人目标
初创公司人才招聘与管理
人才公司环境与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变

如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:

作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。

原文地址:https://www.cnblogs.com/wintersun/p/10630752.html

时间: 2024-11-05 16:09:05

软件工程师专业化与转管理的建议的相关文章

推特公司对软件工程师高效工作的建议-转载

“我们很难测量软件工程生产力,”推特公司工程效率部的技术总监彼得.塞贝尔说,“但是我们肯定能破坏它.” 在一场脸谱网举办的大会上,塞贝尔这样说道.这场大会集结了1800名来自约400家不同公司的软件工程师,他们开发的应用软件可能会被数百万甚至数十亿人使用.它讲述了一个关于推特公司软件进化升级的故事:一个有许多不同程序语言的babel,像Ruby, Java, and Scala,因为需要各类工程师一起协作,所以很难完成,但最后(大体上)完成了. “作为一个知道如何去升级软件的行业,我们也知道如何

一位软件工程师的6年总结

一位软件工程师的6年总结 一位软件工程师的6年总结http://www.jsjbbs.cn/thread-3001-1-1.html(出处: http://www.jsjbbs.cn/) “又是一年毕业时”,看到一批批学子离开人生的象牙塔,走上各自的工作岗位:想想自己也曾经意气风发.踌躇满志,不觉感叹万千……本文是自己工作6年的经历沉淀或者经验提炼,希望对所有的软件工程师们有所帮助,早日实现自己的人生目标.本文主要是关于软件开发人员如何提高自己的软件专业技术方面的具体建议,前面几点旨在确定大的方

一位软件工程师的7年总结

1.分享第一条经验:“学历代表过去.能力代表现在.学习力代表未来.”其实这是一个来自国外教育领域的一个研究结果.相信工作过几年.十几年的朋友对这 个道理有些体会吧.但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈! 2.一定要确定自己的发展方向,并为此目的制定可行的计划.不要说什么,“我刚毕业,还不知道将来可能做什么?”,“跟着感觉走,先做做看”.因为,这样的观点会通过 你的潜意识去暗示你的行为无所事事.碌碌无为.一直做技术,将来成为专家级人

软件工程师必备的24个软技能

软技能通常是被低估的.几乎所有的软件工程师都知道要关注技术的提高,但是忽视的软技能很可能会影响你的职业生涯.下面疯狂软件Android培训技术专家将介绍24个对程序员非常重要的软技能,以方便程序员们在无形中提高自己的人生格局.更多IT技术知识,请登录疯狂软件教育中心. 1:学会如何学习 学无止境. 2:制定阅读规划 程序员的生活常常没有规划.谁也不知道自己是否能够真正地执行自己的阅读规划.但是按照时间表总比自己漫无目的地修读和看书要好. 3:改善健康 睡眠和工作对于保持最佳的脑功能状态非常重要.

一位软件工程师的7年总结 [转]

原文出处:http://www.oschina.net/discuss/thread/500 1.分享第一条经验:“学历代表过去.能力代表现在.学习力代表未来.”其实这是一个来自国外教育领域的一个研究结果.相信工作过几年.十几年的朋友对这 个道理有些体会吧.但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈! 2.一定要确定自己的发展方向,并为此目的制定可行的计划.不要说什么,“我刚毕业,还不知道将来可能做什么?”,“跟着感觉走,先做做看”.因

软件工程师为什么单身的六宗罪

本人做软件工程师虽不过2年,但基于对软件工程师这一职业的关 注和热爱,结合本人之经验教训,将软件工程师的罪孽总结如下,希望能引起软件工程师朋友的重视, 并一一对号入座,适时发现并纠正自身之罪孽,这将有助于软件工程师整体素质的提高.(仅供参考) 1.太过劳累,麻痹生活 杀伤力:10级 软件工程师的生活普遍没有规律,有一句名言,一个真正的软件工程师从不按早9晚5的生活过日 子.这并非软件工程师独有的罪孽,随着社会竞争的加剧,中国很多其他职业也同时存在这一问题,只 是在软件工程师这一独特群体身上体现的

从C++起步到MFC实战VC++软件工程师高端培训视频教程

本课程从C++起步.用户无需任何计算机基础,只需要懂的基本的电脑操作,既可学习本课程,本课程适合在校大学生,在职人员等,通过本课程的学习,学员可掌握C++\MFC\VC++服务器端.网络编程等技能 有兴趣的可以加我个人QQ:779591710 第一阶段:C++入门超基础精讲(28课时)主要内容:本部分是您成为VC++软件工程师必备的阶段,如果您没有任何基础,学习C++能快速让您进入编程领域,建议配合书籍<C++入门经典> 第1讲:程序设计语言原理及C++入门(6课时)第2讲:基本数据类型扩展数

VC++软件工程师高端教程

从C++起步到MFC实战VC++软件工程师高端培训(服务器端开发方向) http://www.dwz.cn/u3wMp 咨询QQ2110053820 课程讲师:Gamebaby 课程分类:品牌套餐 适合人群:初级 课时数量:350课时 更新程度:完毕 用到技术:TCPIP协议.HTTP和FTP协议 涉及项目:LSP项目.LSPSetup项目 课程简介 本课程从C++起步.用户无需任何计算机基础,只需要懂的基本的电脑操作,既可学习本课程, 本课程适合在校大学生,在职人员等,通过本课程的学习,学员可

再谈软件工程师的核心竞争力

发现一个现象IT行业都是做软件开发的, 如JAVA开发工程师, 我们看到大家简历上都做写熟悉Spring Cloud-, 那大家都一样的吗? 你的核心竞争力在哪儿? 如何脱颖而出? 之前的文章<<软件工程师的核心竞争力>>提及到, 今天我们再来看下: 1. 是否有计算机文献英文阅读能力. 大学英语不是白学的, 英文是个工具与门槛. 你需要越过它.       如: https://jcp.org/en/home/index https://docs.microsoft.com/en