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 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
“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.”
“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.
How Codesmith Develops Software Engineering Core Skills
Free Resources: CSX and YouTube Channel
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.
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.
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.