构建之法2

作者首先提出了一个问题“如果你有机会观察一个刚入职的软件工程师和一个工作多年、卓有成效的高级工程师,你会看到他们在公司里的行为没啥区别:同样是在电脑前敲敲打打,有时候查邮件,有时候上网,有时看手机,有时和同事聊天、讨论……似乎看不出谁更“高级”。有时候高级工程师回家了,新手还在电脑前面干活。为什么一个高级工程师会比新手工资高那么多?除了比工作年头之外,软件工程师有什么更好的方法来衡量自己的能力和价值?”

关于个人价值问题,王老师在课堂上也进行了讲解。

我认为以下内容既是软件工程师的成长之路也是衡量软件工程师水平的一个标准。“1. 积累软件开发相关的知识,提升技术技能(如对具体技术的掌握,动手能力)。例如:对Java、C/C++、C#的掌握,诊断/提高效能的技术,对设备驱动程序(Device Driver)、内核调试器(Kernel Debugger)的掌握;对于某一开发平台的掌握。2. 积累问题领域的知识和经验(例如:对医疗或金融行业的了解)。第一点和第二点都可以在很多简历上都可以看到,也可以比较容易地检测出来。随着经验的增长,一个工程师可以掌握更广泛、更深入的技术和问题领域的知识。3. 对通用的软件设计思想和软件工程思想的理解。这一方面就比较虚,什么是好的软件设计思想?什么是好的软件工程思想?一个工程师开了博客,转发了很多别人的文章,这算有思想么?另一个工程师坚持做任何设计都要画UML图,这算有思想么?4. 提升职业技能(区别于技术技能)。职业技能包括:自我管理的能力,表达和交流的能力,与人合作的能力,按质按量完成任务的执行力,这些能力在IT行业和其他行业都很重要。5. 实际成果。绝大部分软件工程师的工作成果都是可以公开的,你参与的产品用户评价如何,市场占有率如何,对用户有多大价值?你在其中起了什么作用?”

在目前的学习中,我的软件开发相关知识也在慢慢进步着。我的专业课要求我需要使用不同的语言进行开发,使用不同的编译器进行编程。因此在这一方面,我是在不断取得进步的。

关于积累问题领域的知识和经验我目前很缺乏,因为我并没有经历真正投入使用的项目,做的都是类似“校园失物招领”这样不涉及其他领域专业知识的小项目。

思想这一方面,我理解为在编程过程中积累的经验以及编程的习惯。在每个项目结束之后,我都会有一定的收获,这些都会影响我的相关思想。

我们的各种作业需要我们进行组队和合作,在我们合作编程的过程中,我发现我的表达和交流能力都有了大幅度的提升,与别人合作的能力也大大得到了锻炼,在时间条件的限制下,我的执行力也得到了锻炼。

关于实际成果,我们的作业项目还没有投入使用,因此目前无法作为评价标准。

posted on 2019-04-18 20:57  丸za  阅读(83)  评论(0)    收藏  举报

导航