A pragmatic software engineer who is gaining wisdom by working on large, difficult projects.I like:- Solving the problem at hand in the simplest way possible.- Making small, focused changes with insightful commit messages.- Implementing complex features as a set of incremental "partial features" that are committed to master and tested regularly.- Seeing my code through the eyes of others. This means writing my code so it is convenient to use, easy to understand, and including comments to answer questions that others might have. It takes empathy to write usable code.- Solving the specific problem at hand, and generalizing only when profitable. This speeds development, and tends to make my code more convenient and useful for specific use cases.- Getting good sleep so I can excel at work.Other comments:- I know a lot about object-oriented design, but more and more I am coming to understand its limitations. I used to use object-oriented design frivolously; now I use it more judiciously. As a result, my software has become simpler and more useful.
Listed skills include C#, C++, Java, Python, and 32 others.