Meet The OzCode team- Michael Shpilt

Briefly introduce yourself, what is your role in the OzCode team?
I’m a lead developer on the OzCode team, mostly working with .NET technologies.

I’ve been programming since 13 years old, falling in love with Basic. This is around the time I became addicted to video games and decided I’m going to be a video game developer. Long story short, I ended up developing WPF desktop applications. Much like video games, just slightly less interesting.

In OzCode, I’m working mostly on the VS extension itself, deep inside the world of VS extensibility. This means C#, Roslyn and VS SDK.

What are you working on now?
We’re developing a new Cloud based feature in OzCode. The details are top secret and I can’t reveal anything except that it’s going to introduce an amazing new debugging experience. The work is full stack web development, including a JavaScript client, .NET server and cloud technologies.

What does it mean to be a good software developer?
It’s a hard question, since being a good software developer requires a lot of different skills.
Any software development solution requires understanding the requirements, thinking of the best solution and implementing it in the best possible way.

Understanding the requirement is not that easy, especially for complex scenarios. It involves thoroughly understanding the reason for the requirement.

Thinking of the best solution is more art than science. You have to consider limitations like technologies, time and resources, increased complexity and the system’s ability to change in the future. Abstractions have to be kept, but over abstraction is also a problem. A good software developer has to keep in mind all of those considerations.

I believe that the simple solutions are usually the best ones. Software is dynamic. We can never guess what will be required in the future. So building the system for specific future changes that might happen is wrong, since we have no idea what those future changes are.

What is your favorite OzCode feature?
I can’t choose just one! I really like Trace, LINQ Debugging and Reveal.

What do you do when not writing code?
I like rock climbing, drinking coffee, playing chess, watching TV series and writing my Blog. Recently I posted a series of blog post on creating Visual Studio extensions.

Where can we find you online?
I’m available on Twitter, GitHub and my Blog.