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

懒惰

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

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

经常失败

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

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

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

制造问题

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

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

亲自动手

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

忽略人的因素

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

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

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

杀死你的宠儿

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

发呆

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

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

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

创造力

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

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

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

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

  2. C++软件工程师,你该会什么?

    请尊重原创: 转载注明来源   原创在这里哦 C语言广泛用于基础软件.桌面系统.网络通信.音频视频.游戏娱乐等诸多领域.是世界上使用最广泛的编程语言之一.随着物联网技术的发展,C/C++技术在3G网络 ...

  3. 1、软件工程师要阅读的书籍 - IT软件人员书籍系列文章

    软件工程师要阅读的书籍估计是项目组内最多的.软件工程师处于项目组中最基础的人员储备阶层,与项目的关系最密切.当然,现在是大数据时代,我们无法全部看完所有相关的书籍,只能够先学习工作需要的知识,然后在项 ...

  4. [No00004D]深度思考好文:软件工程师的困境

    昨天是我一同学结婚的好日子,同学们大家聊各自的工作,有个同学突然问了我一句:我们同学中好像做软件的不多?如果再细分,好像做网络相关的更少? 回想起当时为何读计算机信息管理的专业,是因为那时听说读电脑未 ...

  5. 一个IC软件工程师的2017年终工作总结

    相比2016年的波澜起伏,2017多了一份平静和清淡.不过,平静的生活下,总有一颗飞向远方的心. 在这一年将近结束的时候,总结一下自己的工作,生活和学习.也顺便展望一下未来的2018,看看有哪些 美好 ...

  6. JAVA软件工程师应该具备的技能有哪些?

    前言:有朋友问我:学历和能力哪个重要?我个人觉得能力大于学历,没有能力哪来的学历,学历只是证明能力的一方面.为此在能力方面畅谈java软件工程师必备的能力.作为一名合格的java工程师,不仅需要学历, ...

  7. JAVA软件工程师应该具备哪些基本素质?

    必知:软件企业要求基础软件工程师具备六大基本素质,即良好的编码能力.自觉的规范意识和团队精神.认识和运用数据库的能力.较强的英语阅读和写作能力.具有软件工程的概念和求知欲和进取心. 1.良好的编码能力 ...

  8. 后记:IT软件人员学习的书籍 - IT软件人员书籍系列文章

    1年了,软件人员学习书籍系列总算是写完了.虽然文字篇幅不多,主要对各个角色的一些基本内容做了介绍,但是更重要的是能够提供相关的人员学习书籍进行下载,让更多的人能够从中学习到更多的知识. 这个系列,从项 ...

  9. 开篇:软件项目的整个流程 - IT软件人员学习系列文章

    这段时间闲来无事,就在总结以前的项目经验,然后写成博客的形式以进行记录.本文就对<IT软件人员学习系列文章>做个开篇吧. 对于IT软件的开发来说,无外乎B/S.C/S和Android.iO ...

随机推荐

  1. Easyui-Combobox多选下拉框

    因为工作需要,引入combobox多选下拉框,并且获取选择的值并以","分开. 效果如下: 代码如下: <html> <head> <title> ...

  2. Spring集成PageHelper的简单用法

    1.Maven依赖,注意使用PageHelper时的版本必须与Mybatis版本对应 <!-- 添加Mybatis依赖 --> <dependency> <groupId ...

  3. JAVA时钟

    效果图如下: //简单动态时钟程序,以图形和数字两种方式来显示当前时间 import javax.swing.*; import java.awt.event.*; import java.awt.* ...

  4. 初学C++,开博第一篇

    几个维度相同的数组转置算法,这两种完全相同://注意:如果维度不同,转置会出错误,因为下标会越界...解决办法是把数组的维度调齐,或者是写到另一新数组中. for(int i=0;i<row;i ...

  5. 暑假集训(2)第四弹 ----- 敌兵布阵(hdu1166)

    D - 敌兵布阵 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:32768KB     64bit ...

  6. sql server 2008数据复制方法

    发布订阅份为两个步骤:1.发布.2.订阅.首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅.发布可以发布一张表的部分数据,也可以对整张表进行发布.下面分别 ...

  7. winFrom窗体样式

    ControlBox窗口样式:确定窗体是否有"控件/系统"菜单框. 设置为隐藏 False AutoSizeMode  GrowAndShrink 指定用户界面元素自动调整自身大小 ...

  8. opcache运行时配置参数详解

    PHP的opcode缓存又出 了新成员(说新不新,也有一段日子了),那就是opcache.新浪微博等都在使用,惠新宸老师强力推荐.本人最近根据官网地址 (http://www.php.net/manu ...

  9. struts2 修改action的后缀

    struts2 修改action的后缀 struts2 的默认后缀是 .action 虽然很直观,但是很烦琐.很多人喜欢将请求的后缀改为 .do 在struts2中修改action后缀有两种比较简单的 ...

  10. 【TLD】标签库描述符

    tld是taglib description 的缩写 定制标签拼图中的最后一块是TLD(标签库描述符)文件.创建的每个标签都必须在一个TLD文件中声明,而且这一文件还必须连同标签的Java处理器类一起 ...