My company hired a new VP of Engineering. He asked me an interesting question during our one-on-one: “What makes you a good engineer?”. I had to think about it for a second and I realized that it wasn’t technology or knowledge of certain principles. Obviously there are certain skills that one needs to have to be an Engineer, but it is not what makes someone a good engineer. Caring does. It may not be an obvious answer, so I wanted to explain my reasoning.
Caring about other engineers around you, means being nice to people. It means taking the time to document the work that is being done, so someone following next might have an easier time.
It’s also documenting and taking the time to write code that is easy to read. Naming variables and functions in a way that explains what they are supposed to do, as well as leaving comments, when naming alone is not enough. Testing the code, is also caring about other engineers and the organization in general.
There are a lot of things that are very powerful, which are very easy to do with tech. There are also a lot of things that seem simple, which are hard to do with tech. Engineers are the only people who can tell the difference. It is our job to be a friendly guide into the world of technology for non-technical people.
This stops features that could be a disaster and ads features that improve the product.
Engineers know how to automate thing. Taking a little time to create simple tools to help non-engineers automate repeatable manual tasks, could go a long way.
Engineers can teach non-engineers how to code. While not everybody needs to write production ready code, a lot of people can learn the basics, which would greatly improve both their productivity and quality of work-life.
No business is perfect. There is always something to criticize and something to disagree with. The key is not to care too much, otherwise it is easy to get frustrated with the management. It is important to care, but it’s also important to accept some degree of imperfection and uncertainty.
Finding a good manager is almost as hard as finding a good business, but they do exist.
It’s important to remember, that all managers are just people who are trying to do their best, to provide for their families, and to leave a positive mark on this world. It’s a good idea to give them a chance and to have a positive attitude.
Last but not least, good engineers care about their end users. Even though engineers don’t control the vision, they write the code and, therefore, have the final authority over the product. For example, a Front End engineer could invest time into making their app performant and accessible to users with disability. A Back End engineer can ensure that errors are properly handled and that important user information is not being lost.
A certain level of capabilities is required to be an engineer. A decent engineer must understand a little math, know computer science 101, and be able to learn new technology. Good engineers care.