Skip to content

Latest commit

 

History

History
113 lines (97 loc) · 12.2 KB

job-ready-python-edition.md

File metadata and controls

113 lines (97 loc) · 12.2 KB

Get Job Ready - Python Edition


Tier 0 - Prep

Goal: Be comfortable with git by midway through Tier 1, and comfortable with Precalculus by midway through Tier 2.

Anything in Tier 0 can be studied before beginning Tier 1, or alongside the rest of the guide as you progress through the other Tiers.


Tier 1 - Non-Python frontend necessities for Web Development

Goal: Become Proficient with HTML, CSS and JavaScript, including the frontend framework/library of your choice plus D3.


Tier 2 - Python Basics

Goal: Become familiar with Python, MongoDB, and the Flask or Django framework and begin building proficiency with creating full stack web applications with Python on the backend.

  • Challenge: Python Interview Prep on Hackerrank. Sign up now and work problems alongside the guide as you progress.
  • Course: M001: MongoDB Basics - note: this course is only intermittently offered, sign up at the start of the Tier, then proceed to the other courses and return to this one when it's in session
  • Course: MM220P: MongoDB for Python Developers - note: this course is only intermittently offered, sign up at the start of the Tier, then proceed to the other courses and return to this one when it's in session
  • Course: Introduction to Computer Science and Programming Using Python
  • Study: The Flask User Guide or the Django documentation - pick based on which is more prevalent in your area, which you personally prefer, or any other criteria you choose, but pick one and study it thoroughly. Do the tutorials, read it all, learn testing, auth, databases, all of it.
  • Project: Clone Twitter using Python on the backend, and your frontend framework/library of choice. Include all basic features: signup/login/logout, follow user, search, tweet, like/retweet, home page with stream of recent tweets.
  • Course: Single Variable Calculus
  • Project: participate in one Bot Programming competition.
  • Book: Think Python
  • Study: The pytest testing tool read the docs thoroughly, experiment with the examples and become proficient with pytest (including unittest and nose).
  • Project: participate in one Bot Programming competition.
  • Project: Clone Medium. Include: create account, create post, publish post, edit post, add topic to post, follow user, follow topic, cheer for post, and home page with feed of recent posts, followed users, and followed topics.
  • Project: Do a one week Speedrun of the FreeCodeCamp Projects, finishing as many as you can in seven days.

Tier 3 - More Python and Basic CS

Goal: Learn Python to a deeper level, ensuring you understand the algorithms and data structures you're likely to encounter in interviews (and on the job).


Tier 4 - Wrap everything up and prep for interviews

Goal: Interview with confidence.

  • Project: Finish any questions you have remaining from Python Interview Prep
  • Project: Refine and polish your Portfolio.
  • Project: Create and polish your Resume/CV.
  • Project: Cracking the Coding Interview on HackerRank
  • Project: Continue honing your skills as you interview. Participate in more bot competitions on CodinGame, participate in competitions on Kaggle, contribute to open source JavaScript or Python projects, work on side projects that illustrate your frontend skill.

What now?

  • If you really enjoyed the dip into Machine Learning - hit the Data Science Guide
  • If you preferred the Algorithms and Data Structures - hit the CS-WD Guide
  • If you mostly enjoyed the Web Development - hit the WD-CS Guide

FAQ for this guide

Why is it so much longer than the other Job Ready Guide?

The most notable difference between this and the original Job Ready guide is that it is significantly longer but still begins with YDKJS. This is because in order to use Python for web development, you also need some proficiency with the primarily frontend topics as well (HTML, CSS, JavaScript).

Python is typically used for far more than just server-side web development so I've tried to at least touch on the "grander scheme" without bogging down too much.

Why so much Math and Algorithms?

There is far more focus on algorithms - this reflects what you can expect in industry, you're far more likely to be rigorously tested on algorithms and data structures in a python interview than a general or frontend web development interview.

Where should I deploy my code?

For all projects - store your code on GitHub, GitLab or BitBucket (GitHub preferred if you want it to later be seen by potential employers) and for web projects deploy the code on the web using the service of your choice (GitHub or GitLab projects or Surge.sh are ideal for frontend only projects, while Heroku is a free alternative for backend/fullstack).

What Python should I use?

When you get to Tier 2 - I highly recommend installing the Python 3 version of Anaconda for use in the Python-centric portion of the guide. It containerizes your Python environment to ensure nothing you do impacts the rest of your machine, contains all the plugins you're likely to need, and even provides the Spyder IDE which is an ideal starter setup for Python development.