没有最好,只有更好。

前不久,和北京的一个同事讨论一些问题的时候,他突然说:“很高兴自己是做开发的,特别是Web开发,我很喜欢这个行业。” 当时,我凝固了,我想这家伙不是写代码写傻了,不过,随后我回了一句,我也喜欢。哈哈~~自己又是一阵诡异的傻笑。这是我做开发这么长时间以来,第一次听到有朋友说喜欢这个行业,也是自己第一次承认自己也喜欢开发。
当然,这篇文章主要是写给非程序员的人,来了解程序员这个工种。
我是一个程序员(开发工程师),我极力的用其他工种的思维来思考那群程序员。

1、我提出的需求会不会被他们拒绝,我的需求是不是有些离谱?
不,程序员不喜欢拒绝你的想法,越有难度,越有挑战,你的需求也永远不会离谱,在他们看来,需求方的想法很少“正常“过。以前,我在一个香港人开的公司的时候,老板说他要做个像银行一样的叫号机器,还要打印和银行一样那种纸条,说是要卖20W。结果,还是被我用WEB做出来了,最后这个代码卖了10W。

2、我的文档写详细了没?不知道他们理不理解我的想法?
在程序员看来,需求方(客户)的想法永远是模糊的,抽象的。我们的工作就是把抽象事物实例化,具体化。还是叫号机的例子,我一开始就想,就喊我一个人,要搞定银行花了那么多钱做的叫号系统,有点狂想。和老板交谈后,老板说,不管怎么样,只要有声音,如果排队的人有次序,成本最便宜就可以了。得,这就好办,最后我还给他弄了个男女声版的叫号系统。

3、我还有很多想法,要不要告诉他们?
当然要说,越早说越好。早一点告诉我们,总比晚说好,不然他们会发出奇怪的语气助词,并用010的眼神说,“啊!原来你要做成这样。”,即使,有个想法没有做成功,但有一天可能他们会说:“嘿~~上次,你们说的那个想法还想要吗?我们现在可以实现了。”。当然沟通是最花时间的,更何况要把你的想法告诉一堆用120码速度思考问题的”疯子“。高速路上不太好换路线,错过了那个岔路口,要绕很久才能出高速,再上高速,方案的改变需要成本,越早告诉司机要去哪里,越好。

4、技术实现成本和需求强烈程度哪个优先考虑?
在这个时候,你可能被问,你一定要求这样做吗?这是时候需要慎重考虑这个问题。程序员们常在时间,性能,成本,可扩展性之间追求一个平衡,追求性价比最高的解决方案。

5、能不能实现?要多久?
这是我经常被问的一个问题,一般在回答不能实现的后面,我会说你可以这样做。

总之,这是一群可爱的程序员们,他们的世界充满着冒险和刺激,每天都在对付疯狂的需求和诡异的问题。