Chapter3 软件工程师的成长

阅读: 评论:0

Chapter3 软件工程师的成长

Chapter3 软件工程师的成长

 

CHAPTER 3 软件工程师的成长

通过对第一章的了解,再来看第三章,简单来说就是从总体具体到了个人。第一章提到的软件工程的思想是整个团队的流程,当然,既然有团队那肯定还有个人开发流程了。和第一章不同的是,第三章的例子比第一章更多,也更加通俗易懂,我们很容易的就可以映射到自身。

1.什么是个人能力:

  足球:体能、技术、意志、斗志——> 阵型、配合、临场应变

整个足球队需要的是团队的阵型和战略的理论,但是每次的盘带、传球、跑动等依然是由单个球员  完成的。所以我觉得正是因为个人的出色能力,才能凸显出整个团队的强大能力。第三章一开始的这个例子完美的告诉我们一个道理:部分的功能及其变化会影响整体的功能。映射到软件工程师身上,一个工程的质量取决于团队的工作质量,而个人的能力则决定了团队的能力。

2.软件工程师的成长:

 ①积累软件开发相关知识,提升技术技能(动手能力,对具体技术的掌握等)。

  例如我们对C、C++等语言的掌握程度,对调试器等硬件的掌握。

 ②积累问题领域的知识和经验(对游戏、医疗或金融等行业的了解)。

  随着经验的增长,一个软件工程师可以掌握更广泛、更深入的技术和问题领域的知识。

 ③对通用的软件设计思想和软件工程思想的理解。

  我觉得一个好的软件工程师,在达到了一定的思想上的高度之后,可以发表一些博客、文章,向更

  多的初学者介绍这一行业,甚至坚持推广自己的著作。就像这本书的作者一样,把自己对软件工程 

  这一行业的理解以著作的形式向我们介绍。

 ④提升职业技能(区别于技术技能)

  职业技能包括:自我管理的能力,表达和交流的能力,与人合作的能力,按质按量完成任务的执行

  能力,这些能力在IT行业和其他行业都很重要。

 ⑤实际成果。

  就跟我们求职时的简历一样,我们总会将我们取得的成绩放入简历中,告诉面试官们我们做了什么

  项目,敲了多少代码,甚至哪个应用有我的参与。成果是最重要的,也是最实际的评价标准。

3.如何衡量一个软件工程师:

 量化的指标

  作者再次举搬砖的例子。搬砖的伙计们对于工作量有相应的标准,有多少块砖?要搬多远?当然,也有简单的指标衡量工作质量,多快搬完?搬的过程中损坏了多少块砖?

  软件开发的工作量和质量的衡量同样有相应的标准:

 ①项目/任务有多大?

  说明项目的大小,一般用代码行数来表示,也可以用功能来表示。

 ②花了多少时间?

  可以用小时、天、月、年来表示。一组人所花费的时间可以用人数×时间来表示。

 ③质量如何?

  交付的代码中有多少缺陷?交付有两个定义:在代码完成时,交付给测试人员;在软件最终发布时,

  交付给顾客。 可以用缺陷的数量来除以项目的大小。

 ④是否按时交付?

  软件/任务是否按时交付?这个看似简单,也有讲究。当我们衡量一个程序员在一段时间内的交付

  情况时,我们是用简单的平均值呢,还是用方差呢?作者通过举例,告诉我们很多时候,在团队工作中,稳定、一致的交付时间是衡量一个员工能力的重要方面。

4.团队对个人的期望

 ①交流:能有效地和其他队员交流,从大的技术方向,到看似微小的问题。

 ②说到做到:就像上面说的“按时交付”。

 ③接受团队赋予的角色并按角色要求工作:团队要完成任务,有很多事情要做,是否能接受不同的

 任务并高质量完成?

 ④全力投入团队的活动:就像一些评审会议,代码复审,都要全力以赴地参加,而不是游离于团队

 之外。

 ⑤按照团队流程的要求工作:团队有自己的流程,个人能力即使很强,也要按照团队制定的流程工

 作,而不要认为自己不受流程约束。

 ⑥准备:在开会讨论之前,开始一个新功能之前,一个新项目之前,都要做好准备工作。

 ⑦理性地工作:软件开发有很多个人的、感情驱动的因素,但是一个成熟的团队成员必须从事实和

 数据出发,按照流程,理性地工作。

5.职业发展

 我们国家及省市有很多计算机方面的等级考试,有相应的证书可以拿到。这是我们发展的道路上必不可少的部分。我们获得了相应的证书,有了国家的认证,有更多更好的机会可以获得相应的工作。但是通过阅读,我发现并不只是国家、省市有资格考试,很多大公司也有相应的认证。就像IEEE就提供了一系列的职业认证服务,再比如微软公司也有自己的等级标准,将软件工程师细分为SDE、SDE II、Senior SDE、Principal SDE等,并且有对应的要求。

6.技能的反面

 我觉得这是第三章最让我获益的一节。巴斯顿的那句话:技能的反面是“解决问题”。让我明白了每件事情都要从细节出发。我们大学生从初入校园到走出校园,期间写过多少次多少行代码,但是真正在应用时,我们发现常常都错误百出。我们很多时候都把时间花在“解决(低层次)问题”上了,但是问题的本质你却根本无暇顾及,偏偏我们还认为大学四年时间已经熟悉甚至精通了那门语言。想要解决这个问题,那就需要不断地练习,把那些低层次的问题都解决了,变成不用经过大脑的自动操作,然后才有时间和脑力来解决较高层次的问题。

 

 

转载于:.html

本文发布于:2024-02-01 17:59:00,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170678204738462.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:软件工程师
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23