It is a happy chance that I stumbled upon the world of software. After graduating high school, I was in the position of loving music, yet realizing it would not bring home the bacon. I picked up a university brochure and chose Computer Engineering as my major. I completed my degree in 2005 and took a job as a web developer as my only immediate option. Ten years later, I feel incredibly lucky. I have a profession I love and it has paid dividends.
Why make software?
I love how this video lays out the role that software plays in our everyday lives. Software is everywhere. In our computers, cars, tvs, microwaves, elevators, airplanes, video game consoles, toys, and, of course, our cell phones. So imagine if you could create it? Imagine if all these platforms became your playground? What would you build? I've heard it said that being able to manipulate technology is becoming as important as language.
What about the web?
I wrote C, C++, and Assembly in college, but spent most of my programming hours in Java. I imagined myself being a Java programmer in the industry and making programs for desktop computers. Once I started working with web technology, it didn't take long to realize the power that the web enables a regular programmer like myself to impact the world. You could write a desktop app that only works for one particular operating system or you could launch a new website that could used by anyone in the world with a browser and an internet connection.
What is Software Development?
Software development happens when you write code, debug it, and execute it to obtain some result. That is it. The magic is learning that in software you are limited much less than in our physical world. Software is a massive creative outlet. For any problem, the solution is up to your imagination and ability to thinking through the problem. There are endless solutions. It is incredibly empowering.
How Can I Start?
There are way more resources now then there were when I started coding in college. For starters there are many online course websites like Khan Academy, Udacity, and Code School. Google recently published a guide to many of these resources. My encouragement would be to think of a program that would be reasonable and fun for you to write and take a crack at it.