I’m Crossing Over

I believe I am still playing catch-up with the industry when it comes to using open source software. I have been a Microsoft developer for most of my career and have little expertise when it comes to using open source software. So why the change now?

At first it was due to my previous job writing a small business CRM web application. Our development stack was using MongoDB, with WebApi using EmberJS. We built the application using grunt and also used Jasmine for our javascript testing framework. After I had experienced the power of all of these tools I wanted to play more with what the cool kids had been playing with for some time. I began playing with gulp, moved on to a full MEAN stack application and eventually started to play with Ruby on Rails.

Why Ruby on Rails, well I will just say that I am going with the flow of what is hot in the town of Denver, Colorado. At this very moment in time there is high demand for Rails developers and they are able to command a salary that is above mine at the current moment. I love this place and the innovation that it brings. It has pushed my skills to a whole ‘nother level. This doesn’t include software development, but also life skills as well. I would do anything to protect my place in the industry even if it means moving to a whole different development environment.

Moving from one environment to another can be difficult, but remember we got into this game to become software professionals. We all have seen code that is atrocious and made us scream at the top of our lungs. As software professionals we need to recognize when things are changing and whether these changes need to be implemented to what we are trying to accomplish.

Speaking for only myself I know that if I were to continue down the path of being a .NET developer I would continue to wait for tools that were already available in the open source community. I know that Microsoft is trying to play catch-up, but there are times when we need stuff yesterday.

If I want to produce the best work that I can possibly provide why would I want to wait until someone makes a tool for my environment when I could switch to the native environment itself?

I know that there are some developers out there who are say why do I need to learn something else when the tools I have today work perfectly fine. This is true to a point. However, I will say that you are missing out on opportunities to do more and also to be more efficient in your work. You never know when someone requires you to do something that is outside of your comfort zone. Are you going to a developer who says I will figure it out or the developer who says we cannot do that?

I know that my answer will always be I will figure it out. I know I do not have any choice, but to give the people what they want. If I do not then there is someone out there who will. I refuse to be the old man sitting in the back office writing on old software and refusing to learn something new. In fact I hope by that age I’m only writing new software projects while everyone else is maintaining something I created. Wishful thinking, but can a brotha’ dream.

Anyways I’ve gone on a rant about changing as a software developer, but I want to mention one thing before I go. Change is inevitable in our industry. I’m lucky to have survived 8 years and became one of the better engineers in our fields. I would like to survive another 8 years god willing. I do not think I would be able to enjoy it as much as I do without having to adapt. I hope that the rest of you currently in our field and/or aspiring developers continue to learn as well.