转载:CEO应向软件工程师学习的7个技能

软件工程师的哪些技能是值得CEO学习的?显然,软件工程师是逻辑的,高效的,注重细节的,有计划的,并且大多数CEO也是如此。但是,软件工程师还有一些更微妙,甚至是令人懊恼的品质,那么CEO是否可以从中学习呢?

懒惰

优秀的工程师(不只是软件工程师)是懒惰的:他们喜欢自动化重复性的工作,不愿意做任何不必要的工作。会议和文书工作通常都属于这一类。通过避免不必要的工作,软件工程师可以更高效,并且有更多的时间去做更多有用的工作。

CEO也应该力求高效率的偷懒。删除不必要的活动,把精力和时间放到提升价值的任务中。在大多数情况下,重复做同样的事情是毫无意义的。如果一定要反复做的话,那么用自动化的方法。如果你做不到自动执行的话,那就委托出去!

经常失败

软件工程师有着与发明家和科学家部分相同的特质——都饱受失败的风吹雨打。通常情况下,这是有意的,但有时是实验性的。这不是鲁莽,而是一种无畏。未知是一种需要探索的风险,你无法拒之于门外。专注实验和原型能让人快速学习。

CEO让自己适应这种做法将会产生巨大的影响:开拓新市场,尝试不同的方法,甚至研究趋势和预想。关键是要失败得既快又不浪费成本,并且牢记目的。(如果你觉得这听起来有点像精益生产,那么就对了。)

如果你不是时常失败,那么说明你没有尝试任何新的东西。

制造问题

软件工程师会积极寻找问题,有时甚至会故意制造问题。问题是变相的机会,但是找不到问题并不意味着没有问题。软件工程师宁愿毁去成果也要看看会发生什么。他们编写测试只是为了确保所有的边缘情况都有效。他们实施监控系统,这样出了问题就会被警告。总而言之,他们会聆听人们的抱怨——因为这可能会有惊喜,这和自己找问题是一样的。

初创企业的CEO应该学会如何系统地做到这一点,探索机会空间,直到找到需要解决的正确问题,用正确的解决方案,针对正确的市场,在正确的时间。有助于企业站稳脚跟。而知名企业的CEO在这方面做得很好,他们将制造问题作为持续改进的一种形式。

亲自动手

软件工程师往往不喜欢纸上谈兵。他们不仅战斗在编码前线,而且还与用户和客户合作来了解各种要求和投诉。答案不是你坐在办公室就会出来的:它们在工厂车间,在客户的办公室里。学习软件世界关于用户体验的概念,研究它应该如何适用于你的供应链,以及你的员工。一个新的角度可能意味着意味着一个巨大的惊喜。

忽略人的因素

当软件工程师工作的时候,往往会忽略人的因素,尤其是当他们正在努力实施改进的时候。他们认为,大多数问题起源于系统某处的约束——可以是时间,金钱,动机,激励,标准,也可以是过程——个人往往无力解决系统。文化,同伴的压力,以及对现状的偏见是需要克服的强大障碍。尚未解决的事情,改变系统是紧悬软件工程师头顶的宝剑,这些都与人的因素无关。

CEO通常惯于应付政治系统和与人打交道,所以他们可能会倾向于将风险和指责归派给某些个人。有时候可能这也不失为一个不错的方法,但如果你回顾过去的人所运行的系统,那么你或许会发现系统才是问题的根源。

请记住,没有系统是完美的,没有系统是神圣不可侵犯的。

杀死你的宠儿

工程师不怕测试自己的想法,并且如果证明是不切实际的,也会毫不犹豫地丢弃它们。他们经常会通过摒弃宝贵的想法和业余项目来“杀死他们自己的宠儿”,无论这个宠儿有多么地令人着迷,如果它们不能工作的话。CEO可以通过面向现实审核他们的想法,也可以通过客观地评价他人的表现来“杀死自己的宠儿”。 (显然杀人是犯法的,此处并非真正的人。)

发呆

软件工程师常常发呆,但他们称之为系统思考:一种让人将一系列复杂的相互关联的系统视为一个整体的能力。系统思考可以说是从复杂性中生出连贯性和简单性最重要的(有时也是最恼人的)催化剂。软件工程师擅长系统思考,解决问题通常要求他们平衡包括时间、资金和质量以外的多重约束。虽然这种习性在决定去哪里吃午饭时让人非常懊恼,但在处理意义重大的问题和寻找机遇的时候,非常有价值。

CEO必须时刻处理多个相互关联的系统和冲突约束。孤立地检查每个部分是不够的——你还必须考虑所有潜在的相关关系和力量。系统思维同时包括从多个角度出发的,高层次的和细微的思考。由此看来,一个完整的模型可作为一个识别、组织和解决子问题的框架来提供服务。通常,若干个简单的理念和规则就足以让一个乱七八糟的败笔蜕变成一个整体化的结晶。

软件工程师不是因写代码而获取报酬:而是因思考。系统思考在你写代码的时候是不会发生的(不过有时候,两者可能会同时进行)。所以,如果你看到一个软件工程师在发呆,经常发呆,那才是真正干活应有的样子。简单又优雅的解决方案不是从天上掉下来的,而是通过不懈地思考和追求得来的。

创造力

给自己一点安静的时间,发挥你所有的想象力和创造力,来承担你作为一个CEO需要解决的问题。分析问题的错综复杂和约束条件。猜想它们之间的相互作用力。从多个角度加以思考。寻找有助于解释或简化发生了什么或者你想要发生什么的模式和类比。并且当你发现一个可能的回答时,运行一个快速又廉价的实验来测试。然后重复。循环往复。你的工作,就如同软件工程师的工作一样,是永远做不完的。

时间: 2024-10-13 16:04:53

转载:CEO应向软件工程师学习的7个技能的相关文章

CEO应向软件工程师学习的7个技能

软件工程师的哪些技能是值得CEO学习的?显然,软件工程师是逻辑的,高效的,注重细节的,有计划的,并且大多数CEO也是如此.但是,软件工程师还有一些更微妙,甚至是令人懊恼的品质,那么CEO是否可以从中学习呢? 1.懒惰 优秀的工程师(不只是软件工程师)是懒惰的:他们喜欢自动化重复性的工作,不愿意做任何不必要的工作.会议和文书工作通常都属于这一类.通过避免不必要的工作,软件工程师可以更高效,并且有更多的时间去做更多有用的工作.CEO也应该力求高效率的偷懒.删除不必要的活动,把精力和时间放到提升价值的

干货 | 软件工程师必知之事 —— 如何定义自己的职业路线?

有关软件工程师职业发展的文章并不少,甚至可以说是泛滥.很多人都能在这个话题上说两句,三五年工作经验的编程老鸟.架构师.技术VP.CTO,都有各自的看法与实践经验.没有哪一套方法是适用于所有人的,这一套软件工程师职业发展纲要,也不过是在你踽踽前行的路上,迷茫时可用来参考借鉴.你的核心竞争力,永远是你的自身实力.切记! 一.专业技能学习捷径 1 爱上你的编码神器 众所周知,软件工程师要做的工作就是写代码,准确地说,你的目标应该是写出满足业务需求并且无法找出 Bug 的代码,而不是写一大堆没用的文字.

《构建之法》学习(3)——软件工程师的成长

<构建之法>学习(3)--软件工程师的成长 1.1个人能力的衡量与发展 积累软件开发相关的知识,提升技术技能 积累问题领域的知识和经验 对通用的软件设计思想和软件工程思想的理解 提升职业技能 实际成果      衡量软件开发的工作量和质量 项目/任务有多大? 花了多少时间? 质量如何? 是否按时交付? 1.2软件工程师的职业发展 职业发展--考级之路 职业成长--Steve McConnell版本 职业成长--大公司版本 职业成长--自我评估 1.3技能的反面 通过玩魔方的例子说明了技能提升的

学习.NET软件工程师在线培训 圆IT梦想

.NET软件工程师专业高端网络在线培训就业课程(周末上课,在线教学,异地学习,上海就业) 课程讲师:北风.NET专职讲师团队 课程分类:套餐 适合人群:高级 课时数量:2000课时 用到技术:MVC5,EF6,BootStrap,HTML5,JqueryMobile,VS,.NET,http://ASP.NET 课程优势: 优势1.强大的课程体系,首创任务驱动教学法,42个经典案例,.NET开发一网打尽. 我们从.NET负基础开始讲起,内容贯穿C#语法基础,新语法特性.网页技术,数据库技术,客户

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

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

构建之法学习(第三章 软件工程师的成长)

本章的主要知识要点:评价软件工程师水平的主要方法 1.  软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的.在团队的大流程中,是每个具体的个人在做开发.测试.用户界面设计.管理.交流等工作.因此个人在团队中也有独立的流程. 以开发人员为例,流程如下 *通过交流.实验.快速原型等方法,理解问题.需求或任务 *提出多种解决办法并估计工作量 *其中包括寻找以前的解决方案,因为很多工作是重复性的 *与相关角色交流解决问题的提案,决定一个可行的方案 *执行,把想法变成实际中能工

谈谈软件工程师所应具有的最基础的个人知识管理能力

看到这一篇文章,使我想简单写一写软件工程师所具有的最基础的个人知识管理能力. [编辑推荐]一次非常有意思的sql优化经历 (28/4656) » 1. 这是一篇很基础的文章,因为今年已经是2015年,不是2005年.归类为入门级知识 2. 能得到编辑推荐说明,编辑本身对"sql优化"所知不多: 而博客园已经有大把这方面的文章,他不知道.为什么他不知道:主要原因是没有能做好个人知识管理. SQL Server优化50法 这篇写得还可以.归类为中级知识 但最好的文章,并不在博客园.针对my

一个三年工作经验的软件工程师的经验之谈

时间过得很快,我做软件工程师已经三年整了.我没有做过一个项目,一直在做框架相关的工作,有时维护Web框架代码,有时写移动Hybrid的前端UI框架,也有时做开发工具或自动编译平台等. 我想分享下这段时间在工作上的个人经验,分为几点: 做框架的态度 我工作中做得最多就是框架,框架的本质是提高重用性.对于做框架,除了本身能力很重要外,很关键的是做框架的态度. 1. 不要因为困难的而不去做 (1).作为程序员的程序员,如果你解决了一个困难的问题,你造福的是所有使用你框架的人. (2).即便是很简单的功

vc++视频教程 软件工程师培训课程 VC知识库大讲堂

下载地址: http://www.enginedx.com/78/m299/ <C/C++软件工程师实战能力集训大纲>的现实意义在哪里?]         1.作为一个C/C++软件工程师,需要掌握的东西真是挺多的:        2.纵观目前中国的C/C++ 人才队伍,能满足以上能力要求的,只在少数.很多用人企业感叹,社招的人员能力参差不齐.普遍现象是他们只对其中的某一小部分内容有一个熟练的掌握,而对大部分的内容一知半解,甚至一无所知.这也是直接导致国内软件业开发实力普遍不强的最重要的原因.