$1,499

Software Design Course in Python

0 ratings
I want this!
14 left

Software Design Course in Python

$1,499
0 ratings

Learn the skills that make great software developers stand out

What separates great from mediocre developers is not the knowledge of one or another programming language or framework, but the ability to navigate the huge amount of design decisions that need to be made daily.

Cultivating a taste, an intuition, an inner compass that guides you when writing code is the way to become an outstanding developer.

Structured like an English writing class, this course will teach you good software design principles by building a medium-sized project and iterating on it. It is an attempt to create a perfect learning experience: with a challenging project, an expert instructor, and passionate peers to work with.

This course is for you if you are an intermediate developer who wants to improve your skills, but is overwhelmed with the amount of information out there.

By the end of this course:

  • You will build a medium-sized project from scratch (vi-like editor).
  • You will get feedback on your code and actionable advice on how to improve it.
  • You will read a lot of code and discuss the trade-offs of different approaches.
  • You will join a community of developers who love and care about software design in a private Discord server.


Enrollment is open for the 1st cohort

  • Daily 1-hour sessions at 11 AM Eastern Time.
  • Project: build a vi-like editor in Python.
  • Max 20 students.
  • The course will start whenever we have 10 students enrolled for the first cohort.


The course

The course lasts 3 weeks, with 1-hour live sessions on Monday, Wednesday and Friday at 11 AM Eastern Time.

Some sessions will cover topics in depth, and others will focus on reviewing the student's code on the ongoing project (vi-like editor).

This is the schedule:

Week 1

  • Monday. Greetings and introduction to the project. Kick-starting the development of a vi-like editor.
  • Wednesday. Software design core principles.
  • Friday. Code review and live discussion.

Week 2

  • Monday. Code smells. What to look for when refactoring code.
  • Wednesday. Code review and live discussion.
  • Friday. Programming with AI. How to use AI to your advantage and not be replaced by it.

Week 3

  • Monday. Code review and live discussion.
  • Wednesday. Invited guest: Víctor Martín from Tesla Autopilot. How software is built at cutting-edge companies.
  • Friday. Final code review and closing remarks.

At the beginning of week 2 and week 3, a full code review will be delivered to each student.

Testimonials

I've been fortunate to work alongside Víctor for years. I have watched him transition from a skilled coder to an exceptional software engineer through relentless study of reference books and the analysis of his personal experiences. In the latter stages of his career, I've seen him mentor coders from my team, transforming them into well-rounded, FAANG-caliber engineers. Without hesitation I'd rate his coaching a solid "10/10 would gladly be mentored by him".

Josep Sanjuàs, PhD

FAQs

How much dedication is required?

The course is intense, but it doesn't require a full-time dedication. You will get the most out of it if you spend enough time working on your project. Getting feedback on a work you've put your best effort on is the ideal best way to improve.

What if I can't attend the live sessions?

It's not necessary to attend the sessions live, but of course it's recommended. All session will be recorded and shared immediately. Still, let me know your time preferences so I can adjust the time of the next cohorts.

Can I code the project in another language than Python?

Yes, but. I have professionally coded in C, C++, Go, JavaScript/TypeScript and Rust (in addition to Python). I will be happy to review your code in any of those languages, but the live discussions will be mostly focused on Python. If in doubt, write me and let's discuss.

Why build a vi-like editor?

This project is hard and big enough to pose some design challenges, but at the same time, it is feasible to get a working prototype to iterate on in a few days. It helps that all developers are familiar with what a code editor is.

By the end of the first week, you may already be editing your editor's code using that same editor!

How are the code reviews?

You will get 2 full-code reviews during the course: at the beginning of week 2, and at the beginning of week 3. I will provide an annotated version of the code and record a brief screencast going through the main issues and overall thoughts.

Will there be more editions of the course?

Yes. I plan to expand the course to different projects and programming languages. Join the newsletter to stay up to date or write me an email: I'd love to know your interests.

I want this!
30-day money back guarantee
Copy product URL