程序员的工作究竟有多复杂? [网络文摘]
偶尔和圈外朋友聊天,他们经常会问我,你们程序员每天究竟在忙啥?工作很难很累吗?为啥老是看到IT男猝死的新闻?平时要少加班多注意身体云云……一般我都直接打断,对于我来说,写代码没啥难度啊,更多的时间都花在思考怎么写上了,纯属脑力活,放心,哈哈。

这次,我就尝试以更友好且更容易理解的方式来回答这类问题 ?
在此之前,请描述做一份辣椒炒肉需要哪些步骤:

你可能会这么说:

选购猪肉、辣椒及各类调料等
洗净,切肉和辣椒
炒肉
炒辣椒
加调料
装盘


那么接下来,事情变得有趣了。请问:

选什么样的猪肉及辣椒?
先炒肉还是辣椒?
肉要炒到几成熟?
应该加多少盐?

要不要酱油?生抽还是老抽?


如果你想要炒得超级好吃,你应该还会考虑:
猪肉和辣椒应该怎么切?
怎么腌制猪肉?
大火中火还是文火?
怎么炒辣椒?

出锅前加一大勺猪骨汤?


至此,一盘出色的辣椒炒肉或许可以出炉了。

程序员的工作究竟有多复杂?

但是,作为一名出色的程序员,以上问题只是冰山一角

假如买不到肉和辣椒怎么办?

到菜市场才发现忘记带钱了?
忘记交煤气费了呢?
煤气灶突然坏了?
临时来客人去开门导致烧锅呢?
买的肉放太久有点发臭了?
买的辣椒太辣了怎么办?

等等……


诸如此类的问题,或许你会厌烦,“想这些细节真无聊“。从某种角度来看,这的确很无聊……呵呵

但程序员的工作不仅仅是要做出这样一份辣椒炒肉,还要保证整个流程在各类异常场景下能正常运作,这才是最为费时费力之处。所以,如果你的程序员朋友跟你聊天时经常走神,请多些宽容,也切勿随意打断,可能他最近正在认真斟酌这些细节。

 
万一用户突然改变注意想吃板栗烧鸡而不是辣椒炒肉……怎么办?

加班……卒