Our mission is to develop the most exceptional group of software engineers - technically brilliant, incredible collaborators, passionate about building and supportive of the community.
Next Cohorts: February 27, 2017 • April 17, 2017 • June 5, 2017 • July 24, 2017 • September 11, 2017 • October 30, 2017 • December 18, 2017
WHAT YOU'LL LEARN
COMPUTER SCIENCE AND ADVANCED PROGRAMMING
Computers store huge amounts of data and how we organize that data has major implications for its speed of access, ease of manipulation, and efficiency of storage. You will understand and implement the core data structures taught in leading computer science curricula.
Designing algorithms is a process of achieving increasingly effective ways to solve a problem. At Codesmith you will develop algorithms to solve some of the most prominent challenges in software engineering including sorting, path-finding, and searching.
Time Complexity and Big-O Analysis
The efficiency of an algorithm can be the difference between a product's success or failure. We will dive into how to optimally design any algorithm with respect to time taken and computer memory used following the computer science standard of Big-O notation.
Object-Oriented and Functional Programming
React is at the heart of the Codesmith frontend curriculum. With the support of Tom Occhino, Engineering Lead for React at Facebook, we’re bringing the most accessible and versatile tool for building applications to a new generation of engineers.
Single-page Applications and Frontend Structure
At Codesmith, we want you to become versatile software engineers who are experts in our core frontend frameworks - React and Angular - and can quickly adapt to new frameworks. You will cover frontend design patterns, single page applications and features including Model-View-Controller and component-based design. You will also learn about the DOM and how to manipulate it.
Facebook designed React as a new way to build user interfaces and it's now used throughout Facebook and Instagram. Also, industry giants like Netflix, Airbnb, Paypal and Twitter use React for everything from their websites and Web apps to iOS apps and Smart TV interfaces. At Codesmith, you'll learn to build the frontend of your applications with this most versatile of frameworks.
Angular, maintained by Google, remains one of the most popular frontend frameworks even as React opens up a new frontier of frontend development. We'll cover two-way data-binding, controllers, factories, custom directives and developing maintainable Angular applications at scale.
Modern Web apps require rapid communication between users and constant interaction with the server. At Codesmith you'll learn the core principles of the server-client relationship including: HTTP, RESTful API development and Node with Express - ideally suited for fast modern Web apps.
Databases are containers of data, and servers communicate with them to fetch that data upon request. You'll dive into both relational and non-relational databases including MongoDB and PostgreSQL. You will learn how to design your database's schema and interact with your database both with and without using an ORM.
Authentication and Authorization
To build a web app with users you need to be able to securely and persistently log your users in and out. To do this requires a deep understanding of sessions, tokens and cookies. You will learn how to build a full authentication system using Express, JWTs, and OAuth.
Students spend hundreds of hours pair-programming through projects by the time they finish the program. Pair-programming is the secret hack to accelerating a coding career by mastering your technical communication and problem-solving capacity.
HOW YOU'LL LEARN
Precourse (3 units before start)
Core Lectures (Weeks 1-4)
Core Challenges (Weeks 1-4)
After each lecture you dive into pair-programming with another student to work through challenges building full applications (that you’ll use throughout the course - including a Slack replacement, Arcade games and Web scrapers) to truly cement the concepts you’ve been introduced to in the lecture.
Building Projects (Weeks 5-12)
While you will work on projects every day during the first half of the program, the challenges are relatively structured. In the second half of the program, we focus almost entirely on projects built from the ground up. These group and individual projects focus on building full stack web applications and developer tools.
Modules (Weeks 6-10)
During the project period students complete additional modules covering topics including security, Redux, deployment and build tools.
Advanced Lectures (Weeks 5-12)
In the project portion of the curriculum we explore numerous additional advanced professional-level themes. Lectures cover topics including software architecture, frontend optimization and SEO.
Codesmith and the Engineering Community
Codesmith hosts one of the largest React meetups in the US where students and graduates regularly present.We love that we are the center of the fastest growing tech region in the US alongside some of the leading tech companies in the world: SpaceX, Tesla, Snapchat and SoCal Headquarters of Google, Facebook and Yahoo.
MORE WAYS YOU LEARN
In your mock interviews you will work with a senior software engineer to discuss advanced topics and practice articulating your technical background. The interviewer will then provide specific feedback on your responses to help you improve how you represent yourself in a technical interview setting.
Codesmith regularly hosts private talks, panel discussions, and Q&A sessions with some of the most prominent engineers in the country. Recent speakers include the Head of UI at Netflix, Senior Engineers from Google and the CEO of Heal.
Students usually code late into the evening. Additional hackathons test your ability to build an incredible product in less than 24 hours. Students present their projects to the entirety of Codesmith, and winners are awarded prizes.
Production Level Code
Writing clean, commented, modular code is vital to code maintainability and adoption by others. We emphasize these production-level coding best practices throughout the program especially in your projects.
HOW YOU'LL GET HIRED
In addition to the production project, the last five weeks place special emphasis on hiring preparation.
Technical Interview and Resume Preparation
Students have multiple technical and non-technical mock interviews with each other, engineers on staff, and engineers from outside Codesmith with a focus on technical depth, personal story, and presentation. Students go through several iterations of resume submission with review to refine the technical highlights of their projects and experience. This is paired with further developing and refactoring of past projects to strengthen their technical challenges and code cleanliness.
Whiteboarding through a coding challenge plays a significant role in the hiring process for most software positions because it tests more than just problem solving ability. Students prep for algorithms daily throughout the program, but whiteboarding at Codesmith reinforces the best practices interviewers look for in addition to a candidate's analytical thinking.
Students' 12 weeks culminate in Codesmith's one-of-a-kind Hiring Day in which students present to and interview with dozens of companies from Los Angeles and around the country. Companies that attend are looking to hire for mid- or senior-level engineering positions.
The two interviews assess your potential in the five areas that make an exceptional engineer. The first interview is non-technical, the second is technical.
In the technical interview you work through coding challenges with an engineer on the team. We're interested in seeing how you tackle problems and communicate your ideas. We realize that the Codesmith admissions process can feel intimidating but we have created numerous free public classes to help you prepare - you can find them all here.Start Your Application