你可能以为程序员的工作就是敲键盘、写代码、修bug。但这只是表象。真正顶尖的程序员,在做一件绝大多数人无法理解的事情——他们把整个程序装进自己的脑子里。
这就像一个数学家不会像小学生那样在草稿纸上一步步演算,而是在脑海中直接探索整个问题空间。Paul Graham在2007年的一篇文章中这样描述:最好的程序员处理代码时,就像你在记忆里走过从小长大的房子,不需要开灯,也知道每个房间的布局、每件家具的位置。你随时可以自如地走进任何一个房间,挪动任何一样东西。
![]()
这种状态之所以关键,是因为在项目初期,最重要的事情不是一次性写对代码,而是随时能改变你正在做的事情——不仅是换个解法,甚至直接换掉你正在解决的问题本身。你的代码就是你当前对问题的理解。所以只有把代码装进脑子,你才算真正理解了问题。
但这事儿比你想象的难得多。一个项目放上几个月再捡起来,光重新搞懂就要花上好几天。就算你天天在写同一个程序,每天早上坐到电脑前,也得花上半小时才能把代码重新“加载”进脑子里。这还是最理想的情况。真实世界里,普通程序员在典型办公环境中几乎从来没进入过这种状态。说得再直白些——他们从来没能真正理解自己正在解决什么问题。
干扰是最大的杀手。写代码的人往往在细节处理能力的极限上工作,一根稻草就能压垮整个思路。而干扰的危险程度,不看它持续多久,看它把你脑子搅得多乱。出门买个三明治不会丢掉脑中的代码,但某种错误类型的打断,30秒就能清空你的一切。
更可怕的是计划中的打断。如果你知道一小时后要开会,你甚至不会动手做任何难的事情。从这个角度看,约定好的会议比突然的打扰更致命,因为它提前就把你的深度工作能力给缴械了。
解决方案之一是长时间连续工作。既然每次启动都有固定成本,那么少而长的工作时段显然比多而短更高效。当然,脑子会因为疲惫而变蠢。有人能连续写36小时代码,而Paul Graham最多撑过18小时,最高效的时段则是12小时以内的冲刺。不过最佳节奏未必是把自己推到生理极限——有时候在休息后重新面对一个问题,会发现潜意识早已替你准备好了答案。
还有一个容易被忽略的因素:编程语言的选择。更有表现力的语言让程序更短。而越短的程序,就越容易被完整装入大脑。这不是什么玄学,而是最朴素的人脑工作原理:你能同时装在脑子里的东西是有限的,少就是多。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.