一、突破程序员思维
程序员思维是程序员从开始学习“Hello World”开始就逐渐培养起来的一种思维模式,你会发现程序员在看待世界的时候会经常从计算机的角度去描述世界,这能帮助程序员更好的构建代码。那为什么要突破程序员思维呢?
1、为什么要突破程序员思维
很多程序员都有过这样的抱怨:“为什么他的技术还没有我好,反而能爬到我上面去?”那么很可能他已经突破了程序员思维,而你仍旧在程序员的世界里打转。
随着技术的进步和专业领域的融合,高级程序员的职能正在不断的扩展,你一定听过全栈工程师、增长黑客这些名词吧,这些词没有听过,那架构师、系统分析师这些肯定听过了。想要获得这些头衔,仅仅靠程序员思维是不够的,更需要具备设计、运营、测试等不同领域的知识维度,而这些常常会被一般的程序员所忽略,他们往往认为一名程序员只要写好代码就行了,这也是那些程序员只能担当公司代码的“高级搬运工”,而无法更上一层的原因。
突破程序员思维,不仅仅会对工作有帮助,对程序员的生活也会有巨大的转变。
人们对于程序员的印象通常是呆呆的、木木的、毫无趣味的,这也是因为程序员长期固守在程序员思维的原因。突破程序员思维,会帮助你从不同的角度去看待事件,当你看待世界的维度不在单一化了,不同的维度自然会碰撞出火花。
2、如何突破程序员思维
(1)探究问题本质
程序员在遇到问题时,往往第一时间想的是如何用技术的方法来解决问题,而不去探究问题的痛点所在。比如,很多用户在使用我们的网站的时候,经常会提出各种的问题,这些问题有的是技术问题,有的却是用户的习惯问题。对用户来说,他们只知道把问题抛给程序员,却从来不去纠结为什么会有这样的问题。如果程序员不去深入探究这些问题的本质,只知道埋头苦干,往往是嘴上抱怨着、辛辛苦苦地把问题解决了,却得不到用户的认可。
(2)像专家一样提意见
程序员在与客户交谈时往往处于弱势地位,他们会被动地接受用户提出的所有要求。而用户往往是一个“门外汉”的角色,身为一个程序员不应该只是被动的接受、去实现、接受、去实现…
一个优秀的程序员需要去探究用户背后的真正意图,根据用户的意图去构建合理的方案,然后从专业的角度引导用户去试着接受你的方案。在双方达成一致的情况下,去实现它。不然往往是做了半天,结果却不是用户想要的。
(3)精与杂
程序员经常会抱怨用户提的需求多么差、设计做的产品无法实现等等。那是因为你只从程序员的思维来看待问题,当我们在钻研技术的同时,应该去结束一些设计意外的只是。比如设计、运营等。那么我们就会从他们的角度来看待产品,这样可以更好的帮助我们沟通与实现代码,而不是一味的抱怨,之后便埋头苦干。
二、懂得“这样就好”
身为一个程序员,在实现到吗的时候往往去创造很多新的功能,使用很多新颖的技术,在对用户讲解时最爱讲的就是“可配置功能”,虽然这些东西都很新颖,但这真的是用户想要的吗?程序员往往在“创新”的时候,就离用户的真正意图愈行愈远了。我们称之为“过度设计”。
我们在做设计的时候,需要时长提醒自己,是不是这样做就可以了。花里胡哨的功能不一定符合用户的心意,只要能抓住用户的痛点,即使是简单的功能也一样会被用户喜欢。
书中第二章还讲了如何成为一名“全栈工程师”、命令行的使用、重构系统等实践性比较强的内容,篇幅有限,有兴趣的朋友可以阅读原书。