程序员心中的“高山”与“大河”(二)
吴旻
泰岩网络工作室
三、迷茫的直觉
很多人不知道直觉是啥东西;或者很多人有的只是感觉,或者觉得,而不是直觉。技术与艺术的一个重要区别就是技术更客观一些,艺术更主观一些。但这同样说明,技术依然有主观因素的存在。比如,技术选型与设计方案的主观性就很强,也没有那么严格的工业标准,好与不好很可能是结果导向的;今天看合情合理,明天看就是打死都不会那么做了。所以说,看起来这么科学的东西,有时候竟然也是如此的主观。技术人员缺少正确的直觉,其实和在大海上航行没有指南针是一样的,非常凶险。我一直认为,设计人员其实是有一部分自由量裁权的。也就是说,如果他的直觉靠谱,后果不那么严重的事情就不用讨论而直接开干吧。
当不能控制项目的走向时,技术人员会有一种迷茫感。比如出现了一个莫名其妙的Bug,无论如何也想不出来为什么,那种感觉真是见了“鬼”了。“鬼”见多了,许多人会感到“精神崩溃”,从而变得迷信,于是也必然会期待奇迹的出现。多年前,有个兄弟使用多台设备进行测试,他不是为了寻找问题的原因,而是希望万一哪一台可以正常,自己的压力会小很多。
其实缺少直觉的真正原因是我们没有从根本上理解这件事,不清楚这些事情的丝丝缕缕的直接的、间接的关系。它应该是什么,它可能是什么,它不会是什么,如果我们真的清楚了,就没那些“鬼”了。细节,真的是细节,有时候改变了事情的方向。了解了这些细节,也才会有了那些惊人的直觉!
四、思维断路和理解偏差
深刻解团队合作的精神与含义,同时也能理解职场当中的规则与潜规则。比如,公司让我们解决问题,真的不一定意味着必须独立完成。这完全不同于闭卷考试,与他人合作等同于作弊。软件开发提倡有效率的合作,好点子也经常是在交流中取得的。所以,不懂的时候,需要帮助的时候,与别人商议是正确的,千万不要不好意思。
对于技术人员来说,理解职场不是件容易的事。但这恰恰说明我们必须得弄明白它,要不然它就一定会影响我们的工作。工作的时候要主动,不能去等。如果自己没事做,那就自己给自己找点到做,千万不要理解成是领导没分配工作。一定要适时的主动汇报工作,不可事前不申请,事后不汇报。
努力明确自己的职责,清楚自己的工作边界。有些兄弟只知道自己做想做/要什么,不清楚别人想要/做什么。对于工作的边界,哪些是自己的,哪些是别人的,哪些是公共的,要及时的想清楚。特别想说的是,不同的时间地点,这些边界是会不一样的。
做事情未必一定是二选一,对同一事情也可以从多个角度去理解。武断,或者简单粗暴,都会阻碍我们的能力提高。曾经有个兄弟会私下简化操作流程,仅仅是因为他觉得没有必要。他把事情想简单了,因为事情只在某种条件下才是那个样子,而多数情况下是不能那样处理的。他大约只知道可以是什么,却不甚清楚应该是什么。我们在工作中一定要分清没有和应该有、不会和应该会的区别。没有但应该有那就让它有,不会但应该会那就让它会,只要条件允许。
做事情一定会有困难,办实事的人困难更多。我们需要一些技巧。经历得多了,一定能明白,很多事情可变通的余地其实非常大,我们只需弄清的是哪些可变的,哪些不可变的。
五、努力成为独挡一面的中坚力量
好多兄弟习惯于确定的规则。比如,高考要成绩,那就成绩导向;公司要“减少BUG数量”,那就BUG数导向。但规则的背后,一定还有着某种“宗旨”,或者某种目标。能把规则和“宗旨”理解成一个事物,我们大多数人就进步了。如果按规则办事,但做出的事情结果却偏离“宗旨”的内涵甚至相反,那就变成了“恶意”了,很少有哪个组织能容忍这样的“恶意”事件。
我接触的程序员,大多缺少主见,同时容易偏见,或者执著于一个观点。要明白,主见是能说服大家,得到大家认同的那种观点;而偏见则是我就这样了,别人爱咋咋地。真的不是大家不支持你,而是你要想办法说服大家。能说服大家一起做一件事情,你就是独挡一面的中坚力量!
如果你发现自己有上面的这些特质,不用担心,这说明你是一个非常典型的技术人员;如果你已经跨越了上面的问题,恭喜你,你已经开始超越技术了!我看好你!(完)