Codesmith is a coding school that teaches full stack JavaScript and computer science to prepare residents for mid and senior-level software engineering roles. Its programs use a curriculum created by experts and training methods that immerse residents in modern web technologies, such as React and Node.js.
The school offers full-time, remote, immersive, 12-week programs and a remote, part-time immersive program that takes 38 weeks to complete. All offer the same high-quality curriculum and collaborative community experience, leading to graduates’ employment at top-tier tech companies like Amazon, Google, Netflix, and PayPal.
Codesmith offers a first-rate curriculum within a collaborative community that prepares its residents for mid to senior-level software engineering roles.
Join an info session to learn more.A Closer Look At Codesmith’s Outcomes
Codesmith reports that about 85% of its 2021 graduates received job offers within the first six months after graduation. Most of them found full-time software engineering roles, with others specializing in front end or full stack development.
Its 2020 graduates also reported a 107% average increase in median salary after attending Codesmith. To illustrate the scale of the increment, the school cited an example of a $58,000 median salary pre-Codesmith against a $120,000 median salary post-Codesmith.
Codesmith outcomes are audited independently by a third party before being submitted to CIRR, ensuring that these are figures you can trust.
The path to achieving these outcomes begins at the admissions stage. Applicants must answer short essay questions and complete an optional coding challenge. They must also undergo both non-technical and technical interviews. While applicants are not required to have a tech background, they should be able to demonstrate a baseline knowledge of JavaScript and dedication to their training to launch their careers in software engineering.
The detailed application process ensures a good fit between the applicant and Codesmith, giving residents a greater chance of success in the program. Part of determining the fit is ensuring Codesmith residents demonstrate the potential and the drive to grow into a software engineering role.
Codesmith’s Admissions Team looks for five core qualities when selecting candidates for its Software Engineering Immersive program. If accepted, residents will refine these skills further during their time at Codesmith.
5 Qualities of a Great Software Engineer
Michael O’Halloran, Lead Engineering Instructor of the Full-Time Software Engineering Immersive program, explained that while Codesmith gives importance to whether candidates can use tools like JavaScript, there are better indicators of success for a Codesmith resident. These include the five core qualities of a great software engineer.
“Codesmith is more than just learning how to code,” said O’Halloran. “It’s about learning how to be a mid to senior-level engineer. The following five traits are pretty spectacular tests for someone’s capacity to grow into that role…These core qualities demonstrate the tenacity and perseverance necessary to succeed.”
1. Analytical Problem-Solving
An analytical problem-solving skill involves taking complex challenges and breaking them into digestible, bite-sized pieces. Even simple algorithms can be challenging or appear daunting for coding beginners, so developing this skill is vital.
“We want residents to start looking at any problem—big or small—and think about the different steps that need to happen to solve the challenges,” shared Kyle Combs, Lead Engineering Instructor and Senior Software Engineer.
“The thing about engineering is it’s never like, ‘I know how to do it.’ No, you’re always solving new and different problems that get larger, more complex, and more challenging as you progress through your career,” Combs continued.
2. Technical Communication
When a software engineer collaborates with other engineers, it is essential to communicate important details, such as what they’re trying to do, what’s not working, or the status of an update.
“Effective technical communication will not only help you work in a team and know how to ask for help, but it will also help you excel as an engineer and become a leader on a team,” Combs said.
3. Non-Technical Communication
Engineers must work cross-functionally with other teams like product and marketing. For this reason, they should be able to effectively explain their code in a way that even stakeholders with little to no tech background can understand.
“Can you communicate and collaborate with other people? Engineering teams today are very collaborative, and it’s important to be able to communicate and work on a team,” shared Combs.
4. Adaptive Engineering Approach
Software engineers must recognize that part of the fun of working in software engineering is the challenge of solving problems and seeing them as a puzzle.
As Combs shared: “Engineers spend about 10 percent of the time actually writing code and 90 percent trying to figure out why it doesn’t work. And that’s just the reality of writing code. You try something, and if it doesn’t work, you modify your approach. It’s vital to settle into that world of the unknown.”
“…What can I do within my code? Where can I throw in logs, or debuggers, to break things down and isolate where my problem is happening? How can I see what’s going on in my code? This is the adaptive engineering approach.”
5. JavaScript and Programming Experience
For nine years, JavaScript has topped the Stack Overflow Developer Survey as the most commonly used programming language among professional developers. A core component of Codesmith is a commitment to breaking down barriers for more people to learn JavaScript.
“Communication is extremely important. When you are collaborating on a problem with a lot of other engineers, it’s really important to be able to communicate back and forth about what you’re trying to do, what’s not working, etc,” Combs said.
To equip future programmers with the qualities outlined above, Codesmith offers a variety of free workshops. These workshops cover more than just JavaScript and include topics like pair programming, which helps attendees build both technical and non-technical communication skills.
“[These workshops] teach the more esoteric aspects of JavaScript closures, recursion, object-oriented programming, and other base concepts in coding that will help you better understand all of the different frameworks and libraries and things that will come,” Combs said.
The workshops also help engineers understand how JavaScript works at its core, and when they have a deep understanding of JavaScript, it is much easier to understand other libraries and frameworks needed to grow a software engineering career.
How Codesmith Develops Software Engineering Core Skills
Free Resources: CSX and YouTube Channel
Along with the free, weekly workshops offered by Codesmith, all are welcome in CSX, an online learning platform that offers free JavaScript lessons. The platform contains courses, coding challenges, and an active community where members can find mentors or offer mentorship to others. Anyone interested in learning to code can sign up to access all the CSX materials and can proceed to work on them.
Codesmith also has a YouTube channel that offers free instructional videos, including an option to view solutions for each CSX challenge. Both work together to help potential residents deepen their understanding of each lesson.
Autonomous Teaching Strategy
In the Codesmith’s Software Engineering Immersive program, instructors do not spoon-feed residents with information. Instead, they encourage residents to think on their own and work independently to push through blocks.
“There’s an analogy that one of Codesmith’s lead instructors uses,” said Reid Klarsfeld, Lead Engineering Instructor of Part-Time Remote Software Engineering Immersive. “He’ll tell residents, here’s a car with four doors and four wheels. The residents’ task is to build a carburetor. At that point, residents get confused because they did not receive details on what a carburetor is, but now they need to figure that out.”
“By doing that, Codesmith’s block-driven development allows residents to become really autonomous,” he continued.
Due to the fast-paced nature of the software engineering industry, companies expect new hires to contribute immediately. Thanks to their training at Codesmith, graduates learn how to learn and quickly pick up new technologies. This can help them even when they encounter technology they’ve never used, including Python or Angular, which are not part of the Codesmith curriculum.
That said, Codesmith also offers many mentorship opportunities to ensure residents stay on track with their learning. The mentorship opportunities also help residents cultivate relationships that make up the supportive community Codesmith is known for.
A Curriculum That Cultivates T-Shaped Developers
The school gives plenty of opportunities for pair programming, studying algorithms, system design, and working collaboratively to contribute to the growth of the five core software engineering characteristics.
“Codesmith has carefully structured the Software Engineering Immersive programs so that the first few weeks are centered on lectures and units—understanding of the core fundamentals with regards to JavaScript and the foundational understanding of how to build and what to build and how things connect,” shared Katrina Villanueva, Lead Engineering Instructor of Full-Time Remote Software Engineering Immersive.
The goal is for residents to become “T-shaped” developers who demonstrate deep programming expertise (I) and a broad knowledge base (—), thus forming a “T”.
To drive this goal, residents must put their skills to practice as they complete four projects throughout their training. The first two revolve around front end and back end engineering foundations. Next is the Open Source Product (OSP), a four-week-long project available to other engineers outside Codesmith.
The project-building sessions are where Codesmith encourages forming the stem of the “T”.
“The top part is the core—understanding a multitude of different technologies within the tech stack. And then the “T” is shaping that expertise,” explains Villanueva.
After the OSP, residents must work on a Reinforcement project where they decide whether to continue mastering the tech they’ve been working on or work on other technologies they feel less confident in. Residents learn how to work effectively independently and in teams through these projects.
Become a Top-Tier Software Engineer with Codesmith
Codesmith is dedicated to providing accessible software engineering education and does so by building community among aspiring software engineers through their free learning resources. That sense of community carries over into their Full-Time and Part-Time Immersive programs, which, according to the school, continue to see outstanding outcomes as a direct result of the rigorous education and support residents receive.
As Codesmith shares, their residents become engineers, not technicians, through a deep understanding of advanced JavaScript and computer science. They also become experts in modern web development technologies, such as React/Redux and Node. Lastly, Codesmith helps residents build thriving careers by honing their communication, problem-solving, and collaboration skills.
Ready to become a top-tier software engineer? Join Codesmith’s info session and start your journey into tech!
About us: Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication.