Note: I originally made this post on LinkedIn
Are you a software developer? Do you want to become one? I remember the first time I learned that computers could be 'programmed'. It might seem obvious today but in the mid 1990's very few in Trinidad and Tobago could break it down without confusing their audience.
I wanted to know how everything on the computer was done. Screen-savers, video games, software installations, files, modems all fascinated me equally. It seemed like dark magic. I mean, how dare this machine connect to our phone line and make phone calls without asking for help? That's for humans to do right? And lets not get started on that weird box in the corner printing out what's displayed on the screen. How is that even possible? And storage! How can you remember stuff I typed after the power was turned off?!!
It's questions like these I wanted answered, sadly no one around me could answer them. The responses always seemed vague or made up. There were of course no computer professionals amongst my friends or families at the time, at least that I knew of.
So I could not wait until I started 'Computer Studies' in secondary school. What a joke! The class was more like a training course for a desk job. "Come on sir I want to know what's in the box not the difference between a mouse and keyboard or spreadsheets".
That was for the first 3 years of secondary school. The last 2 were a bit more involving (CXC/GCE), there was programming but still it lacked real substance. As far as I was concerned, I still did not know how modems dialed up Internet connections or how printers were able to print from electronic signals.
It's this desire to know basically how the tools I use more and more each day work, that kept me interested in computing on the whole. Thank God for affordable broadband Internet!
I spent a great deal of time reading on-line and downloading books on various topics that eventually gave me the courage to tackle programming on my own. (A friend of mind actually recommended I do just that rather than wait to start a degree course.)
I wrangled with Java, almost going crazy not having the 'foundations' to understand things like the difference between interfaces and classes. After some time though (and lots of cigarettes) I had a few 'ah-ha!' moments that made a difference. I understood what the nonsense on my screen meant! I could program Java!
Of course by this time I was working as an Accounting Clerk that involved no programming whatsoever. So I had acquired some skills but nothing to do with it. Quickly I realized that software is useless if you don't actually have a problem to solve with it. So what was I to do?
I wrote more code of course! But with purpose. Our accounting department was not the most efficient one in the world so I wrote a small Java program to automate some of my job functions. Did we use it? No, sadly our environment was not welcoming to creativity or innovation.
However I did not stop there. I tried to create various programs in PHP at home like a site to register complaints. I called it CAT (Complain Any Time).
I soon learned I could write scripts in VBA for Excel that would make my job easier and I did just that. I realized that software development is not just about solving some big holy grail of a problem that will bring you fame and glory.
You should start solving problems around you, automate your world and spend less time doing boring mundane tasks. They really don't do the brain any good.
So you want to get started in software development? I have this advice for you; develop a thirst for knowledge then go out and automate your world!