Software Engineering Immersive : Syllabus
Software Engineering Immersive : Syllabus
Software Engineering Immersive : Syllabus
FULL-TIME REMOTE
OUR MISSION
Our mission is to disrupt the way software engineering is taught and to develop an
exceptional network of software engineers, who are technically brilliant, collaborative,
supportive, and passionate about pushing the engineering community forward. Codesmith’s
flagship program, the Software Engineering Immersive, builds excellent engineers through
the comprehensive curriculum, team projects that ultimately solve problems in the developer
community, and endless hiring support.
ABOUT THE PROGRAM
The Full-time Remote Software Engineering Immersive program is an advanced program,
designed to help individuals launch a meaningful and successful career! Typically, about half
of the residents come from technical backgrounds (i.e. CS degrees, data scientists, UX
designers), and the other half are complete career changers, coming from non traditional
backgrounds (i.e. bartenders/servers, physicists, musicians). This program teaches an
immense amount of material, covering fundamental concepts and modern technologies, but
you are given all the resources you need! From hands-on instruction to 1-on-1 feedback
sessions, you will have access to guidance and learning opportunities. If you are just
beginning your coding journey, don’t get intimidated - Codesmith offers a plethora of
resources, from free beginner workshops to part-time online programs (JavaScript for
Beginners and CS Prep), to get you ready for the Immersive program!
TABLE OF CONTENTS
CURRICULUM HIGHLIGHTS 3
CORE CURRICULUM 4
CODESMITH TRADITIONS 7
REMOTE EXPERIENCE 7
PROGRAM TIMELINE 8
CURRICULUM HIGHLIGHTS
The 12-week Full-time Remote Software Engineering Immersive dives deep into every aspect
of software engineering - computer science, React, Node, design patterns, system
architecture, machine learning and DevOps. The tech industry is rapidly changing & for that
reason, the curriculum is iterated on for each cohort to take into account particularly
important innovations and highlights.
REACT/REDUX
React is at the heart of the Codesmith frontend curriculum. With the support of Tom Occhino,
Engineering Lead for React at Facebook, Codesmith brings the most accessible and versatile
tool for building applications to a new generation of engineers. Codesmith is one of the few
programs in the world to teach Redux at an advanced level in combination with React. Redux
is the most used tool alongside React in production and residents will be guided through best
practices. Ultimately, learning these technologies will act as a platform for innovative
discussions on application development. Past production projects built by residents utilizing
React and Redux have reached over 50,000 stars on Github and are utilized by hiring partners
at top tech companies.
ES6+
ES6 (or ES2015) introduces compelling new developments to JavaScript’s core including new
data structures, promises, iterators and generators. You will be working with ES6+
throughout the program.
MOCK INTERVIEWS WITH ENGINEERS
Residents are given the unique opportunity to do mock interviews with engineers during the
program. These 1-on-1 interviews are designed to help residents practice articulating their
technical background and projects in a high stress environment. The interviewer will then
provide specific feedback to help residents reflect and improve on how to represent
themselves in a technical interview setting.
SYSTEM ARCHITECTURE WITH LARGE SCALE CODEBASES
System architecture is a significant component of a seasoned software engineer’s role,
however this has not previously been incorporated into a 12-week program. By partnering
with some of the best open source projects with sophisticated, high quality codebases,
residents develop an understanding of system architecture with large-scale structured
production-level code.
BUILDING PROMINENT APPLICATIONS & OPEN SOURCE PROJECTS
Codesmith residents have built some of the most prominent tools in the React, Node, and
broader developer ecosystem - projects like Reactide (8800+ GitHub stars), WebDSP (featured
at Google I/O) and groundbreaking GraphQL and Kubernetes projects. This cements
graduates’ status as seasoned engineers. Others build applications serving hundreds of
thousands of users - including Veritas Prep, YouDescribe (in partnership with the The
Smith-Kettlewell Eye Research Institute) and the University of Wisconsin. Check out more
production-level projects that residents have built.
ENGINEERING EMPATHY
Becoming a great engineer means becoming a thoughtful team member. The work at
Codesmith can be tough and the hours can be long, but residents are supported through it
with care, mentorship, and feedback from team members, fellows, and their peers. Residents
are guided through combating the imposter syndrome and implicit biases through expertly
crafted workshops.
CORE CURRICULUM
The core curriculum covers computer science, critical programming concepts, and fullstack
web development, using React and Node. Residents learn through pair-programming,
building projects, and interactive lectures that go under-the-hood of important concepts.
REMOTE EXPERIENCE
Like our other online programs & workshops, we will be utilizing Zoom as the online
classroom. This is designed to mirror our onsite experience, meaning you will still have
interactive lectures, pair programming sessions, and team building exercises.
Although remote, you will still have access to the same resources you’d have in person! From
1-on-1s to group mentorship sessions to specified Q&A time and more, students will get a
personalized learning experience and encouraging mentorship despite physical distance.
Codesmith takes pride in the supportive community it fosters in the full-time onsite program
and we expect the remote program to be no different. Through Family Dinner, Circles (a
dedicated time to not think about coding!), and Questions of the Day, the cohort will engage
with each other through non-coding activities to bond and cultivate genuine connection,
allowing for a collaborative and empathetic culture.
PROGRAM TIMELINE
The Software Engineering Immersive program is centered around producing high quality
code - code that can be scaled, maintained, and shared. Residents will analyze and contribute
to open source projects, which are community driven codebases, some supported by large
companies such as Netflix, Facebook, and Airbnb and that are used in production by
companies everywhere. In addition to contributing to open source projects, Codesmith
residents will be guided and supported into building projects that will attract the most users -
giving them the real-world experience for working with their own users.
CORE LECTURES & CHALLENGES (WEEKS 1-4)
Lectures at Codesmith lay out the intuitions and fundamentals of a topic. They aim to give
residents an underlying mental model of how a concept works under the hood, rather than
code walkthroughs that feel great, but do not generate a deeper understanding. After each
lecture, residents dive into pair-programming to work through challenges building full
applications (that can be used throughout the course - including a Slack replacement, arcade
games and web scrapers) to truly cement the concepts introduced in the lectures.
PROJECTS - SOLO/GROUP/ITERATION (WEEKS 5-6)
Residents begin incorporating the tools they have focused on in the prior weeks to implement
full stack web applications that they design on their own and with cohort mates. Residents
will be introduced to Agile development cycles, using Scrum boards and daily standups in
order to work efficiently as part of an engineering team.
IDEATION (WEEK 7)
Ideation Week is designed to provide residents with ample time to conduct research and
create a plan of action for their production projects. There are no scheduled lectures during
this time.
ADVANCED LECTURES (WEEKS 7-13*)
In the second half of the program, in addition to project building & job search prep, there are
numerous additional advanced and professional-level lectures, covering topics such as
UI/UX, DevOps, system design, and front end optimization. *The Machine Learning unit is
taught over 2 days in the week post-graduation.
PRODUCTION PROJECT (WEEKS 7-10)
The senior portion of the program kicks project building into high gear. Residents will work
with a dedicated team to build challenging and compelling open source projects that will
work toward establishing them as a technical authority in emerging technologies,
frameworks, and developer facing tools.
REINFORCEMENT PROJECT (WEEK 11)
After diving into the esoteric with their production projects, residents will come back around
to reinforce the core material around full stack web applications. This will cement these
concepts in preparation for the interviews to come.
JOB SEARCH PREP (WEEK 12)
The program’s central focus shifts to the job search & interview preparation. Residents
participate in advanced technical interview workshops, white boarding exercises, and mock
cultural interview and phone screens. The week also covers job search strategies, writing
effective applications and messages, and developing compelling online profiles.
CAREER SERVICES
TECHNICAL INTERVIEW & RESUME PREPARATION
Weeks 11 and 12 place special emphasis on hiring preparation – coding interview
preparation, whiteboarding and resume/portfolio development. Residents will have multiple
mock technical and conversational video interviews as preparation for hiring.
WHITE BOARDING
Typically half of an interview for a mid or senior level engineering position will be 'white
boarding' through a coding challenge with your interviewer. Students complete interview
coding challenges daily throughout the program but in the final two weeks you will work with
instructors and mentors from outside Codesmith on whiteboarding.
POST-GRADUATION
The support continues after a student's cohort ends, with graduates coming back for remote
check-ins and mock interviews. Even after landing their first position post-graduation, if
graduates are looking to move positions or companies in the future, the Codesmith team is
always there to provide guidance and support. Career development never ends, and once a
student, residents are forever a part of a community that will constantly push them to be
better, to be more impactful, and will support them along the way.
SOFTWARE ENGINEERING IMMERSIVE ADMISSIONS
1. Online application - apply now
a. Codesmith team reviews applications and determines candidates to invite to
interview
b. Attend one of our workshops to get a Fast-Track code, which includes a special coding
challenge, & if completed you are guaranteed an interview!
2. Non-technical Interview
a. Give us a sense of who you are - your background, what led you to Codesmith & your
long-term goals!
3. Technical interview
a. If you do not meet our admissions standards we’ll give you feedback and invite you to
come back and interview again (3 times max).
4. Admissions decision (typically within 5 days of your technical interview)
RECOMMENDED RESOURCES
We look for five capacities in applicants: technical communication, problem solving,
JavaScript and programming knowledge, non-technical communication, and engineering
best practices (read more on Quora).
CS PREP
CS Prep (Codesmith’s part-time, remote, bootcamp prep course) is designed to prepare you
for admission into the Software Engineering Immersive. The program covers foundational
and intermediate JavaScript concepts, computer science fundamentals, and engineering
best practices. You will refine your technical communication skill set through pair
programming sessions and technical presentations.
At the end of the program, you will take an assessment, which can fast track your application.
Additionally, your tuition rolls over to your full-time program tuition, essentially making CS
Prep a free program.
FOR TECHNICAL COMMUNICATION, PROBLEM SOLVING & BEST PRACTICES
● Pair-programming and going under-the-hood of JavaScript at JS The Hard Parts and
other Codesmith workshops
● Coding Challenge sites like: Codewars, Coderbyte, LeetCode, and HackerRank
● Web development challenge sites like: Nodeschool and Exercism.io
● PythonTutor - Allows you to run through your code line by line similar to the JS the
Hard Parts whiteboarding approach.
● JavaScript30 - Build a project with simple JavaScript each day for 30 days - excellent
for improving your problem-solving (tackle the problem before watching any solution)
● Building chrome extensions - this project lets you focus on JavaScript
problem-solving, not on copying and pasting boilerplate code
FOR JAVASCRIPT & PROGRAMMING KNOWLEDGE
● CSX - Codesmith's Free Online Learning Platform
● freeCodeCamp
● Codesmith workshops - Intro to JS, Web Development Fundamentals, & JavaScript the
Hard Parts (in NYC, LA, and online)
● The Complete Web Developer Course 2.0 - HTML & CSS are important to all
developers. Codesmith recommends learning these languages as a pre-req.
● JS the Weird Parts on Udemy
● ReactiveX LearnRX challenges (Higher order functions)
● Angus Croll on JavaScript (Closures, Execution context etc)
INTRODUCTORY RESOURCES
● JavaScript for Beginners - Codesmith’s part-time, online intro course
● Codecademy JavaScript
● Codeschool JS
● Team Treehouse