Ryan Goodrich home

I Am a Self Taught Programmer

This a subject that I don’t really think much about anymore, but I have encountered more and more people who think I am a rare occurrence. So I feel I should write about this to leave a bread crumb for others.

I am a self-taught programmer and have gotten to a position in my life where I do not feel my lack of degree is holding back any job opportunity I desire, or constraining me to less pay. In fact quite the contrary, I make more money than the average computer science PhD graduate, and my current job I took after I shopped around and had gotten job offers from nearly a dozen different companies, a number of those companies being places that I once considered a dream job.

I encounter people who are surprised by this, people tell me that I am a rare occurrence and thats just not how it really works. I would like this to not be the case, if I am a rare occurrence I would like to be the prototype that becomes the norm.

Why? One of my primary motivations for working in technology, and one of my primary hopes for the internet, is that it would become a global education platform. I believe there is no single thing that could improve humanities condition more so than a free, and truly viable, education platform, available anywhere in the world. This is actually the primary motivation which made me decide to not get a degree. Because if I were to work in tech, on the premise building up tech will become a truly viable global education platform, how can I believe that to be true if I myself could not educate myself with that platform and make it. Thus not having a degree, and making it in this world by being entirely self-taught from the internet, became an almost existential imperative for me. My ability to thrive became self-evidential that what I was doing was good for the world, because it proved that personal conviction, and the internet, is all one needs to thrive in this world. I love that.

Some people when starting college imagine themselves as being successful lawyers, or doctors, or white coat scientists. They want to tell people of their pedigree and credential, which I do respect greatly. However, I myself saw the greatest problem in the world as being, there was not a truly viable route for people to rise to empowerment and self-education. Rather than be a symbol of the pedigree and credential of a tradition and institution, I wanted to be the symbol of a new solution to a foundational global problem. I wanted to represent that the internet is all you really need to thrive, really, truly, that’s it. The more humanity believes they can just go to the internet, and self-educate, create, and do, the better the world will become. It’s for this reason I love to tell people I am self-taught, I wear it with incredible pride, because I believe it represents the way forward. More people need to be the product of the internet and self-directed learning.

However, I do say all of this while still fully recognizing and fully respecting academic credential. I have the utmost respect for anyone holding a degree in computer science, as I recognize that as an extremely difficult path, and great accomplishment. But for anyone who does not feel the conviction to go that route, I would encourage you not to. Because being a symbol that you can do it purely by being self-taught I think is such a powerful and necessary symbol for where the world needs to go.

I suppose I should share some pointers of how you can make it by being self-taught. Really, the primary thing is, become obsessed, turn it into your life. Find forums and meet up groups around your chosen focus, turn that into your primary social group. Read as many books as you can on your focus. Choose friends to hang out with that you can discuss your interests with. It’s necessary to fully engross yourself in your focus as a culture.

Publish content, this is so important. If you want to make games, you need to get games published on app stores. If you want to make websites, you need to have useful websites you have created. The content you make does not need to be massive in scope, it just needs to be polished, and demonstrate potential.

You must have an adequate web presence. An up to date linkedin. A website which is well formatted and displays your skills well. Start writing a blog to show you spend a lot of time thinking about particular subjects. Create a youtube channel to document snippets of your work as you create things. You need to have a github repo with multiple open source projects, and the code in them needs to demonstrate refined ability and advanced knowledge. Half of the purpose for a web presence is to serve as your resume and portfolio, the other half is to be a funnel for recruiters. If you construct your web presence properly you will never have to apply to a company, recruiters will find you.

Interview, a lot. Any chance you get to interview, take it, and do the interview, even if you have no desire to take the job. This is to practice interviewing. There was a period of years where I would do an interview probably every other week, even when I didn’t need a job. Many of them were just phone interviews, but still those are incredibly valuable to hone your skill at interviewing. Your technical knowledge must be thorough, your responses to technical questions must be practiced and eloquent. You have to learn to talk, think and present yourself in a particular way during the interview. Your personal story must be refined, you must have a story about your development as a person, your interests professionally and personally, how you all fit together and how you fit into the role you are applying for. The only way to get good at this is to do it, so try to get as many interviews as you can just to practice interviewing.

Take a job which will require you to learn new things, then put in a lot of extra time. As long as you are learning something new, then it is worthwhile, even if you are not being paid for each hour. I would actually highly recommend anyone to work in a position for a few years that will require 60+ hour weeks, even 80+ hour weeks, constantly. But only if it requires you to learn a lot. Getting fully absorbed into a job like this for a few years can really improve your skill, very rapidly.

Lastly, the best part about tech work, is it’s probably the easiest profession to create your own independent income streams in. So don’t focus entirely on getting hired somewhere, always allocate a certain percentage of your energy to growing your own business efforts.

I really do believe that anyone who wants to could radically improve their life purely through the internet and self-direction. I personally want to die in a world where that is the only requirement to thrive in this world. So if you have any slight opening to walk that path yourself, you should, not just for you, but for all future generations.