My Dev History
I started out my developer life playing around with different Tandy computers my dad brought home in the early 80’s. I was very lucky to have parents that saw my interest in computers and purchased an Apple IIe in the mid 80’s. For the next 2 years I lived on the computer writing Applesoft Basic programs and hacking around with peek and poke commands.
I then went off to college and took Pascal and C in the CS School but ended up taking a different route and going into the business school to get a Management Information Systems degree. I still loved coding on the side but I thought it would be more useful in the future to take the business classes. During my college years I was lucky to get a co-op with IBM. I learned a ton about repairing their PS/2 hardware as well as setting up Novell networks.
Eventually I graduated and my first job was doing COBOL. Now that this is out of the way :) , I worked my way out of being a COBOL programmer by jumping on every opportunity I had to do C work. Eventually I was given the opportunity to do some C coding in OS/2 and then eventually started coding using the Windows SDK. I remember when the whole Window SDK was in about 5-6 books. Remember HIWORD, LOWORD, GlobalAlloc and WinMain.
About a year into doing “Old School” Windows GUI’s with the SDK, Visual C++ came out and I jumped on the Visual C++ bandwagon. I was a real Microsoft fan boy, then. I remember spending hours on Compuserve asking and answering questions on the Visual C++ group.
I then left this company and took a left turn and did some Power Builder work for about 8 months. I won’t say much about Power Builder. It wasn’t a bad experience but it just wasn’t for me. I then had the opportunity to do something I hadn’t done before. I completely left the Windows world to do shell scripting on the HPUX platform. You may think that this was a step down but during this time I became proficient at vi, perl, and the korn shell. This was also about the time Linux came out so I spent hours installing Slackware and learning about Linux.
I then left this company and leap frogged for about about 2 and a half years doing all kinds of development. I used Visual Basic, Java, Visual C++, ASP, and was able to still do some Unix stuff as well. I then landed at a company doing .Net which had just come out. At the time .Net was awesome. Microsoft had taken Visual Studio and had re-worked it for their new runtime. It beat the heck out of dealing with all the crazy Visual C++ types and conversions.
I worked with all the .Net iterations jumping from doing VB early to mainly doing C# later on. I also started using Microsoft’s web stuff doing ASP .Net early on and MVC later on.
In early 2011 my “developer life” changed. I was doing pretty much all .Net stuff at the time when I had an opportunity to re-write my neighborhoods website. I initially wanted to use something completely different than I used on a daily basis so I started looking into Ruby on Rails. I was about to start down the path of writing it using ROR when I saw something about a new platform that was completely based on javascript.
After playing around for a week or two with NodeJS and the Express framework, I was completely sold on it. It just made sense to me to do everything in one language. The biggest productive loss I had when doing .Net development was context switching between Javascript, Html, and C#. I was able to rewrite my neighborhood site in a little under a month.
I continued doing .Net during the day and playing around and learning about NodeJs at night. I eventually had a need for database for my neighborhood website and read about a database that stored it’s data as JSON documents. MongoDB was another perfect fit.
Well now I was doing .Net during the day and wishing I could do Node instead. I started looking for “Node” jobs but there just weren’t any out there yet. About 5 months later, a manager from another group within my company was looking for someone that had an interest in writing applications differently(aka not just always writing .Net ). I applied for the job, got it, and have been doing Node every since. I have tweaked my stack of choice to now include Angular.JS but I still use Node, Express, and MongoDB as my main datastore.
The one thing I think I’ve learned over my 27 years of writing software is to learn something new every day and don’t assume that one framework or language will be the end all be all. I went through a period from 2005 - 2010 where I had my .Net blinders on and didn’t even look at what was going on outside of the Microsoft world. I have now taken my blinders off, thrown them on the floor and stepped on them never to wear them again. :)