𓃰 The Diligent Developer

Software Design School

Last update: 20 Mar, 2024

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:


Enrollment is open for the 1st cohort

85% OFF - 1st COHORT DEAL: $1,499 $225.

Enroll now


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

Week 2

Week 3

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.