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, prep programs, and 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 team projects 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—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.

High aspiration → high struggle → high support

We won’t sugarcoat it: learning to be a modern engineer is challenging—but you can do it.

Every step at Codesmith is met with care and guidance—not only from our team but also from your peers, who are doing the hard work alongside you.

From your first assessment, we identify any learning gaps and provide one-on-one support.

Each resident receives an hour of personal coaching weekly with a fellow for the first five weeks. If gaps remain, additional hours are provided until you reach the required level.

But it goes beyond the hard learning; emotional support is just as important. We hold space for you, offering ‘breadcrumbs’ to help you reflect, process, and move through mental blocks.

Validating your emotional experience is as essential as tackling technical challenges.

This is where true growth happens—where aspiration and struggle meet unwavering support, transforming you into an awesome engineer (and helping you grow as a human too!)

James Kim

Software Engineer @

Codesmith wasn’t anything like high school, where you are given the answer. The hard learning was the key point that I took away, and the fact that I would have to work my butt off to pull it off. Even though it was hard, Codesmith was therealongside me through it.

Frontier technology

Even though the focus of the program is building the critical capacities of a modern engineer—like problem-solving and communication—you will also learn and use the most high-value, high-impact technology in the world today. 

We’re preparing you to not only use these tools, but to understand the engineering principles behind them. 

From programming principles and design to UI frameworks, server and database engineering, infrastructure, dev tooling, and advanced AI applications, the program is structured to keep you in sync with the latest industry standards and tools (like TypeScript, Next.js, and more). 

This means you’re not just learning the tools in vogue right now, but building the mindset to learn new tools as they evolve. 

Will Sentance

CEO @

When you graduate from Codesmith you become a modern software engineer, able to solve any problem with frontier tech, ML & AI tools. While they change month to month, the principles and architectures are timeless.

Under the hood of high-impact tech

By the time you join, you’ll already bring problem-solving and communication capacities to the table. We then make sure to align those capacities with today’s most critical tools.

We start with the foundations—HTML, CSS, JavaScript—and move on to advanced tools and frameworks like Node.js, PostgreSQL, AWS, and Docker, teaching you to build, deploy, and maintain full-stack applications.

But it’s not just about the tools, although it makes sense to learn the most frontier ones; our main focus is on core mechanics and principles, making sure you leave Codesmith ready to adapt to any new tech. You’ll gain the versatility to work across languages and frameworks as the field evolves.

From Orchestra Conductor to Senior Software Engineer at Capital One

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

Mastering frontier tools—inc. AI/ML and Typescript

AI and ML aren’t add-ons here—they’re now essential parts of a modern engineer’s toolkit. We integrate these technologies into the program, treating them as part of the stack rather than separate from it.

Developed by Codesmith’s co-founder Alex Zai and our Data Science & Machine Learning Research Group, we’ve expanded our curriculum by 20% to ensure our residents know when, where, and how to use AI/ML in the real world.

Alex Zai

Cofounder @

former ML engineer @

Codesmith covers core topics like mental models behind LLMS and a model pipeline as well as the practical applications of these tools.

Best practices for modern engineers

Best practices aren’t theoretical—they’re built into every project and practiced through doing.

As you do pair programming and group projects, you’ll learn the workflows that engineers use every day: clean code, technical documentation, code reviews, QA, and optimization. By graduation, you’ll have some muscle memory built ready to use.

But the real key to integrating best practices is recognizing what you don’t know—and pushing through the momentary discomfort of admitting it.

We don’t expect you to come in knowing everything, because no one ever does. In fact, one of the most important ‘best practices’ you’ll learn as an engineer is how to ask questions.

It takes courage to say, ‘I don’t understand,’ but more often than not, others in the room have the same question.

Alex Stewart

FTRI alum, technical writer

I’ve found that a growth mindset includes trusting the process. Early on, I put so much pressure on myself to understand everything right away which was discouraging and only impeded my ability to embrace new concepts. What I have realized over time is that growth does not happen in a straight line. It comes from exploration, trial, and error.

Open source — building the roads and bridges of technology

Open-source projects are the backbone of modern software, and you’ll be part of that.

Residents and alumni have contributed to major projects like TensorFlow.js, gRPC tools, and Svelte libraries (with over 50k GitHub stars!), helping advance the essential infrastructure that powers today’s technology.

Your capstone will be an open-source project, underscoring our commitment to collaborative building. When you graduate from Codesmith, your instinct will be to contribute, share, and innovate publicly. Even those who move on to companies focused on proprietary software carry these principles with them, understanding that collaborative development practices strengthen any team.

Codesmith is committed to open source and proud to be a featured Open Source Labs partner.

Open Source Labs (OSLabs) is a selective community of dedicated engineers with the shared mission of driving creative technological advances through open source.

OpenSourceLabs - non-profit w incredible team and board - giving opportunity to work on frontier open source projects: Tensorflow.js, grpc tools, Svelte libraries. and community validation

Tools & integrations built by residents

ReacType

ReacType is a rapid prototyping tool that allows users to visualize their application architecture dynamically, with a drag-and-drop canvas display and an interactive, real-time component code preview that can be exported as a React app. The beauty of ReacType is that you can use it in parallel with create-react-app or other boilerplate code generators. Instead of exporting an entire application from ReacType, you can simply export your components into an existing project.

Spearmint

Developers can easily generate React/Redux/Hooks/Context/Endpoint tests by using user-friendly GUI. It dynamically converts user inputs into executable Jest test code by using DOM query selectors provided by the Testing Library. From its inception, Spearmint has sought to provide a simpler way to write tests for React Applications. It allows developers to dynamically generate test files that can directly export into a project directory without writing any code!

ReacType

The growing trend towards microservice architecture and gRPC means there is a need for monitoring tools that support these technologies. Popular solutions either require haphazardly combining multiple open-source tools or paying for expensive monitoring software. Chronos bridges this gap, as an open-source tool for Node.js that can be used to instrument, collect, visualize monitoring data and gaining insight to prevent/diagnose failures

How your OSP can get you a job in AI

“Discover how Jordan Palmer leveraged his Open Source Project (OSP) at Codesmith to land a role in AI, showcasing the power of hands-on projects in breaking into the field.

What our residents say about their OSPs

Kyle Jurassic

Cloud Engineer @

We ended up making a product that the Deno community got excited about. We had external pull requests just days after we’d built it – people were using it and getting value out of it, and suggesting ways to improve it. It was a buzz that I’d never experienced before. I think my interviewers were very interested to hear about vno. It gave me a subject that I understood which they didn’t, and that felt like a huge selling point in the interview. That gave me a credibility that I previously didn’t have, outside of theater anyway!

Anna Larouche

Software Engineer @

I loved OSP. I bonded closely with my group and I’m so proud of the product we made and everything we learned in the process. I really can’t believe I’m able to create something on that scale - and I can’t believe that I was one of the people who had strong opinions about how we did it! It was awesome.

Rebecca Shesser

Software Engineer @

Building something from the ground up, encountering incredibly tough technical challenges, and getting the opportunity to work with such amazing and talented people has been so powerful and contributed so much to my growth as a software engineer. The thing that surprised me the most was actually being able to break through the technical blocks with my team and learning and building with new technologies and libraries after only researching them for a few hours.

Kyle Jurassic

Cloud Engineer @

We ended up making a product that the Deno community got excited about. We had external pull requests just days after we’d built it – people were using it and getting value out of it, and suggesting ways to improve it. It was a buzz that I’d never experienced before. I think my interviewers were very interested to hear about vno. It gave me a subject that I understood which they didn’t, and that felt like a huge selling point in the interview. That gave me a credibility that I previously didn’t have, outside of theater anyway!

Anna Larouche

Software Engineer @

I loved OSP. I bonded closely with my group and I’m so proud of the product we made and everything we learned in the process. I really can’t believe I’m able to create something on that scale - and I can’t believe that I was one of the people who had strong opinions about how we did it! It was awesome.

Rebecca Shesser

Software Engineer @

Building something from the ground up, encountering incredibly tough technical challenges, and getting the opportunity to work with such amazing and talented people has been so powerful and contributed so much to my growth as a software engineer. The thing that surprised me the most was actually being able to break through the technical blocks with my team and learning and building with new technologies and libraries after only researching them for a few hours.

Preparing you for immediate impact

Our program is designed around in-demand tools and workflows, preparing you to make an immediate impact in your role.

Here, you’ll get comfortable tackling the unfamiliar—from new tools to complex projects—while working collaboratively in a team-based environment. Our project-based approach mirrors real-world engineering teams: stand-ups, code reviews, writing documentation, and following best practices that become second nature.

One of the biggest lessons of being an engineer is that so much of the job isn’t just coding—it’s about effective communication, mentorship, and building cohesion with your team. By the time you graduate, you’ll have experienced all of this firsthand, so you can hit the ground running.

Our alums have been through it all—they know it’s tough, but they’re ready for anything. By joining the program, you’ll be too.

Curated community

The magic of Codesmith is in our community.

When people from so many different backgrounds come together as Codesmith residents—including computer science grads, nurses, artists, lawyers, dolphin instructors(!), community college grads, and Ivy League grads—something pretty special happens. 

You all start on the same page because you’ve all reached Codesmith’s admissions bar, ensuring you come into the program with the foundation for becoming a great modern engineer.

You’re all ambitious and ready to do the hard learning. And you infuse that with your own unique vibe and lived experiences, making it a rich tapestry of new perspective and fresh energy. 

That means when you start, you aren't stepping into hard learning alone. You’re pushing through blocks, building new things, and growing with others by your side. There’s a culture here of lifting others up before yourself, so no one is left behind in the learning—including you.

This synergy is hard to put into words, but it’s a very special thing. Your ambition, hard work, struggles and breakthroughs will be seen, supported, and celebrated—especially on the hard days—as you rise together through the program.

Selective, not exclusive

Our admissions process is rigorous yet accessible for anyone willing to do the work. It means that everyone has the foundations of the five core capacities of a great engineer, opening the door for people from every corner of our community to jump into the world of tech.

It does mean that our admissions bar is higher than other programs, but that is to your advantage. This balance of selectivity and accessibility allows us to build a truly exceptional cohort that elevates every resident.

Third time’s a charm

Passing Codesmith admissions with Sean Kelly

Reflecting society and pushing through barriers

We’re committed to building a community that truly reflects our communities—welcoming people from outside the tech establishment, those from underrepresented communities, and folks who remember what it’s like to not always be on the ‘inside.’

We commit to that through maintaining a pathway into the program that is both rigorous, but accessible, with all the scaffolding provided to meet the high admissions bar through free resources, our CSX community, and prep programs to get everyone there.

Showing up for this work includes actively addressing barriers once residents join. We offer resources like implicit bias workshops at both the start and end of the program, ongoing well-being support, and accommodations to ensure each resident’s success. Events for women and non-binary residents, along with panels and Q&As for underrepresented groups, provide safe spaces for open conversation.

Our Future Code program also creates pathways for people earning under $60k in NYC, opening doors to tech careers that have often been closed.

A community of builders

Our residents arrive into the program ready to do more than just learn – they want to build.

Across the program you will take on five ‘blank page to working product’ projects, where you will ideate, scope, and develop applications from scratch. 

Through this hands-on work, you will practice the mental agility and autonomous thinking that define modern engineers, building your capacity to take on complex, real-world challenges. 

Each project is a chance to practice “next step” thinking, moving beyond concepts and into practical applications with real impact. 

In it together

The connections go far beyond the learning. Residents spend nearly every day working together, friendships are made, and fun is had—from game nights and family dinners to alumni events and cultural celebrations.

A team drawn from our community and with you for a lifetime

Our program is led by an exceptional team of instructors, mentors, and curriculum designers who blend deep teaching expertise and experience in high-impact, frontier tech, with an empathy for what it’s like to do the hard learning (because most have done the program themselves). 

As a grad, you’ll benefit from lifetime career support, including unlimited sessions with Career Support Engineers, Codesmith alumni who work at top companies like Amazon and Relay Robotics. You’ll also have access to tailored negotiation workshops, led by experts like Eric Kirsten, which provide personalized guidance as you prepare to launch or advance your career.

Sign up for our newsletter for our latest updates and resources!

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Ready to become
a modern software engineer?

Got a question?
Chat with our
team