读软件架构师的12项修炼有感



近期出于工作原因,我想了解一些软件架构方面的知识理论,相信从事软件开发相关职业的人,会频繁的听到软件架构这个词。软件架构,对于不从事技术的人看来是一个很高大上的词汇,对于从事技术的人看来,有一些雾里看花的朦胧。即使理解软件架构的人,可能也会有一些会有类似于一千个读者一千个哈姆雷特一样的感觉,所以说软件架构是一个很宽泛没有标准答案的东西。总体来说,大家认为软件架构还是偏技术的,但是这本书却几乎没有技术相关的内容,这本书的作者假设你在技术本身的积累已经足够了,他更多的是强调软技能的提升。软件架构方面的书非常多,这一本是标新立异的,虽然它没有介绍具体的技术和方法论,但是我认为它提供的价值更加的独特和重要,对于一名软件开发人员来说,不论你处于什么样的位置,都可以通过阅读这本书,吸取到技术之外,重要性不亚于技术的知识。

刚刚步入职场的软件开发人员,往往会有一个技术至上的思维误区,于是埋头苦干,忽视软技能的提升,我自己就是犯了这个毛病。书的前言引用了美国企业家、百事公司副董事长罗杰·恩里科的一句话,软的东西总是比硬的东西还硬。译者在序言部分讲的更好:

Dave Hendricksen先生不仅在书中专门谈及沟通、领导力等与人打交道的话题,也有创新、认知这些深层话题,让我们知道,工作中不仅有技术,不能只埋头于技术,还要有大的眼光、能为公司创造效益,人生才能有所成就。这些都是程序员和其他技术人员最容易忽视的地方。而对这些方面认识浅薄,会对我们的事业发展造成很严重的障碍而不自知,形成书中提到的“技术之天花板”。

书籍目录分为三个部分,第一个部分就开始讲关系技能,其中包括举止,沟通,协商,领导力,政治五个章节,可见作者在软技能中对关系技能的看重,第二个部分讲个人技能,包括透明化、激情、语境切换,透明化主要说自我为人透明、项目透明、关系透明,主要有自我表现真实,关系的信任,以及及时发现问题,不要试图掩盖问题,第一时间向上报备等,这一点我比较有感触,在我们公司里,试图掩盖问题,延迟上报要比错误本身更加不可原谅,语境切换主要讲在不同的环境下的一些要注意的问题,第三个部分讲商务技能修炼,包括商务知识,了解公司的历史和文化,了解公司的产品,盈利模式,了解公司的顾客,还有创新,实用技能,以及认知方面的技能。

书中讲的东西非常多,所以内容显得有些松散,有些还比较书面化,没有深入的剖析下去,有点儿像列清单,告诉你该干嘛干嘛,这部分看起来有点枯燥,我是跳跃似的阅读,找了感兴趣的一些内容看,感觉讲的很好,总体来说,还是非常值得一看。下面列举了一些我觉得不错的想法。

在学会委派一节中,作者讲到

当你在事业中有所进展,并担当更高的领导职位时,你必须不可避免地允许别人接手项目的一部分并将其完成。要实现这一进化,一个关键的概念是允许别人参与决定解决问题。如果允许某人贡献思路,他就会有主人翁的态度。他就会接手项目运作它。从现实意义来说,这成了他自己的事情。

其实不一定要担当更高的领导职位才会需要这样的技能,在一个大的公司或者部门,你想做一个事情,往往需要很多人的协同,而且有时候只有多个人的齐心协力,才能把事情朝正确的方向推进。学会委派意味着信任身边的人,并且可以发挥团队的智慧力量。这种方式远比自己单打独斗要强的多。

在政治相关的章节,作者首先介绍了政治的定义,关于政治真正简短定义是“通过与别人协作把事情办成的艺术”。作者还讲到

我们通常看到的政治系统用于塑造国家和世界交流,但我们经常不会认识到同样的力量出现在一般的商业企业中。在与别人的交往中,我们为其提供帮助,也许在日后可以得到回报,如同这是一笔精明的投资。另一种情况是,我们工作的方式也许让我们欠别人的人情,因为我们太依赖于别人的帮助了。

除此之外,还包括理解政治环境,公司的战略方向,文化,公司内部的竞争,个人的处事原则以及面对问题的处理态度。这一章的内容感觉更适合公司的领导层,但是普通的员工不妨也学习学习,政治就像空气一样,人是无法脱离的,作者在鼓励人们关心政治游戏中这样说到

不要仅仅因为你觉得政治将成为你角色的一部分,而去躲避这种局面或职位。每一天里都有政治。你要学会如何面对艰苦的情形,仍以积极的行为与他人打交道。发展这些技能可能需要你去上些课,读些书,冒些风险。如果你像我的话,进入政治领域会让你无法舒坦,逼迫你成长。这并不总是“好玩”,但你可能会随着时间的流逝而感受到自身的成长过程。学会玩政治游戏并不像看起来那么难。你可能会沿途碰得鼻青脸肿,但最终你会变得更强壮。在政治上更有技巧时,你的技术技能和新培养起来的软技能会让你做出更大的事情,会自我感觉更好,人生旅程更有意思。

在等待机遇一节中,作者说

如果你热情地与每个人共事——从同事到经理、到客户、到销售商,在你所做的每件事上表现出执著和技能,机遇就会随处可见。通常,你交往的这些人正是机遇之源。客户和销售商可以带来学习和超越别人的机会,所以不要忽略他们。你渴望利用这类机会的表现会反映到公司。

这个理念和禅与摩托车维修艺术一书中提到的良质有共通之处,也可以理解为工匠精神,我觉得就是抛除杂念,但行好事莫问前程,这样有一天好运气也许才会眷顾你。

有一个很小的篇幅讲到工作和生活,作者说

家庭远比工作重要。当你在家时,就别老想着工作的事。你的家庭同样也受语境切换的影响。在你陪家人时,要一心一意地和他们在一起(忘掉工作和其他问题,你随你的家庭同样也受语境切换的影响。在你陪家人时,要一心一意地和他们在一起(忘掉工作和其他问题,你随后会处理的)。专心致志,你会更愉快,你的家人也会更愉快。

的确是这样,有些人是工作狂,有些人更喜欢生活的感觉,这些都没有问题,但是很多人没有把工作和生活区分开,这样会导致工作和生活的时候不能专心致志,结果什么事都没有做好,我也渐渐的倾向于在工作中把思想都集中在工作,下班回家后就好好想想怎么安排好家庭生活,看看家人和孩子需要什么,这样也许某个时候你的工作不顺利,但是你的生活可以抵御这种不顺心,然后有时候生活中不顺心的事,不会被带入到工作中,专心于工作也可以让你暂时放下烦恼。最重要的是,在各个环境中专心致志,可以保证各个环境下的目标被最有效的执行。

在创新一章中,作者提到很多宝贵的建议,比如不怕犯错,理想情况下,我们都能从错误中有所收获,以此改进我们的知识,继续前进——无所谓伤害,无所谓犯规。还有就是有时候创新会过多的考虑市场考虑用户,作者引用了乔布斯的一句话,你不能只问客户他们想要什么,然后试着给他们这些东西。在你把这些东西做好后,他们又会索要新的东西。还有

创新要花时间把每一个主意简化为最简单的元素,这样做能让创新传播和扩展。只要你的金钱相关者体验到其基本形式的创新之处,他们就能迅速嗅到许多发展和应用的潜在领域。在这一点上,只要你提供原型,他们就能预见到通往投资成功的道路。

最后是我个人的一些感悟,对于软件开发人员来说,专研技术,提升自己的技术水平是立身之本,所以花大量的功夫努力是必须的,但是往往靠自己能学到的东西有限,还是要投入到工作中,解决具体的问题,技术才能真正的精进,另外,企业的成立目的是经营和盈利,往往技术本身并不直接赚钱,技术的价值在于它的生产力,帮助企业赚钱,技术人员和企业并不是简单的雇佣关系,只有目标协同,才能双赢,从这个角度来说,普通员工其实也可以发挥重要的作用。只有软硬的功夫兼修,才能解决在技术发展和职业发展中遇到的问题,当然这也是作者反复提及的思想。

你可能感兴趣的:(读软件架构师的12项修炼有感)