Teaching yourself to code isn’t for everyone, but it’s definitely for me.
Almost exactly a year ago, I decided to switch things up. After years as a Microbiologist, it was time to explore other avenues. I do genuinely enjoy Microbiology. It’s always been fascinating to me that trillions of tiny organisms are living everywhere you look and have a huge impact on our physical and mental health and the global economy. There are plenty of great jobs for people in this field, great pay, great benefits, and opportunities for career advancement. But something was missing, I wasn’t as happy doing lab work as I thought I would be as a college kid. After months of pondering why I didn’t feel fulfilled, I discovered why: I love building useful things and working on challenging problems.
I’ve always been a techie, I worked for years as a computer lab monitor, both in college and in a public library, fixing the computers and helping out the community with whatever tech problems they might be facing. I wasn’t aware of it at the time, but I was learning what a good user experience means to end-users. I taught dozens of homeless people how to use google docs to write resumes, to use email as their primary source of communication, and other tech skills many take for granted. Many of these people hadn’t used computers at all in their lives before coming to the library computer lab. In one particular case, I was helping an elderly man who needed a resume and cover letter to apply to the local Jack in the Box. He was starting from nothing, he didn’t even know how to use a mouse and keyboard. Over the course of three weeks, this man came in every day to learn a little more and work on his resume. Although it wasn’t my job, I found great joy in teaching him how to use technology to his advantage. Normally I’d hand hold him every step of the way, but I’ll never forget the day that he logged in to his computer, launched Google Chrome, navigated to YouTube, and played a song he hadn’t heard in decades, all without my help. Tears of joy. Absolute elation for him. It was like watching Steph Curry win his first NBA championship, but it was a homeless man in a small Colorado library figuring out YouTube for the first time. He ended up getting that job at Jack In The Box, and he would come back to the library every few weeks to thank me by bringing in burgers and fries for us to share on my lunch break. To watch a man’s life be completely changed by becoming technologically literate was incredibly informative for me, and gave me a deep appreciation for the benefits of technology.
Looking back on my life, I realized that it was during these moments of improving the lives of others through technology at the library that I felt the most alive, and satisfied in my work. I decided I’d leave my job as a Public Health Microbiologist to pursue a career in helping people through software. It all happened so quickly, after a night of thinking about it, I quit the next day and committed to the journey. Crypto had treated me really well in 2020, I had the money to take time off to learn. So I did just that. I was faced with a decision though, do I go back to school, take a code BootCamp, or learn for myself? Well, I already had a bachelor's degree, and to be honest I didn’t like the ‘vibe’ of the few code boot camps I spoke to in the Seattle area. I decided to learn at my pace. This would give me the freedom to learn what I want, and at a pace that suits me. There is more than enough information out there to learn everything you need to learn to become a great developer. Udemy, YouTube, and FreeCodeCamp have been so important to my journey thus far.
The Self-Taught Advantage
There are some things you learn as a self-taught developer that you don’t learn in school. I learned self-discipline, sticking to learning goals and objectives, project management, how to google like a pro, and how to teach yourself a complex topic in a short time frame. It’s up to me, as the student, to decide what it is I want out of learning to code. It has made me such a fast learner, I firmly believe that with one week of dedicated learning on any CS subject, I can learn enough to be dangerous and provide value to a software team. Perhaps the best skill I bring to the table as a self-taught developer is that I see things differently than others. As a programmer with a biology background, I can’t help but have a different perspective on problems, and supply novel abstracted solutions to solve a problem.
Self-taught allowed me to pursue my own journey; Instead of starting with syntax and CS basics, I spent the first two months of my journey exclusively learning the big picture. I aimed to know, at a high level, what the different pieces of the tech industry are, and what they do. I learned the advantages of Kubernetes for software scaling before I even wrote my first line of HTML. YouTube has such excellent short content to learn key points of major topics, and the library is full of books to skim through to pick up on the big picture. This practice helped me to form a mental model of how computer science works at a fundamental level, and over time this mental model has evolved as I learn new technologies. I firmly believe that this practice of learning the big picture was the best thing I could have done at that time. It helped me see that no one can be an expert on all computer science topics and that I had to focus on a sector I was interested to get started. Initially, I was intrigued by Python and AI, but I ended up pursuing web development so that I could learn the skills to launch my own websites and projects, and I’m so glad I chose this route.
The Self-Taught Disadvantage
** I was planning on writing an entire section in this article describing what I have learned thus far and what I intend on learning, but that would be better suited as a living, breathing, updating section of the website, so I’ll put my efforts into building that instead. **
After 22 courses, 12 books, 3 large projects, and nearly 2,600 hours of work later, I can safely say that learning to code was the best thing to ever happen to me. Everyone should learn how to code, even if only just a little, it changes the way you think, and how you view the world. What a superpower it is to have the ability to create digital goods and works of art to share with the other five billion citizens of the internet. It’s an incredibly transferrable, valuable skill that will be needed for years to come. It made me fall in love with learning again. After I graduated from college in Microbiology, I didn’t want more exams to study for, or giant textbooks to read, but code has taught me to appreciate and love even the hardest parts of learning. I am firmly committed to the path of forever learning, and to teach myself all I need to know. And who knows, maybe one day my love for code will intersect with my appreciation for Microbiology and the natural world!
If you read this whole article, thank you. It's my first attempt at blogging, and I must say I enjoyed it. Writing is thinking, and it feels great to think out loud.