现代软件工程—构建之法---第三章:练习与讨论

1.选哪一种医生?

(1).如果是我的话,我会选择C类型的医生。因为c类型的医生看着比较靠谱,首先他的从业经验比较丰富,遇见过很多类似的病历,对病情包括手术比较有把握,对患者可能会比较了解;其次就是他可以一边手术一边聊天,表现出来的并不是不认真,而是给人一种自信的感觉,所以我会选择C类型的医生。

(2).职业资格是对从事某一职业所必备的学识、技术和能力的基本要求。职业资格包括从业资格和执业资格。从业资格是指从事某一专业(工种)学识、技术和能力的起点标准。执业资格是指政府对某些责任较大,社会通用性强,关系公共利益的专业(工种)实行准入控制,是依法独立开业或从事某一特定专业(工种)学识、技术和能力的必备标准。

       我认为,虽然大家都知道职业考试和职业证书并不是衡量一个人是否可以从业上岗的唯一标准,但是职业考试和证书在一定程度上可以说明一个人具有该方面的知识和能力,证书与上岗的关系并不是绝对的。软件工程师并不是只可以拥有正式的职业证书才可以上岗的,只要软件工程师有比较强的专业知识与能力,有职业道德操守就可以上岗就可以工作。

2.工程还是艺术

(1)、软件开发是一门工程,  是一门艺术,还是一门手艺? 你如何衡量艺术家? 如何衡量创造能力?

       无论是把软件开发看作艺术、手艺、生意、工程,还是把它看成科学,主张不同的开发者都觉得自己的理由非常充分。只要去听一听这些支持各自论点的理由,你就会发现,其中许多理由都能说得通,虽然某些理由可能比另外一些理由更加充分,但总的来说,每条理由都或多或少能够成立。另外一项较大的分歧在于软件工艺这个名称本身。有些人完全排斥这个词。他们认为,把富于创新精神且极速变化的软件行业和传统的手工业联系起来是没有意义的。这种想法确实有道理。

       衡量艺术家:艺术即是怎么样的审视美和对美的提炼创造 这里有两层含义 所谓“艺术标准”那么相应的应该说是在特定的艺术发展史中某某流派风格的标准 因为每一个历史时期对艺术的审视角度是不一样的 但要概称为一句 那么我认为应该是从哲学的生活对待人生,从哲学的态度对待艺术,从哲学的思想对待创作。同时,理性认识中国的儒、佛、道与人类生活中的真正意念,才是一个艺术家的终生追求目标。

       衡量创造能力:拥有创造力的人拥有以下条件:
1、善于观察事物的特征与规律;
2、善于归纳和总结事物的特征特征与规律;
3、善于学以致用,善于理论联系实际;
4、具有否定旧事物的思维方式,善于逆向思维;
5、具有强烈的好奇心和求知欲;
6、具有超强的学习能力和动手实践能力;
7、具有执着追求理想、不达目的誓不罢休的敬业精神;

(2)、软件设计工程师们在做代码复审的时候,是看“重复字”的多少, 还是程序的艺术性?

       在这个方面个人认为软件设计跟文学是有极大地不同的。而且即便是文学作品,关于“重复字”这件事,在不同类型的文学作品中也是不同的。同样的软件在代码复审时,代码量很大的大型软件同一个简单的helloworld小程序中的重字也没有可比性。况且在软件中代码的重用不可避免,一个函数也会被调用多次。合理的对代码进行重用,应该也是一件艺术性的工作。

(3)、在中国,一个成名的歌唱家往往出现在各种场合,演唱她当年成名的作品,观众们往往显得百听不厌。一个软件工程师就不能这样,在舞台上展现他当年写的“hello world” 程序,或者是1.0 的产品。为啥有这样的区别呢?

        一个软件工程师不能在舞台上展现他当年写的“hello world” 程序,或者是1.0 的产品的原因,个人认为是因为,软件开发虽然是一门艺术,但是它却不仅仅是一门艺术。虽然经典永远是经典,但是软件开发它自身会有一个更新迭代的过程。而且软件工程师与歌唱家并不是相同的职业,不能在同一种情况下去要求不同性质的事物会出现相同的结果,我们需要辩证的去看待这个事情。

3.绞刑架和职业发展

请同学们思考这个故事对个人及软件业发展的启示。

       绞刑架故事就是在职业发展道路上的困难。各类行业也是如此。有了困难,才能阻拦与淘汰掉不如我们的竞争者。

4.案例

       个人认为小飞应该保持保持原有的设计,以大局为重,因为可以在之后的时间内弥补,,如果是我,我会在之后的工作中承认自己的错误,并且解释清楚后期弥补的重要性。

5.成长和代码量的关系

      软件工程师的工作就是写代码,相关专业的练习也是以阅读代码,写代码为主,那么代码量和工程师的水平是线性的关系么?

      我认为不是,因为现在我认为以自己的水平写一个2000行的代码还是可以的,但是我并不是工程师,一个好的工程师我认为并不在于代码量的比较,而是着重于质量吧,一个工程师之所以被称为工程师,是因为在代码量越来越多的同时还是能保证自己程序的质量,所以我认为代码量和工程师是阶段性的成长过程吧。

6.学什么,怎么学,核心竞争力是什么?

     程序员经常在学习,交流,提高自己,怎样才是有效的学习方法呢?打字快就能写程序快吗?哪一种语言、编辑器是最好?最终我们这个行业的核心竞争力是什么?

(1)、有效的学习方法:

    1)、首先!上课之前要预习下一门课程。不懂的做好记号,因为计算机专业要上课的时候听不懂。那么就会一直听不懂了。上课的时候一定要认真听课。上计算机理论课的时候是比较枯燥的,但是一定要克服哦。上课是学好计算机最重要的部分了。一般在计算机学校都会分为理论课和上机课!上机课主要是锻炼自己的实际动手操作能力。要知道你理论在怎么厉害,不会自己动手操作那你很难学好计算机专业的。然后课外一定要多多练习。可以找一些以前别人做过的项目,然后自己在去做。学计算机专业的要经常去一些计算机相关的论坛去转转。

(2)、我觉得打字快不一定写程序快。打字只是一种单纯的体力活动或者技巧,打字的速度是可以通过练习去提高的;而写程序是一种创造活动,写程序需要程序员去动脑筋思考程序的写法。

(3)、语言:对于服务端开发来说,Java、PHP或者Python都是不错的。前端来说,Web前端也可以。

      其实编辑器的话还是听一下专业人士的分析,不要根据喜欢程度就去盲目的选择。

(4)、我们这个行业的核心竞争力是什么?

       我认为有以下4点:沟通能力;学习能力;全局眼光和行业洞察力;创新能力。

7.各式各样的工程师

     我觉的一个人的能力不是从外貌就可以定夺的,当今知名人士身体有残疾的多了去了,每一个都是一个伟人,都为各自的领域做出了极大的贡献,只要是一名优秀的,合格的IT人士,就是一个伟大的工程师,就像这位盲人工程师一样,虽然失去了视力,但是他仍可以去做编程工作,而且一做就是十几年。

8.对职业梯子的思考

       职业梯概念:职业梯 是指决定组织内部人员晋升的不同条件、方式和程序的政策组合。职业梯可以显示出晋升机会的多少,如何去争取,从而为那些渴望获得内部晋升的员工指明努力方向,提供平等竞争的机制。

       职业梯的宽度:要求员工在多个职能部分,多个工作环境轮换工作的职业梯为宽职业梯,它适应对员工高度综合能力的要求,否则只要求员工具备有限专业经验和能力的需要。

       职业梯的速度:根据员工能力和成绩的不同,职业梯设置可以有快慢之分。

9自知之明

      自知之明的概念:就是自己能了解自己,自己能认识自己,自己能认知自己。

      我对自己还是有自知之明的,对自己不是很熟知的领域,一般会虚心学习,对自己熟知的领域会分享一些经验供参考。

猜你喜欢

转载自www.cnblogs.com/fzx200056/p/9221061.html
今日推荐