一个好的编码员编写能工作的代码。一个好的软件工程师从整体上解决正确的问题 — 拥有 requirements、设计、权衡、可维护性、测试、运维,以及代码周围的业务背景。工程学是代码加判断力加对整个生命周期的责任。
分界线真正在哪里
编写通过测试的代码是简单、可学的部分。更难、更有价值的部分是周围的一切:决定要构建什么、它应该如何融入系统,以及未来维护它的成本。
- 编码员问 "我如何使这个工作?" 并在它工作时停止。
一个好的编码员编写能工作的代码。一个好的软件工程师从整体上解决正确的问题 — 拥有 requirements、设计、权衡、可维护性、测试、运维,以及代码周围的业务背景。工程学是代码加判断力加对整个生命周期的责任。
编写通过测试的代码是简单、可学的部分。更难、更有价值的部分是周围的一切:决定要构建什么、它应该如何融入系统,以及未来维护它的成本。
这不是关于资历或职位名称 — 很多