Cultivating capacities that last

Our approach is about building the lasting capacities needed to thrive as a modern engineer—problem-solving, technical and non-technical communication, and an engineering mindset.

But just as important as what you learn is who you learn with. That’s why collaboration is central to everything we do, starting with our selective admissions process, which ensures every resident brings the foundational capacities to grow alongside a supportive and driven community.

But we don’t expect you to get there alone. Just as you’ll be supported by peers and mentors during the program, we invite you to be part of a collaborative learning community today.

Through our free workshops, CSX community, an study groups, you’ll start building your skills and capacities alongside others on the same journey.

Once you join, the spirit of collaboration continues as you’re guided through the hard learning needed to take your capacities to a whole new level. Techniques like the Socratic Method, Supported Struggle, pair programming, and ensure you’re constantly challenged and supported as you build true technical (and non-technical) autonomy.

Gradually, the guardrails come off, and you’ll tackle real-world projects, using your capacities to create and problem-solve with confidence. And throughout, you’ll be part of a curated community of residents pushing through the hard learning together, and encouraging each other every step of the way.

Jenna Davis

Senior Software Engineer @

Codesmith is individualized, intense, and unique in terms of mentorship. It’s like years compressed into three months and the most time and cost-effective way to learn the fundamentals of a career in tech.

We prioritize building capacities over specific skills

Technologies change, but the ability to reason, adapt, and solve problems endures.

Capacities like problem-solving and both technical and non-technical communication fuel your ability to constantly adapt, whether you’re onboarding new tools or navigating fast evolving technologies.

We focus on equipping you with the mindset to tackle challenges, whether they have known solutions or are uncharted territory. It all starts with our Hard Parts workshops, where foundational concepts are taught, and progresses to open-source projects in the immersive, where you build solutions from scratch.

Through pair programming, team-based projects, and mentorship, you’ll learn to identify patterns, break down challenges into manageable steps (block-based learning), and articulate and resolve even the trickiest blocks.

This journey isn’t easy. It’s about learning to confront uncertainty and embrace progress over perfection—essential qualities for any modern engineer.

The capacities of modern software engineers

Problem solving

Technical communication

Engineering approach

Non-technical communication

Domain knowledge

Will Sentance

CEO @

Skills run a never-ending risk of becoming obsolete. Capacities transcend contextual shifts, and retain their relevance—whether in software engineering or elsewhere.

Capacities vs. skills

We are language agnostic, giving you “under-the-hood” understanding

While we focus on teaching you the fundamentals of JavaScript—the language that the web we interact with is built on—we take you further; knowledge of languages is secondary to building a deep, ‘under-the-hood’ understanding of their conceptual frameworks—equipping you with the capacity to learn any new language as the tools change (which they always do).

We emphasize core fundamentals: design and architecture, code quality, performance, and scalability. We are taking you from simply ‘making it work‘ to truly understanding why it works, allowing you to solve problems at a foundational level.

Throughout the program, you’ll step into system design lectures, daily algorithm challenges, and senior-level whiteboarding practices to deepen this capacity.

And through hands-on projects and open-source contributions, you’ll apply your capacities (and care) to build real projects.

By graduation, you won’t just know how to code; you’ll know how to think like an engineer, with a timeless toolkit of capacities ready to tackle any problem.

Serge Vartanov

Principal Software Engineer @

Of course Codesmith grads end up at Meta, Google, Amazon. These companies deal with high scale. Teaching that under-the-hood knowledge is the purpose of Codesmith’s curriculum.

55%
of alumni are non-JS. Languages grads use after graduated

We cultivate a growth mindset in residents

A growth mindset is the starting point for any engineer trying to solve problems. That applies to learning, too.

Based on the Socratic Method, learning is an interactive exchange between residents and instructors. This isn’t passive lecturing but a challenging dialogue that encourages autonomy over ideas—every voice matters, and there’s no ‘hiding at the back.’

Growth here means embracing mistakes, tackling difficult blocks, and seeing setbacks as fuel for progress. With regular retrospectives, feedback on projects, and weekly assessments, we guide you through the hard learning. Pair programming and group projects also help you develop problem-solving and communication capacities beyond technical skills.

Your growth mindset deepens as you work through challenges with support, our team provides the guidance and guardrails, but it’s up to you to take ownership of your growth, embracing learning as an ongoing journey without the need for perfection.

Samuel Lariviere

Grad & Engineering Fellow @

By actively communicating my challenges to the team and collaborating with my cohort, I learned to embrace those moments instead of letting them paralyze me. We pushed one another, shared insights, and found solutions together. That’s where real growth happened. I wasn’t aiming for perfection, but for the kind of change that comes from pushing past my comfort zone, supported by a community that really believed in me.