Learning To Code 👩💻
My Two Cents
Last updated: June 27, 2020
I’m a self-taught developer. These are the resources, events, and actions that got me to where I am today. Hopefully this can be useful to others who are teaching themselves web development and want some ideas about what to do—or not do!
Context: I started making HTML websites as a kid in the 90s but it never went much farther than HTML and CSS. In October 2016 I started learning web development in earnest—that’s when this list begins.
Also: I’ve also written down some general tips which pair nicely with this list.
Foundation Skills
These are the basic skills I use all the time. While there are courses available to learn these, proficiency comes mostly from practice & repetition!
- Command Line. Take the time to learn the commands for the actions you do a lot. Only once you know them, speed up your work with shell aliases. Avoid using GUIs while gaining this proficiency.
- Git/Version Control. Always use version control. Research best practices and do them until they become habit. Learn how git and remote repos (eg. GitHub) work together. Find opportunities to collaborate on projects with other people to learn about branching, conflicts, code review, etc.
- Regular Expressions. Learn what they’re useful for and bookmark resources to source/verify frequently used expressions. You don’t have to memorize this though.
- This podcast episode of Syntax is a good spot for rounding out this list.
Coding With Others ⭐️⭐️⭐️
When I did these things, I noticed my skills improve at super speed! Getting help from other people can fast-track learning, while teaching other people both builds confidence & exposes where you have more to learn.
- TA for a HTML/CSS 2-Day Seminar. Being a Teacher’s Assistant at this Girl Develop It workshop gave me practice verbalizing what I know. You really see how much you know (or don’t) when you have to teach it to someone else. 6-13 May 2017
- Coding For Product. This 6-week workshop was the first time I contributed to a group project. I wrote about how much I learned here. July 2017
- Study groups: Girl Develop It & CSS.la. 2017-2018
- TA for Jekyll blogging workshop at Codeland Conf. Attending conferences can be intimidating in the beginning. Volunteering as a Teacher’s Assistant for this workshop was a great way to meet people and to feel like I belonged there. Shout out to Monica Powell who took me on as her TA! May 2018
- ⭐️ Chingu. Chingu groups you with other developers to create a project from scratch in an 8-week (at the time) sprint. I participated in two Chingu groups and wrote about them here. June - August 2018
- Study groups: Codecademy London, freeCodeCamp London, Coding Black Females. Since July 2018
- ⭐️ Codebar. I regularly attend Codebar London’s mentoring nights, sometimes as a student and sometimes as a coach. Since July 2018
- Maintaining an Open Source Project. I invited contributions to an app I made during the 2018 Hacktoberfest. It’s a good way to practice working collaboratively from a different perspective. Since October 2018
- Thoughtbot Mentoring. Working with an experienced developer or designer for an hour is helpful every time. Shoutout to Thoughtbot for offering these sessions. Periodically since June 2019
Courses I Took
Courses are the most useful to me when I take them in order to learn a skill for a specific project. If it’s a general course, it helps to do the coding projects independently (not just copy along), and this is best followed up by coding a similar project from scratch.
- ⭐️ freeCodeCamp. October 2016 - January 2017
- Flatiron School’s Learn.co. Jan-Feb 2017
- AWS Certified Solutions Architect by A Cloud Guru. Jan-March 2017
- Intro to Git. July 2017
- Short and Sweet: Get Started with Git and GitHub Right Now. July 2017
- ⭐️ The Web Developer Boot Camp by Colt Steele. Summer 2017
- ⭐️ CS50: Intro to Computer Science from Harvard University via EdX. Summer/Autumn 2017
- The Complete Developer’s Guide to MongoDB by Stephen Grider. 29 Sept 2017
- Intro to JavaScript by Kyle Simpson on Front End Masters. 14 Nov 2017
- JavaScript from Foundation to Functional by Bianca Gandolfo on Front End Masters. 23 Dec 2017
- JavaScript 30 by Wes Bos. December 2017
- ⭐️ The Ultimate MySQL Bootcamp: Go from SQL Beginner to Expert by Colt Steele. 9 Jan 2018
- The Advanced Web Developer Bootcamp by Colt Steele. Jan-Feb 2018
- CSS Grid by Wes Bos. 21 Jan 2018
- ⭐️ UX & Web Design Master Course: Strategy, Design, Development. Spring 2018
- Become a Product Manager | Learn the Skills & Get the Job. Summer 2018
- React For Beginners by Wes Bos. August 2018
- Advanced React and GraphQL by Wes Bos. November 2018
- ⭐️ Learning How To Learn from McMaster University via Coursera. Jan-Feb 2019
- Vue JS 2 Tutorial by The Net Ninja. April 2020
- Vue Crash Course by Brad Traversy. April 2020
- Vuex Tutorial by The Net Ninja. April 2020
- Vuetify Tutorial by The Net Ninja. April 2020
Projects I Made
The best learning comes from doing. Start with simple projects and grow from there.
- freeCodeCamp Projects
- Tribute Page to Octavia Butler. I practiced: HTML, CSS
- Inspirational Random Quote Machine. I practiced: HTML, CSS, JavaScript, jQuery, AJAX
- The Web Developer Bootcamp Projects
- RGB Color Guessing Game. I practiced: HTML, CSS, JavaScript
- FireCamp (Yelp clone). I practiced: HTML, CSS, Bootstrap, JavaScript, Node.js, Express, EJS, Passport, authentication, MongoDB, Mongoose, Heroku
- Rides For Rewards (repo). I practiced: Git collaboration, shipping an original concept, product management, HTML, CSS, JavaScript, jQuery, Bootstrap, Node.js, Express, Passport, EJS, PostgreSQL, Sequelize, Authentication, Heroku
- BMP Mask. I practiced: C
- Jekyll blog (an early iteration of this site). I practiced: Jekyll (static site generator), Handlebars, Markdown, GitHub Pages
- Hexo blog (an early iteration of this site). I practiced: Hexo (static site generator), EJS, Markdown, GitHub Pages, AWS
- Chingu Projects
- The New News (repo). I practiced: Git collaboration, Node.js, Express, MongoDB, Mongoose, APIs, React
- Stay-In-Touch Reminder. I practiced: Git collaboration, React, React Router
- ValueMax (repo). I practiced: Shipping an original concept, Node.js, Express, MongoDB, Mongoose, Passport, authentication, Semantic UI, MomentJS, Heroku, maintaining an open source project
- My Theatre List. I practiced: Shipping an original concept, Node.js, Express, PostgreSQL, Sequelize, Auth0, authentication, authorization, Bootstrap, EJS, APIs,
- Reflect Weekly. I practiced: Shipping an original concept, Node.js, Express, PostgreSQL, Sequelize, Vue, Vuex, Vue Router, TypeScript
Contributions I Made
Contributing to open source projects gives the chance to practice the git workflow and technical communication. Also if you come across something wrong/broken, why not fix it? Even small contributions can be useful.
Conferences/Events/Talks I Attended
- Ruby - Build A Calculator Workshop, 19 Jan 2017
- TECH(K)NOW DAY Women In Tech Conference, 8 March 2017
- Python - Introductory Workshop, 13 April 2017
- Build A ToDo App 1-Day Workshop at Hack Reactor, 30 April 2017
- Nodeschool Workshopper, 3 June 2017
- Disney Animation Developers, 22 June 2017
- AWS Workshop, 24 June 2017
- Alexa Skills Workshop, July 2017
- Machine Learning with Python Workshop, August 2017
- UX & Content Strategy Talk, 6 Sept 2017
- Learn Teach Code Monthly Mentoring Nights, May—September 2017
- JS.la Monthly Talks, 2017-2018
- Write Speak Code, 24 March 2018
- Netflix Tech Talks, 29 March 2018
- Monthly London Talks: Coding Black Females, JS Monthly, London Node Users, London CSS, since July 2018
- Codebar Uncodebar “Unconference”, 15 September 2018
- Grace Hopper Celebration, September 2018
- TECH(K)NOW DAY Women In Tech Conference, 9 March 2019
- GraphQL Workshop w/Eve Porcello, 2 May 2019
- ReactJS Girls Conference, 3 May 2019
- Codebar Uncodebar “Unconference”, 14 September 2019
- RailsGirls London, 8-9 October 2019
- The Angular Experience Introductory Workshop, 29 Jan 2020
- The Jump Coding Bootcamp lectures, Jan-May 2020
- You Got This Conf, 6 June 2020
Books I Found Useful
- Clean Code by Robert C. Martin
- You Don’t Know JavaScript by Kyle Simpson
- Refactoring UI by Adam Wathan and Steve Schoger
- Think Like A Programmer: An Introduction to Creative Problem Solving by V. Anton Spraul