So, You Want to Learn How to Code?
Tl;dr jump to the resource list below if you just want to check out some well made courses to see if coding is for you!
Some time later, after I had my $100K piece of paper and lived in a shared apartment in San Francisco, the idea came back to me. I was publishing a print newspaper and living in San Francisco, so you do the math. Again though, I did not know how to get started. My roommate, who had a degree in CS, asked me why I would even bother to learn to code when I’d have to compete with people who graduated from CS programs. I didn’t really have a solid reason, it just seemed exciting, so I again shelved the idea for a while. Thanks to the $100K paper, a coding bootcamp wasn’t in the cards for me, and I still thought I had to cover things like advanced math, which were just distractions.
My big break came when my now-husband helped me write a learn to code pathway. With a rubric of what to learn, I embarked on a self-study journey. Thanks to that period of self-study, earlier in 2020 I finally landed a title that includes ‘engineer’, (Technical Support Engineer at Duda). And what did I do? I actually quit that job after 8 months so I could resume studying and challenge myself even further.
Some components I missed while self-studying were 1) pair coding to practice live coding, 2) refining my problem solving with things like PEDAC, 3) knowing the right words to use when talking about my code, and 4) building confidence!
That all said, if you’re wanting to begin to dabble in learning to code and don’t know where to get started, the resources below are extremely useful and very budget friendly. They will get you to a point where you can deploy your own web app or build a static site, but it’s up to you to find peers to program with, practice talking about your code, and refining your problem solving process.
If you are committed to going all in and want to really master how to code, I recommend joining Launch School (LS), which is the curriculum I’m now working through. This course is my recommendation because it’s completely self-paced, affordable, and has a community of smart and dedicated students who are excited to work together in group study sessions or pair sessions.
How to use this guide
Be sure to join FB groups, local meetups, or other groups with people who can learn and code with you or mentor you. Expect to get stuck at times or spend hours coding something that will take you 10 minutes a few months later. Comment below if you have any questions or want more specific recommendations! I have done my fair share of scouring resources online 😂.
Learn Code the Hard Way — Python (Zed Shaw)
- This book is all about repetition. I recommend Python initially because it is a very intuitive language to learn. The key thing to do is to practice the exercises over and over again, then maybe go write your own code examples. Even if an exercise seems boring, it might be teaching an important and underlying principle, so don’t skip it.
Coursera — Python for Everybody Specialization
This course series will expose you to the types of topics you should be learning about. Don’t rush through them. Practice the code you see and open up documentation online and go beyond the course materials so you have a good mental model of all of the concepts and can describe them verbally.
- Coursera— Using Python to Access Web Data
- Coursera— Using Databases with Python
MIT OCW — Intro to CS and Programming in Python
You can find open source MIT courses on their site. These are amazing resources because they include lectures and an outline on what you are meant to learn. If you want to start to learn about data structure and algorithms, head to these courses.
There are endless coding practice websites that you can use. I personally like CodeWars the best, but sites like Leetcode and Hackerrank have questions geared more towards job interview preparation and are also great for practicing. Code a few problems every day and practice the PEDAC process so you don’t get stuck while live coding with a peer or interviewer.
Bloomberg “What is Code?” article by Paul Ford
Learning frameworks as a medium for learning more!
Rails: Rails tutorial
What you’re really learning:
- REST architecture
- Data models
- User authentication
- Secure user sessions, cookies, etc.
- Deploying on Heroku
- Test driven development
- private data
- testing tools
Remember that coding is an endless learning process, but that you’ll be able to master the basics within 1–2 years if you persist and dedicate time every week to learning new concepts and practicing coding. You don’t need to have epic math under your belt to get a front end job, and you don’t need a CS degree to be an engineer!