「苦练基本功」超级大佬推荐工程师必看的书感悟

背景

最近看了三本书《启示录-打造用户喜爱的产品》、《学会提问-批判性思维指南》、《写给大家看的设计书》。本来超级大佬要求我们「苦练基本功」的功课是前两本加上《金字塔原理》。因为《金字塔原理》之前看过很多遍,这次不用看。正好有热心博友反馈静儿的文章排版不太好,静儿就把最后一本改成了《写给大家看的设计书》,感觉收获挺大。

上面提到的四本书都上传了,有需要的可以自己下载。

链接: https://pan.baidu.com/s/1E7zMC_9D9XpMQi_11KlXLA

提取码: r2zn

《启示录》感悟

《启示录》里提到软件开发的两种方法,一种是瀑布式开发,另一种是敏捷开发。

一、瀑布式开发

别名

  • 持续改进方法
  • 里程碑式开发方法

基本原则

  • 采用阶段式开发
  • 采用阶段式评审

二、敏捷开发

精要

  • 鼓励开发人员相信简单设计和快速重新设计的优势。

方法

  • scrum方法
  • 极限编程

实际运用

之前项目开发的版本,看有的同学有个文档每周都会review一下当前milestone(里程碑)。结果版本做出来之后大家都在修复一些问题,非常疲惫。

后来升级版本,领导说做「尽量详尽的设计」,设计到编码成为一个非常快的过程。静儿思考并提出了这个流程的漏洞,最大的问题是我们的新版本比较旧版本差异巨大,所有的技术都是新的。这时候技术本身的一些问题是未知的。

基于这个理念,静儿提出了一个改进版的开发流程:特别是涉及新技术的开发项目,应该是一个基于快速demo(模型)的设计。这时候单体测试就派上用场了。在快速demo阶段,正好可以解决凭空的想象设计带来的具体问题没有全面考虑,在开发阶段来纠正一些设计成本过高的问题。

《学会提问》感悟

《学会提问》主要讲的是怎么用批判性思维来处理自己获取的信息。里面提到两种思维风格:海绵式和淘金式。

海绵式思维的主要特点:注重吸收,相对比较少的过滤。

淘金式思维的主要特点:对信息采用使用多提问的方式来过滤信息,选择性吸收,也就是文中提倡的批判性思维。

实际运用

静儿之前觉得很容易受别人感染,好的坏的都是这样。分析起来这就和思维风格有关系:海绵式思维。

十年前静儿面试的时候做过特别傻的一件事情。面试官问了一个mysql的问题。静儿提出了一个答案,还理直气壮的说自己问过DBA了,DBA就是这么说的。淘金式思维会提出很多的问题,并思考答案,这样会获取更多正面的知识。

《写给大家看的设计书》感悟

《写给大家看的设计书》里提到了设计的四大基本原则:对比(contrast)、重复(repetition)、对齐(alignment)、亲密性(proximity)。

一、亲密性

Robin亲密性原则:将相关的项组织在一起。增强内聚性,让页面从理解上和视觉上变的更有条理。

二、对齐

Robin对齐性原则:任何元素都不能在页面上随意安放。每一项都应当与页面的某个内容存在某种视觉联系。这样来达到统一条理的视觉效果。

三、重复

Robin重复性原则:设计的某些方面需要在整个作品中重复来达到统一的视觉效果。

四、对比

Robin对比性原则:如果两个项不完全相同,就应当使之截然不同。如果差别不明显,效果不是对比,而是冲突。利用对比可以增强页面效果,更有趣,更有可读性,有助于信息的组织。

实际运用

静儿最近的目标是要写出有九年义务教育就能看懂的技术文章。换句话说叫:「说人话」。让人理解包括怎么组织语言和怎么组织形式。修炼中……

静儿看完这本书,突然对衣服的搭配有了epiphany(顿悟)。市面上有很多鞋子都是棕色的。静儿喜欢穿白色上衣+黑色裙子,这样鞋子一般选浅色。好看的棕色鞋子不知道怎么穿合适。看了《写给大家看的设计书》,等静儿再瘦两斤,要穿一身素色裙子,搭配上棕色鞋子看看效果~~

总结

多读书、读大家公认的好书。

收益

1、帮助梳理自己平时认为一些好的做法背后的逻辑,用自然语言理清楚究竟好在哪里。

2、能促进有效的沟通。

感悟

静儿遇到一些毕业不久的程序员朋友。他们往往更注重技术。相比较而言,并没有太注重沟通。静儿自己思考了一下这个问题。潜在的原因可能是相比较技术,沟通还没有成为瓶颈。

但是要注意一点:技术的提升相比较沟通这种软素质而言,进步要快的多。而且沟通影响不仅是工作,是更综合性的。如果前期不注重,当成为短板的时候,影响要更为长久。

尤其重要的是:沟通是作为架构师和项目经理最重要的基本功。所以,想要好的发展,请尽早重视沟通。

相关阅读

《程序员修炼之道》解读

原文地址:https://www.cnblogs.com/xiexj/p/10499046.html

时间: 2024-08-01 17:40:48

「苦练基本功」超级大佬推荐工程师必看的书感悟的相关文章

一个合格的前端工程师必看的书籍

以我的经验,大部分技术,熟读下列四类书籍即可. 入门,用浅显的语言和方式讲述正确的道理和方法,如head first系列 全面,巨细无遗地探讨每个细节,遇到疑难问题时往往可以在这里得到理论解答,如Definitive Guide/Programming xx系列 实践,结合实际中经常遇到的情景环境,来描述如何设计和解决问题,如cookbook系列 深入,讲解一些文化,思路,甚至于哲学上的东西,真正做到深入一种语言去编程,如unix编程艺术,程序员修炼之道等等 那么,目前为止我认为最好的书是: c

【转载】工程师必看:做完项目之后的九问!

工程师必看:做完项目之后的九问! 及时的自我总结,从技术上讲,每作完一个项目/电路设计,或者项目时间比较长,就在一段工作时间之后,好好小结一下最近的工作成绩,我觉得这是很有必要的.根据我个人的体会,可以参照下面的几点去总结. 另外我还想说,项目的完成,是公司的获得,股东的收益,而自我的获得和提高,主要是表现在以下几个方面的.如果以下所列,你的回答都是否的话,那很遗憾,你自己的收获为零,这肯定不是我们希望的. 1. 对于相同的电路/架构,是否有更深入的理解?Note:比如一个简单的bias电路,一

【必备】2015年IT销售顾问和售前工程师必看书单

春生夏长.秋收冬藏.劳动了一年,多么辛苦呀,先收收心,整理知识的时候到了.正所谓,一年冬来到,藏书分享时.推荐原则: 1与IT销售顾问和售前工程师实用相关度=实用价值2应用价值+思路扩张+带养分的杂料=成长价值3国家环境.社会价值观.隐蔽价值观=认知价值 1<商战往事:解决方案销售与售前顾问协同打单实录> 这本书有一个梗:群友聊到这本书的时候,有一哥们幽幽地说:出差住宾馆,翻开此书,即便夜色寂寥,你再也不会打地上小卡片儿的电话了.<商战往事>是一本销售与售前协同打单的全景实操方法展

「Java基本功」一文读懂Java内部类的用法和原理

内部类初探 一.什么是内部类? 内部类是指在一个外部类的内部再定义一个类.内部类作为外部类的一个成员,并且依附于外部类而存在的.内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限).内部类主要有以下几类:成员内部类.局部内部类.静态内部类.匿名内部类 二.内部类的共性 (1)内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号 . (2)内部类不能用普通的方式访问. (3)内部类声明成

「红松教育」2019中级通信工程师「综合能力」第一章划重点啦

今天我们先聊一聊 [综合能力]第一章[通信职业道德] 主要包含以下内容这些内容经过抽丝剥茧 划划重点 大家要掌握的主要就是 原文地址:https://blog.51cto.com/14226733/2413698

17个Web前端开发工程师必看的国外网站

Web设计是一个不断变化的领域,因此掌握最新的发展趋势及技术动向对设计师来说非常重要,无论是学习新技术,还是寻找免费资源与工具,设计博客都是很不错的去处. 1. Smashing Magazine Smashing Magazine创建于2006年,是最好的设计博客之一,有很多Web设计和开发方面的高质量文章,内容涉及HTML5.CSS.JavaScript.Photoshop.Wordpress.壁纸和网站可用性. 2. Net Tuts Net Tuts是一个高品质的设计博客,发布技术,技巧

开发工程师必看!不管你技术多牛逼

1.为什么平胸妹子一般都是吃货?神回复:因为穷胸极饿! 2.别人的孩子都会买手纸了,我的孩子还在手纸上.神回复:别人的老婆都会生气了,你的老婆还要充气. 3.都40多了,还有许多事不明白该问谁?神回复:外事问谷歌,内事问百度,房事问天涯! 4.女生为什么会来大姨妈?神回复:这个卵子啊,等不到精子啊,那叫一个郁闷,边走边吐血. 5.公交车上看见一个合口味的男生,怎么勾搭?神回复:假装癫痫,口吐白沬,倒他怀里,双手抽搐,趁机抓他裆,够大就继续,不满意就--哎!我好了! 6.你离死亡最近的一次经历?

Android开发工程师必看笔试题:Java基础选择题(一)

1.在Java中,( )类提供定位本地文件系统,对文件或目录及其属性进行基本操作.(单选) A) FileInputStream B) FileReader C) FileWriter D) File 2. Java中的集合类包括ArrayList.LinkedList.HashMap等类,下列关于集合类描述错误的是()(单选) A) ArrayList和LinkedList均实现了List接口 B) ArrayList的访问速度比LinkedList快 C) 添加和删除元素时,ArrayLis

Android开发工程师必看面试题:java基础知识盘点

面向对象编程(OOP) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用 增强代码的可靠性和灵活性 增加代码的可理解性. 面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象.下面的章节我们会逐个分析这些特性. 封装 封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内部的数据.在Java当中,有3种修饰符:public,private和protected.每一种修饰符