Skip to content

Latest commit

 

History

History
525 lines (342 loc) · 20.6 KB

CURRICULUM.md

File metadata and controls

525 lines (342 loc) · 20.6 KB

Ladderly Slides

This is the open-sourced curriculum for ladderly.io!

View this information as a slideshow here!

Proudly built using reveal.js.

License: MIT licensed Open Source. GitHub repository here.


Curriculum Table of Contents

pt. 1/2, Learn to Code

  1. Introduction: Understanding the Master Plan
  2. Basic Technical Skills
  3. HTML
  4. CSS
  5. JavaScript
  6. React
  7. Optional Advanced Tech Skills

Curriculum Table of Contents

pt. 2/2, The Job Search

  1. Soft Skills
  2. Job Search

Part 1: Learn to Code

Learn to Code


Introduction: Understanding the Master Plan

Key Points

  1. Understanding Community Resources
  2. Why Tech + Programming?
  3. Why React?
  4. Why a Coaching Program?
  5. How to Identify a High-Prestige Bootcamp
  6. Overview of the Front-End Path
  7. Overview of the Job Search
  8. Overview of Post-Hire Care and Development
  9. External Resources
  10. Interview Prep Stack
  11. The Trial by Fire

Understanding Community Resources

Source: "Welcome to Ladderly! Overview of Community"

  1. Follow John on Twitter here. Directly message him any time!
  2. Join the Ladderly Discord. You will be automatically invited when you sign up for Ladderly.
    • If there was an issue, just send John a message through Twitter.

Understanding Community Resources

  1. Ask questions in the comments of videos or even make your own videos on TikTok using #DevCrew and #CodeTok
  2. The entire Ladderly curriculum is open source and you can view it here on GitHub.
    • You could even contribute if you feel something should be added!
  3. Watch weekly live streams on John's YouTube channel where you can ask anything!

Why Tech + Programming?

Source: Clément Mihailescu, "15 Reasons To Become A Software Engineer"

  1. High Compensation
  2. Work-Life Balance
  3. Low Barrier to Entry
  4. Low Unemployment Rate and Easy to Switch Jobs.
  5. Predictable Interview Process

Why Tech + Programming?

  1. Low Expected Future Unemployment Rate. It's a Futureproof Career.
  2. Lots of Variety
  3. Friendly to Both Introverts and Extroverts
  4. Can Work Remotely
  5. Promotes Creativity

Why Tech + Programming?

  1. Technology is Included in Every Industry
  2. Programming Now Supports Many Career Choices Later
  3. Immediate Feedback
  4. Incredible Amount of Custom Tools
  5. Can Help You Do Almost Anything. At Work or in your Personal Life.

Why Tech + Programming?

  1. You can leverage a degree from any field.
  2. Other Tech Jobs Besides Developer
    1. Also, Tester, Designer, Scrum Master, Business Analyst, and many more!
  3. Programming Supports a Digital Nomad Lifestyle
  1. For programmers, remote working is becoming the norm

Why React?

  1. React and JavaScript are Full-Stack Technologies.
    • Python is a server-side language. This supports comparatively fewer use cases.
  2. The mental model for web development is already familiar to most people.

Why React?

  1. AI and ML use cases for Python are not beginner-friendly.
    1. AI and ML may be dangerous when used by developers that don't understand statistics.
  2. Why Learn React instead of Angular?
    1. Job availability
    2. Same for Flutter, Svelte, Vue, and others
    3. React Native has special cross-platform uses

Why React?

  1. Learning React helps you quickly land a great job
    1. JavaScript is the most popular programming language according to Stack Overflow surveys from 2019, 2020, 2021, and more
    2. React is the most popular and loved web framework

Why React?

  1. Learning React helps you grow
    1. React can be written using JavaScript or TypeScript
    2. JavaScript and TypeScript are multi-paradigm
    3. React, JS, and TS are cross-platform, full-stack technologies with many use cases
    4. TypeScript as a language is highly loved and wanted by developers

Why React?

  1. Most people don't intend to work in data science
    1. Python is associated with a data science niche
    2. React has more results in a refined job search that excludes data engineering roles
    3. AI, ML, server-side, and non-graphical programs are not intuitive for most people
  2. Websites and mobile apps involve a familar mental model

Why React?

  1. More beginner friendly than C++

    1. Python and JavaScript considered beginner friendly. C++ and many other langs are not.
    2. With JavaScript, we don't have to manually manage memory
    3. React can be gradually learned, implemented, and adopted

Why React?

  1. More beginner friendly than C++

    1. A career focusing on C++ is associated with poor work-life balance and low maximum salary.
    2. React has higher starting salary compared to C++
    3. JavaScript is more popular, loved, and wanted among developers compared to C++

Why a Coaching Program?

Comparing Colleges, Bootcamps, Coaches, and Self-Teaching

  1. You get maximum ROI if you can effectively and rapidly self-teach.
  2. Try self-teaching by taking the free Codecademy Learn HTML course.
  3. Given the results of this test, other options might be recommended.

Why a Coaching Program?

When to Prefer Self-Teaching

  1. Prefer self-teaching by default.
  2. If you didn't enjoy the self-teaching experiment earlier described, consider another option.
  3. If you don't have a job after 12 months, this is a sign that you should consider other options.
  4. If you don't want to invest up to 12 months in self-teaching, other options might get you job ready sooner.

When to Prefer a Bootcamp

  1. You find a prestigious bootcamp that has acceptable terms.
    • Check the price, payment options, refund policy, technologies taught, and course schedule.
  2. You qualify for admission.

Why a Coaching Program?

When to Prefer Coaching or Mentorship

  1. You already have a career and you are seeking to level-up.
  2. You need help getting references or referrals.
  3. You want social learning, but you don't want a bootcamp.
    • For example, learning at a bootcamps might lack personalization, be too fast, too slow, or have unacceptable terms.
  4. You are already in a bootcamp or college program, but you want additional help.

Why a Coaching Program?

When to Prefer College

  1. If other options don't work, consider this as a fallback plan.
  2. If you are able to complete college at a reasonable price and within a reasonable period of time.
    • Many employers will subsidize or entirely pay for college. Consider Guild Education partners.
    • Certain individuals may qualify for unique scholarships.
    • Don't forget to include opportunity cost in your college price analysis!

Why a Coaching Program?

When to Prefer College

  1. If a slower pace of learning is ideal for you
    • Specifically, you want longer than 1 year to learn to code.
  2. You already have a career, but a degree could help you advance
    • Undergraduate and graduate degrees may help you advance into management
    • Earning a degree may appear positive on your corporate performance review

Why a Coaching Program?

  1. You're able to leverage your mentor's social network.
  2. How to Identify a Quality Coach
    1. Bulk discount on hours
    2. Offers a job guarantee
    3. Are they where you want to be?
    4. Are they asking you to do something they have never done?

Why a Coaching Program?

  1. How do mentors add value?
    1. Enhanced social network
    2. Give referals and references
    3. Help practice interviews
    4. Help you learn better by accelerating and decelerating pace of learning, tailored to you
    5. Can help you find and learn the latest tech, instead of learning a fixed curriculum optimized for a prior point in time.

How to Identify a High-Prestige Bootcamp

Source: John Vandivier, "Hirability and Educational Prestige"

  1. Use coursereport.com
  2. Look for a bootcamp with a rating of 4.25 or greater and 400 or more reviews.

How to Identify a High-Prestige Bootcamp

  1. Currently, in the United States, App Academy and General Assembly are two recommended bootcamps.
  2. Le Wagon is an ideal bootcamp for many people outside of the United States.

How to Identify a High-Prestige Bootcamp

  1. More things to consider when picking a bootcamp
    1. What is the placement rate and is a job guarantee offered?
    2. What is the price and do flexible or deferred payment options exist?
    3. Does the bootcamp accept GI Bill benefits or other tuition assistance?
    4. Does the bootcamp offer the technology training that I am looking for? Does it offer React training?

How to Identify a High-Prestige Bootcamp

  1. Don Hansen's YouTube Channel has in-depth bootcamp reviews
  2. Consider V School if you are a veteran

Overview of the Front-End Path

  1. HTML
  2. CSS
  3. JavaScript
  4. React with Redux

Overview of the Job Search

  1. Overview of the Job Search
  2. Have a high-quality GitHub Portfolio and LinkedIn Profile
  3. Get skill certifications from LinkedIn and Indeed
  4. Enlist third-party recruiters like those working at TEKsystems
  5. Optimize your resume. Utilize Indeed Resume Services.

Overview of the Job Search

  1. Strategically apply and follow up with companies of interest.
  2. Social network even outside of the application process.
  3. Continue to learn and grow.
    • Focus on growing soft skills, full stack development skill, and practing algorithm problems
    • Try to work with other developers through open source, hackathons, and similar opportunities.

Overview of Post-Hire Care and Development

  1. All post-hire care and development services are totally optional.
  2. Sessions to accelerate onboarding, fill in gaps, and combat imposter syndrome at your new role.
  3. Sessions to accelerate career movement from the tier 3 junior level to the tier 1 senior level.
  4. Sessions to accelerate development of new skills including full stack development, cloud architecture, new languages, etc.

Interview Prep Stack

  1. The Ladderly Curriculum. In Particular:
  2. Starboi, for Behavioral Interview Prep
  3. Endorsed Communities, for social help
  4. Algo Prep Chrome Extension - TODO
  5. Interview Prep Flashcard Tool - TODO

The Trial by Fire


External Resources

  1. Learn React Quickly
  2. Free Website Hosting
    1. Use GitHub Pages, Vercel, Railway, Render.com, Heroku, or Netlify
    2. Supabase and ElephantSQL are great for free database support
  3. GitHub Pages allows free portfolio hosting
  4. Mimo is a smart phone app that helps you learn to code!
  5. Brainscape flash cards are great for skill assessment and interview prep.
    1. I specifically recommend getting to 75% or higher on free tier JavaScript and React flash cards.

External Resources

Interview Prep, Data Structures and Algorithms (DS&A)

Leetcode is the go-to DS&A prep tool. Tips on how to use it:

  1. Start with the Ladderly Two Week Leetcode Crash Course
  2. Next complete the Blind 75 and read the 14 Patterns Article
  3. After steps 1 and 2 you are ready to start interviewing.
    • Leetcode tracks question frequency for some companies.
    • If you are interviewing at such a company, try to complete tracked questions with frequency >= 66%
  4. Optional: Complete all questions within Sean Prashad's Leetcode Patterns Tool
  5. Optional: Sort Leetcode questions by frequency and complete all with frequency >= 66%

External Resources

Interview Prep, Other

  1. Additional DS&A Prep: AlgoExpert
  2. Mock Interviews including Behavioral: interviewing.io
  3. System Design Prep: SystemsExpert
  4. Front-End Interview Prep: frontend.eval
  5. Optional: The Antipatterns section describes some other tools and reasons they are not recommended.

External Resources

Career Advice and Offer Research

  1. levels.fyi
  2. Rooftop Slushie

Basic Technical Skills

Key Points

  1. Basic Bash
  2. Basic Git
  3. Googling Techniques
  4. General Learning Techniques

Googling Techniques

Source: Fireship, "How to 'Google It' like a Senior Software Engineer"

  1. If you run into a code error or log message, try literally searching the message.
  2. Refine search using double-quotes for an exact match.

Googling Techniques

  1. Increase useful results by removing application-specific content in your search
  2. Use the "site:" prefix to search for results within a single site, eg site:stackoverflow.com
  3. Use the minus sign to exclude web pages that include a keyword

Googling Techniques

  1. Refine by searching over a specific time period
  2. You can use the "filetype:" prefix to search for specific file types
  3. If a search result isn't currently accessible, try to access a cached version
  4. Try using search engines other than Google as appropriate. For example, you could search within StackOverflow.

HTML

  • TODO: discuss code comments, semantic html, accessibility, and forms

CSS

TODO


JavaScript

TODO


React

  • subtopics: vs code, extensions, node, prettier, eslint, redux, devtools, project file organization and component organization. suggest we follow next.js as a code organization guide.
  • TODO: in four to eight bullet points, explain jsx, functional components, next.js, and blitz.js

Optional Advanced Tech Skills

  1. Why VS Code
    1. https://www.tiktok.com/@johnvandivier/video/7003798278550670598

Part 2: The Job Search

The Job Search


Soft Skills

TODO


Job Search


Job Search

Open Source Contributions