What Makes A Great Software Engineer?
http://elliot.land/what-makes-a-great-software-engineer
衡量标准很简单, 就是代码写的越少越好.
- Simplicity Reduces Code. 通过简单的设计减少代码.
Using more code is actually the lazy fix. It is often not the best solution, for now and in the future. Take more time to find a more simple solution, then hopefully less code is produced.
- Experience Reduces Code. 丰富的设计经验来减少代码.
Our job is to solve software problems to a level of quality and maintainability that suits the environment we are working in. That doesn't always have to involve writing code. Code is the glue that ties together the rest of our experience and knowledge, it's not the most important thing to focus on.
- Understanding Reduces Code. 深入地理解问题和技术来减少代码.
Technical debt can be many things but a large part of it is the source code. I want to emphasise that it's not always poorly written code. Standards, frameworks and even languages change over time. Code that was written very well at the time may simply be unusable or incompatible years later and require large refactoring.
Code can not easily be undone, both while it's being written and even more so after it has been published. Even the best written code will become technical debt at some point, even if it's just the next engineers (or yourself) trying to understand what it does.
或者概括地说, 就是让代码和设计KISS. 感觉这个作者还是相当务实的, 上面这些要点都是比较概括的, 实践中还是要灵活地对待这些。
In one sense you could say the moral of the story is to avoid all your natural instincts as a software engineer. Maybe, but above all, KISS.
I understand that in a lot of this I am over generalising and there are plenty of exceptions to the rule. It's also an unobtainable goal for a software engineer to write very little code in their day-to-day work, but if you can write a little less, that's a little less that can go wrong and lot less that needs to be maintained in the future.