程序员|让我们遍体鳞伤的“程序员思维”( 二 )


这5中方式 , 哪种是最优解?只能在不同的场景下 , 最优解不同 , 需求1成本最低 , 需求3给客户极致安全的保障 , 需求5是目前看起来的最优解 , 但成本是需求1的几倍 。
最悲观的情况是 , 我们公司在这个问题的初步阶段 , 采用了需求1 , 去解决;但大家都知道是临时的解决方案 , 然后在既定规划中 , 我们会马上开始进行需求2的实现工作 。 实现过程中发现掌握了我们开锁工具的人都不是公司的实际干系人 , 风险过大 , 转而实现需求3 , 之后发现跟银行合作成本过高 , 开始转为需求4马上就要实现完成我们的密码门锁的时候 , 发现需求5也就是智能门锁……普及了 。
看 , 这就是程序员思维那根面向自己的“刃” , 因为自己或者素在的组织 , “不知道自己需要什么” , 而不断的调整、优化 , 最后生生把自己逼疯的那最尖锐的一面 。
“你的逻辑不对!”
“不 , 这个逻辑有漏洞!不信你看……”
“拜托 , 麻烦讲一下逻辑 , 逻辑 , 明白么?你的想法这么浪漫 , 为什么不去写诗?”
“你什么都不知道 , 凭什么跟我谈需求?”
“拜托 , 这种常识性的东西 , 还需要我跟你普及么?”
“你真的在这个行业里干了十几年么?你这种人都能吃得上饭 , 真心就是这个行业没落的原因”
直接产出软件的程序员 , 需要一边从身边杂乱无章的信息中 , 尝试找打需要解决的各种问题 , 并明确出优先级 , 另一边还需要应对一些诸如“给我一个五彩斑斓的黑”这种“极其浪漫”的需求 。
这种情况下 , 如果没有极其优秀的沟通能力 , 那么你不自闭都感觉对不起你的专业性 。
所以你会发现你越来越不喜欢打破计划 , 越来越习惯通过持续的自我提升来满足自己 , 你的社交圈越来越小 , 甚至随着工作经验越多 , 就越不想跟人说话 , 也逐渐不再去想去争论什么 , 因为知道不可能去改变别人的想法 , 更不可能去一边一片普及所谓的“常识” , 那只会让我们觉得更加沮丧 。
越成熟就越自闭 , 这就是那把名叫“程序员思维”双刃剑的另一面 。
当然 , 如果我们的沟通能力足够的好或者心态足够好 , 这些都不是问题 。 或许我们可以给自己找一个“发言人”或者“代理人” , 他们就像一个翻译官一样 , 将别人想告诉我们的 , 更加清晰的转述给我们 , 而不需要让我们去纠结那些逻辑上的漏洞 , 同时 , 还能够将我们的想法 , 更加委婉、明确的告诉其他人 。 这样 , 也能让我们过得相对舒服一些 。
因为工作原因 , 我们不得不一遍一遍的“审视”自己 , 去翻看以前自己用心写的文档和代码 , 然后心里不断反问自己“为什么当时这么蠢?这里完全可以……” , 对自己的不宽容 , 偶尔会引发一些对别人的不宽容 , 这就造成了一种微妙的印象 。
或许某一天 , 这种思维模式开始突破我们的工作范围 , 而渗透到我们的生活中 , 我们开始变得有计划 , 有规律 , 甚至到家人定期的电话问候 , 女友的生日提醒等等 , 通过闹钟、邮件、短信等等定时任务的脚本 , 转化成了我们逐渐觉得舒适且安全的一种方式 。
只要是在我的if和else里的事情 , 我都能轻松解决;只要是在我的try和catch里的 , 我都觉得异常心安 , 而 , 我的生活 , 就像那个一直在while(alive)中循环的代码一样 , 直到有一天alive!=true 。
所以 , 他们也会说:
看 , 那个呆头呆脑的程序员 , 每天不是在写一些看不懂的东西 , 就是在开会时问一些挑刺的问题 , 或者说一些不合时宜的话 , 啊 , 据说 , 他们还为自己起了一个听起来很牛的名字:“程序员思维” 。
写在最后
这是几年前写的一篇文章 , 稍微修改了一些比喻部分 , 现在读来当时戾气真的很重 , 想来是直到今天 , 我依然不知道自己想要什么吧?