Miigon 《注重实效的程序员》一书中提到的将工期作为需求的一部分也是专业素养的体现。
这也是我楼上 0x0001 想说的一点,我在工作后也有蛮多类似体会。除了设计一个优雅的实现,达成这个优雅实现的路径也很重要,大概需要一个 Roadmap,在有限的资源下,时间的预期、人力的安排也是一门艺术。这也是程序员更核心的工作量所在,代码只是这个过程的一个副产物。
业务起步阶段最关注的是一个探索过程,代码只是整个业务模型的一部分。一个矛盾在于,我们在投入实践之前,其实是没法知道我们究竟需要一个什么样的系统。就需要一些后知后觉的复盘总结,在下一次再做有一个更清晰的认知,去优化细节、重构等。
这时候,需要一个类似画笔和草稿纸的角色,快速达成一个原型供业务试错,待业务模型稳定以后,也就有了纯技术层面的项目的生存和发挥空间,大量的时间投入才有发挥出来的价值。
当然以上是从职业层面去看的,自己有能力、有充足的自由时间的情况下,就没有太多的限制,可以像一个艺术家一样,自由地选择你的侧重点(运行性能、开发效率、易用性、优雅的UI、赋予用户自由、开源 等等等等...),设计出符合自己审美、更加优雅和理想的软件。