东京的夜晚很适合写代码。窗外不一定安静,电车会过去,便利店的灯也一直亮着,但这些声音反而让人觉得世界还在运转。一个人做产品的时候,我常常需要这种感觉:不是躲起来完成什么伟大的东西,只是在一个还醒着的城市里,把手边的事情再推进一点。
第一版总是粗糙的
第一版产品很少体面。它有临时的字段、没来得及命名好的组件、还没想明白的入口,也有只有自己知道为什么存在的判断。可是第一版必须出现。它像一盏还不够亮的灯,先让人看见方向,再慢慢换更稳的电线、更好的灯罩。
我越来越相信,产品不是被想清楚之后才开始写的。很多判断要在写的过程中出现:用户会不会迷路,后台是否真的能运营,支付和邮件有没有把人接住,部署之后出了问题能不能在半夜找到原因。代码把抽象的想法压到地面上,也把自我感觉良好的部分磨掉。
运营会留下性格
上线之后,产品开始有自己的脾气。日志、报错、慢查询、用户没有说出口的犹豫,都会一点点改变原来的设计。这个过程不浪漫,但很诚实。一个按钮要不要保留,一个字段要不要拆开,一个页面要不要重写,最后都不是为了展示能力,而是为了让它明天还能被使用。
所以我喜欢把作品页写得具体一些。不是因为细节显得厉害,而是细节能证明某件事真的发生过。一个产品被部署过、坏过、修过、继续跑过,它才开始不像一个练习题。
留一点生活在里面
我也想把生活放进这个网站。不是把个人网站变成日记本,而是承认一个人的判断会被生活悄悄改变。住在哪个城市,坐什么线路回家,在哪个季节开始找工作,遇到怎样的人,都会影响我怎么理解一个产品应该给谁用、应该把什么说清楚。
有时候开发像是在黑暗里擦一块玻璃。今天擦掉一点雾,明天再擦掉一点指纹。等到某天回头看,才发现原来那个东西已经开始透光。