We at Codesmith cultivate technologists who are at the intersection of society and tech, able to meet this moment and thrive in an ever-changing world. Ready to become a modern software engineer?
Understanding how and why a problem’s solution works is far more important to developing deep software engineering capacities than simply knowing what the solution is.
Online coding tutorials can feel rewarding, but they’re often followed by a disheartening realization: we haven’t actually learned how to solve problems independently.
This is particularly true in programming, where aspiring engineers often fall into "Tutorial Hell"—a cycle of passive learning without developing the autonomy to tackle coding challenges on their own.
Marselena Sequoia, Codesmith’s Lead Instructor of the full-time program, draws a clear distinction between passive learning and the active, Socratic learning environment at Codesmith:
“We’ve all been in a Zoom room where we never touch the unmute button, just listening to a single speaker lecture like an un-pausable YouTube video. You won’t find that at Codesmith.”
Instead, Codesmith residents experience the Socratic Method, which Marselena describes as:
“An environment that encourages back-and-forth questioning between teachers and residents, building up a shared understanding together in real time.”
This approach consistently fosters engineering autonomy, enabling graduates to enter the industry in mid-level and senior software engineering roles.
Jaime de Venecia, Lead Instructor of the part-time program, emphasizes how building autonomy translates to professional success:
“We teach our residents to never be afraid of asking questions, and to have open discussion during lectures especially. A great engineer is totally unafraid to ask clarifying questions, or to just very plainly, non-judgmentally, and empathetically ask: Why are we doing something this way? Is there a better way we could do this? What is the point of X, Y, or Z?”
He adds:
“That back and forth in lectures is really valuable. Autonomous problem solvers who can think critically and clearly through problems—that's really what distinguishes more senior people from junior people."
Will Sentance, CEO and Co-Founder of Codesmith, first encountered the Socratic Method during his time at Oxford University, where he noticed its absence in traditional coding education.
“The purpose of Codesmith is to grow someone’s capacity to tackle any new engineering problem even when the technology is changing so rapidly. To do so requires hitting tons of blocks in your understanding and coming out the other side."
He explains how the instructor’s role is essential:
“There’s powerful ways to do that - but it takes practice and getting comfortable with the process. Working back and forth with an instructor pushing you to step through the problem incrementally and identify the cause of the block then overcome it is a crucial part of building the engineering mindset that carries you through a career of building with technology.”
Marselena adds:
“This reliance on back and forth interaction relies on one of the most effective study techniques: active recall.”
Codesmith lectures reflect this commitment to interactive, remote learning:
“Instructors challenge residents to explain concepts for their peers, laying the foundation for continued learning, as well as invite residents to probe at the edges of the classroom’s collective understanding, asking questions of the instructor that fill in the missing pieces.”
“This approach is especially effective in remote learning environments, where a lively back and forth is crucial to maintaining energy and enthusiasm while exploring complex ideas.”
With many computer science programs focusing heavily on theory, Codesmith’s immersive, practice-based curriculum using the Socratic Method fills a vital gap in software engineering education.
Speaking with Professor Stephen Wolfram, Sentance described Codesmith’s foundation in teaching programming fundamentals—algorithms, data structures, operating systems, lexical scoping, event systems—and then applying them in communication-driven, practical ways.
As Marselena puts it:
“Residents aren’t just learning leetcode algorithms; they’re also learning how to learn.”
A cornerstone of this method is pair programming.
Will Sentance explains:
“Residents sit down in pairs, programming, and have to explain to the other person verbally, through difficult challenges, how they're going to approach it. Their partner then has to implement it in code.”
This technique reinforces the mental models behind the code, testing comprehension through active application.
It is crucial to the development of autonomy in Codesmith residents by pushing them out of their comfort zone and forcing them into finding solutions on their own.
Eric Shankman, a current Codesmith resident, shares:
“Pair programming 100% made the difference. Whenever I was pair programming with someone I took notes on what I was doing and used tools like Loom to film and watch myself solving the problems, talking out loud and trying to come up with ways to improve my code.”
Another Socratic practice embedded into the Codesmith curriculum is the Helpdesk.
When residents are stuck, they’re guided to self-diagnose rather than simply receive answers.
Jaime, the Lead Instructor on the Part Time Remote Immersive program, explains the process:
“They need to answer four main questions: What’s the problem? What did you expect to happen? What have I already tried? And why do I suspect it's not working?”
This structured approach strengthens the resident’s ability to frame engineering problems clearly and work towards effective solutions independently.
Software engineering is a discipline where autonomy, critical thinking, and continuous learning are essential for long-term success.
Passive learning methods fall short in cultivating real engineering skill. The Socratic Method and immersive techniques used at Codesmith foster deeper understanding, stronger autonomy, and the capacity to thrive in mid-level and senior software engineering roles.
The Socratic Method at Codesmith has proven itself the most effective route to creating capable problem solvers in the software engineering field.
Explore CS Prep further in our beginner-friendly program.
Get more free resources and access to coding events every 2 weeks.
Connect with one of our graduates/recruiters.
Our graduates/recruiters work at:
Rory brings his background as a journalist to Codesmith where he produces video and written content.
Connect with one of our recruiters to learn about their journeys.
Our graduates/recruiters work at: