One of the questions I get asked a lot is “how do I get a job?”. The answer is that you need experience. But, how do you get experience if you don’t have a job yet? My answer is, write an app or website and release it to the world. The reason I encourage writing code on your own is that is how I got hired when I was a beginner.
In the Beginning
I learn by doing, so when I was a beginner, I was always writing apps at home to teach myself. All these apps were ones that I needed that someone hasn’t written yet or I needed more features. When I went to a job interview, I would take these apps in a box of floppy disks (yes, I am dating myself). When the interviewer would tell me about the project they want to hire me for, more times than not, I said I have written something similar. I then installed the app, ran it and explained how it worked. Showing one or more of my own apps got hired every single time! Thankfully, they didn’t even request to look at the code. They just wanted me to demonstrate that I wrote something that worked!
One of these apps that I wrote was a file transfer utility. The reason I wrote it was that when I was learning programming, I was a computer support person at General Atomics in San Diego, California. I’d spend every day at lunch programming and needed an easy, quick way to automatically transfer source code from my work computer to my home computer using floppy disks. This was a long time before services like OneDrive that makes it very easy these days.
So, I sat down and wrote an app called Same<>Same. Once I was happy with it, I wondered if anyone else would find it useful, so I release it to the world, back in the 90’s via a Bulletin Board System (BBS). For you younger developers out there, this is what we used before the internet to communicate and share apps. Same<>Same was the second program that I release this way. After people started using it, I even started charging for it.
Later in my career when I was interviewing beginners, I remembered what I did when I was a beginner and requested candidates to bring in an app they have written on their own, have them run it and then go over their source code. Most candidates that I did this with, we hired. Sure, their source code was most likely as bad as mine was in the beginning, but this showed us their intellectual thinking or what I call the “Spock Mind” in my Rock Your Technical Interview book.
Hard Work Pays Off
Way back in 1995, PC Magazine found Same<>Same and reviewed it. This was the first national recognition that I received from an app I wrote and remember, I was a beginner. My orders shot up from around 10 a month to 10 a day for a while. Due to this, I had to recruit my now ex-wife to stuff envelops for people that wanted more info on the app. I even wrote a batch file for my kids, who were very young at the time, so they could duplicate the disks for me and I did the shipping. I think Same<>Same took two floppy disks to install.
Due to the PC Magazine review, I received a call one day from a CompuServe Magazine reporter who wanted to interview me about Same<>Same and shareware. Back in the days of BBS’s, shareware is how we release software as “try before you buy”. Same<>Same was also mentioned in Mobile Office Magazine and newspaper articles.
I felt very lucky at the time when these reviews were published and others since I didn’t submit Same<>Same to any magazines or newspapers, they just found it somehow. When these articles came out I was a full-time developer for only about a year.
What This Taught Me
When all of this happened, I did like the recognition, I did enjoy a little bit of extra income for my family, but what I didn’t know at the time was that this was teaching me the software development lifecycle. I did the entire process myself from architecture, coding, maintenance, shipping orders and even dealing with customers. I think this is why I’m one of those few developers that like talking to customers.
Since I do not have a computer science degree, this taught me a lot when I was a beginner. Sure, the SDLC is different now, but this was engrained in me right from the beginning. Unlike computer languages, these types of skills can be used for your entire career. A few years later I was evening teaching the SDLC at a few different companies.
Now Go Write Something!
One of the things I strongly recommend for developers at all levels is to be always writing apps at home. I’ve been a software developer for over 25 years and I’m still doing it. For example, I am writing a series of articles for this site called Real World Cloud App from Start to Finish. In these articles I’m showing how I am adding a new feature to one of my free apps using Microsoft Azure. The main reason I am doing this is to learn Azure. My secondary goal is to change my current Microsoft MVP award to the Azure MVP program.
Writing apps in the beginning was to learn how to be a developer, now I do it to keep up with technology. The apps I wrote which later got (good) reviews lead to more jobs, started my writing career and even speaking at large conferences. Little did I know that those first few apps I wrote would lead to where I am now.
So, go write something, anything! Write apps for the app stores. Write open-source libraries and release them on GitHub and NuGet. I suggest that you not do this to “get rich quick” but to gain experience that you need and then see where it leads. If you do this, then I think your future will be a happy one.