What I think makes me a good software engineer

  • I know my tools. Whatever tool I use, be it a language, a framework or a pattern, I try to keep a clear understanding of the basics, the values it provides and at least some ideas how it might work under the hood.

  • I follow best practices when it makes sense and avoid reinviting the wheel. When solving a problem I try to find out how other people have solved similar problems. Then I asses if that is also the optimal solution in my situation or if I need to go with a completely different or modified solution.

  • I don't just write code that works. When a piece of code or system is not ideal in terms of maintainability, security, performance or reliability, it makes me kind of finicky. I try to come back and take them as close to perfection as time allows.

  • I am also a pragmatist. I focus on getting the job done avoiding premature optimization, over engineering, hypes around so called cool tools and technologies. Sometimes it might be contradictory to the previous point, but I try to find a balance between the two.

  • I don't keep myself confined in my comfort zone. I am open to experimenting and doing things differently. Learning, assessing and using new tools and technologies if it makes sense.

  • I can participate in product development. I can work with product managers, designers and other stakeholders to build a product that is technically sane.

  • I am self motivated. I am passionate about building solutions that improves lives one experience at a time while adding value for everyone involved.