Phase 3 Head Start 🏁
Posted on Nov 19th, 2021
This is ALL OPTIONAL. Please remember to take time to rest and relax during the break.
✅ TODO for Everyone
- Reflect on where you are in this program. You’ve learned a lot and you have a lot left to learn. What are YOUR goals? Use this Goals Reflection exercise to re-energize for what’s ahead and focus on what you want to accomplish.
- Create a schedule that you can stick to for the times you will not be in class (see the time management resources below for some suggestions on managing your time effectively).
- Learn markdown (more resources listed below)
- Pick a note-taking application that will let you take notes while you read and work. It’s important that it can properly format code blocks. Here are some options (don’t overthink this choice – just pick something that you feel comfortable with).
🔖 Resources for Everyone
Time Management
- The Pomodoro Technique for Time Management & Productivity
- Time Blocking
- Common Time Management Problems & Solutions
Tech Talks with Good Advice
- Rukia Sheikh-Mohamed, 5 Steps to Getting Unstuck
- Katrina Owen, How to Fail Without Being a Loser
- Tom Stuart, The Most Common Problem In Software Development And How To Fix It
- VLC An open source video player that gives you lots more control than YouTube does (like more playback speed options).
- Advice for New Devs Not a tech talk but a podcast episode from Syntax.fm, which is my favorite front-end podcast and in my opinion one of the best tech podcasts, period.
Markdown & Taking Notes
- Markdown Guide
- Mastering Markdown Short 30-min video course that will help you get proficient with Markdown quickly.
- Markdown Tutorial If you don’t want a video course.
- How Note Taking Makes Me a Better Developer
🦊 SO YOU WANT TO BE A FRONT-END DEV
This is all 💯 optional but if you want to keep your learning streak going, here are some relevant readings. Some of this will be covered directly during Phase 3, but not all of it.
A note on terminology
“ES6” stands for “ECMAScript 6”, a version of JavaScript that came out in 2015 (ECMA is the organization that governs JavaScript language standards). When people refer to “ES6”, they usually mean the set of newer features that were introduced to the JavaScript language in that version. It was a major shift and required developers to get used to some really new things. These features are commonplace now, but the “ES6” name has stuck around.
Many of the features introduced in ES6 are important to know for React.
JavaScript & React
- ES6 tutorial for beginners
- MDN: A Re-Introduction to JS
- Modern JavaScript Explained for Dinosaurs
- State of JS 2020 Survey Results -> Read the Introduction and Features sections; the rest you can skim, although it’s all pretty interesting.
- How to think like a Front-End Developer -> Listen to the first episode with Eric Meyer, but all the episodes are really great!
- How React is different from plain vanilla JS
- Syntax.fm podcast: The React Episode
👾 If you want to write some code
This is optional. You do not need to submit anything.
-
Try some exercises from this list (and anything else that looks interesting) on Exercism.io JavaScript Track
- Isogram
- Scrabble Score
- ETL
- Simple Cipher
- Hamming
- Gigasecond
- Grade School
🐻 SO YOU WANT TO BE A BACK-END DEV
This is all 💯 optional but if you want to keep your learning streak going, here are some relevant readings. Some of this will be covered directly during Phase 3, but not all of it.
Overview on running production applications
- 🎧 Deploying and Running Django Web Apps in 2021 podcast
- The Twelve-Factor App Have you heard of
SaaS
applications? “Software as a service” is a concept that describes how a lot of modern web applications work. This pretty technical resource is a good (hard) overview that gets into the overlap between development and operational infrastructure (where and how the code runs): DevOps.
Debugging in Python
- Python Debugging with Pdb
- Tips for Debugging with
print()
- Damilare Onajole, Debugging Python conference talk video
Databases and SQL
Confidence working with the database is important for back end devs, so it’s worth taking the time to really understand how they work.
We won’t need to write SQL in Phase 3 but it’s a nice add-on for your technical interviews, and it’s a skill you will definitely pick up if your job involves back end work.
- Full Stack Python: Databases
- SQL Basics: Learn x in y minutes This may be helpful to skim for familiarity with SQL when you see it. You do not need to write SQL because the Django ORM does it for you, and it does it well. Most developers can drop into SQL if they need to work with the database directly (and they know how to look up the syntax they need!).
- Learn SQL on Khan Academy
- SQL Basics Reference
- How SQL queries run The syntax for SQL queries can be confusing. It can help to understand the order of operations in which your query will run. This is a blog post from the fantastic Julia Evans breaking it down for you.
Writing Tests
This is the number one skill you should learn after you finish this program. Writing tests is an essential part of development.
👾 If you want to write some code
This is all optional. You do not need to submit anything.
- Python Problem Set 1
- Python Problem Set 2
- Revisit a Django project from Phase 2. Did you get stuck on something that you didn’t finish? Practice using the Python debugger to dig into the code.
- SQL Tutorial at SQLZoo Not a super shiny UI but a solid walk through for writing SQL.
- Writing your own SQL queries This is an assignment I’ve used in a class where I did teach SQL.