Learning Tools

For the first half of 2015 I have been learning new software technologies. Each new language, framework, or application is a tool to add to my development tool belt. Learning new technologies has been a commitment. I have a full-time job and family. I work hard to get 10 hours a week of software coding done. Learning something new takes all of that 10 hours.

Why add tools to my tool belt?

Software development is an ever changing environment. When I worked 10 years for the water/sewer district. I didn’t have to really push myself to learn anything new. They hired me 6 months out of school for what I already knew. Our stable business didn’t need breaking new technology to run. We had our business technologies that didn’t need to change often. You could pretty much do the same thing with a few upgrades for decades and it would be fine. I grew stagnant. I didn’t realize it until I moved to the San Francisco Bay Area with my family.

Job hunting with a 10 year old skill set made it daunting to look for and expect to find a decent job. Getting a job isn’t the issue. I want a dream job. I want to code software that the world uses. The only way to get that dream job is to learn some of the new technologies.

MongoDB started the path. I grew up with Microsoft SQL and structured databases. I enjoy structured databases and was intrigued at the idea of a NoSQL database. It sounded “cool”, it looked great and to my surprise it worked amazingly. All of a sudden using MongoDB freed me of decade old SQL bondage. The chains of conventional databases fell from wrist as I explored the capabilities of this new technology.

Learning and using are not the same thing…

While I learn something new and do tutorials I find that I get little time to really practice with the technology. It is important to use what you know or you lose it. I had to find a way to incorporate MongoDB into something I could develop. I learn by doing not just reading. Well that thought led me to the MEAN stack. MongoDB is used with Express.js, Angular.js and Node.js. If I want to use MongoDB in a real world way I need to be able to programatically add and remove data. MEAN allows me to do that but it meant that I should learn more stuff.

Now 6 months later I am finally at a point that I can start practicing and I am excited.

May the programming begin, in earnest!