About 5 years ago I started learning to code. At the time I didn’t know what I wanted to code. I just knew I wanted to be a programmer, sick of the daily political non-sense of the finance industry.
I happened to receive an Arduino as a gift. I also purchased Hello World in Python and downloaded the Android 2.2 SDK for Eclipse. Then I got to work. Hello World in Python is a great book if you are looking for a place to start. I can’t recommend this book enough for it’s simplicity, clarity and fun approach.
As I was jumping into programming I was all over the place. I knew I needed to learn to program, which to me at the time, meant learning the newest versions of Java or C# to be marketable and modern. I now realize that mindset is not entirely sound, that there are tons of useful places for other languages, and versions, and that binding yourself to a particular technology is not necessarily the most efficient or rewarding mentality to have.
As I was teaching myself, I quickly realized that web development was where I wanted to be. IT is a huge field and web development is by far not the only choice for prospects, but for me, it was the right one. I started using the Headfirst C# series and learning with the Microsoft provided Visual Studio MVC tutorials. Another really good resource for me was thenewboston.com, an amazing site with tons of really useful and easy to follow material.
About 6 months into my learning, I got my first job as a programmer for a mid-size software company. The job was tedious and very strict in my opinion. Working for a software company for me was more like being on an assembly line than being in a creative role. In that software production environment you are given a set of requirements, a picture of the expected result, and a time frame, you churn and burn, have it tested and move on to the next task as your code makes its way into production.
I spent nearly a week reading, noting, and testing each line I was to touch and interact with. I didn’t understand it and the idea of publishing code that just sucked, for everyone to see, was incredibly overwhelming. Then I found my escape buried in the file. A huge chunk of jQuery was already written into the repository, and so I thought I would do the same. I was so happy at this point, I thought how I was going to wow them with my code on my first attempt. I wrote my module for an enterprise financial application entirely in jQuery. I tested it, sent it to QA, passed and pushed it up the pipeline. Then I got my first on the job scare.
I was brought into a small room where about 10 programmers were working side by side. Apparently, this was where the code was thoroughly tested and inspected before production. I was informed my code was not being pushed to production. They told me my code was inefficient, it created an unnecessary amount of memory and slowed the program down. This was entirely unacceptable in a massively scaled enterprise application.
The company I was working for encountered a series of financial setbacks, and a lawsuit. Half of the company was gathered into a room and told their services would no longer be needed. I was one of those people. Lucky for me, I had a recruiter contact me on the way home that day and had another job in about 15 minutes. Huge demand is another reason I am so glad to work in IT as a programmer.