Course Curriculum

Code Platoon teaches everything you need to start a career as a full-stack software developer.

Full-Stack Development | Beyond Tech | Career Prep | Schedule | Calendar

Full-Stack Development

What is full-stack web development anyway? Most sophisticated web applications can be thought of being composed of two parts: the front-end, and the back-end. The front-end of the stack revolves around what the end user sees, which is the web page. HTML, CSS, and Javascript are some of the important technologies which are used to build and manipulate web pages. React.js is a very powerful library for working on the front-end. The back-end of the stack is where data gets stored, manipulated, and analyzed. Our tools-of-the-trade for backend development are Ruby and SQL.

You will need to bring an Apple laptop with you to class.

Programming Languages

  • Ruby is dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. We teach Ruby because it is one of the easiest programming languages to learn that is powerful and popular enough to be used to build full-blown web applications.
  • JavaScript is a programming language that is built into all web pages, and is therefore required learning for anyone who wants to make web pages interactive.
  • HTML and CSS are used to design, layout and present web pages.

Data Storage and Manipulation

Databases store and manipulate data. We will teach you SQL, the language designed to manipulate data in relational databases like PostgreSQL.

Frameworks

A framework is a set of tools and ideas that is used to resolve a common problem:

  • Ruby-on-Rails is a powerful framework, written in the Ruby programming language, used to quickly build full scale web applications.
  • React.js is a JavaScript library for building user interfaces

Industry Best Practices

    • Version Control Using Git. When you write your code, you need to store it as you write it. When you write code that is part of a larger application, you need to be able to merge it with the the larger code base, and stay out of trouble. Many teams rely on Git to help with these concerns, which is why we will spend a lot of time training you in the proper use of Git.
    • Test Driven Development. It is easy to build a small application and just look at it to see if works. As projects grow, it becomes much more difficult to evaluate what negative impact your code changes may have on the entire project. That is just one reason why we write tests, and why you will learn to embrace testing as part of your workflow.
  • Object Oriented Design. Or commonly called OO, Object Oriented Design is a design pattern, a way to write code. You will use it in Ruby, JavaScript, and many other languages. Objects can hold data and procedures. We will teach you how to create and manipulate objects to pass and manipulate information.
  • APIs. These days, if you want to get information from another service, whether it’s weather information, tweets, Instagram or New York Times, you will need how to access their API (application program interface).
  • Troubleshooting. One of the most valuable skills that a software developer can have is how to figure out where the code is broken. Because code breaks often. We will teach you tools and techniques to track down and solve errors.

Beyond Tech

In Code Platoon’s Beyond Tech curriculum, students will learn the interpersonal skills necessary to become a world-class junior developer. This curriculum helps bridge the gap between their military experience and civilian technology companies. Students strengthen their self-knowledge through a personality assessment and develop a customized approach through teamwork, resolution, inclusion, and negotiation exercises.

Career Prep

In order to best prepare Code Platoon’s students for the extremely competitive software market, we have created a rich career prep curriculum. Where most coding bootcamps truncate their web development curriculum and tack on an extra week to very basically cover the large topic of career prep, we have added 50% more instructional time and woven the career prep curriculum into that time. Our students come out of Code Platoon with an industry-ready resume, a professional LinkedIn profile, and 100+ hours of behavioral/technical interview practice.

Schedule

Code Platoon is an immersive full-time developer boot camp for veterans. Classes are every weekday, with a mix of lectures and hands-on coding time. All classes are in-person and students are expected to be on-site for the duration of the program. Students will collaborate with their cohort throughout the program on projects and coding challenges.

Immersive Experience

The program runs 14 weeks on-site. If you participate in the internship program, the program extends to roughly 32 weeks total.

Pre-Requisite Homework

Prior to the start of the program, students will receive a package of pre-work that they will need to complete prior to arriving on site. That pre-work should take between 60 and 100 hours to complete, and will cover computing basics and learning some tools of the trade.

Daily Class Schedule

Once in-person classes begin, most days will follow a similar pattern. From 8am to 5pm, there will be an instructor on site. In the mornings they will lead a class for 45 minutes to an hour and half. You will spend the rest of the morning working on code challenges, often in pairs. After lunch, there will usually be another lecture, followed by more coding challenges that will keep you working well into the evening. As the weeks progress, you will find that more time is spent in team project work, and less in lectures and individual/pairing work. The intensity remains the same, but the flow of the days changes.

Training Hours

Most weeks, you will be working 10 to 14 hours a day, 5 to 7 days a week. We feel this intensity is necessary so that we can cover enough ground to prepare you for a career in software development. It is hard to become barely professionally competent in a field that is new to you. It is even harder if you try to do it with fewer than 1,000 hours of instruction and practice. Everywhere you read, you will find this in common about people who train to become software developers — there is no substitute for practice.

The skills taught by Code Platoon are chosen specifically to train students to land a job as a junior or intern level software engineer. We teach students how to develop web development applications in the Ruby and Javascript programming languages. The frameworks used will be Ruby on Rails and ReactJS.

A typical day starts with 1-2 hours of lecture to cover a variety of topics, followed by 6-7 hours of structured workshop time to do assignments. The time spent during the day doing assignments is the application of the concepts taught in the morning. During these assignments, students are writing code based on what they learn in the lectures. Our course is separated into 3 learning modules below; please note that there is a significant amount of homework and weekend projects that students are required to do that we don’t count in the approximate time and clock hours.

Module 1 (Weeks 1-4, 160 hours) : Computer science / programming fundamentals

In Module 1, we cover computer science basics and programming fundamentals, including algorithm scripting, version control, data types and structures (variables, booleans, integers, strings, objects, operators, loops, etc.). We also cover object-oriented programming, inheritance, polymorphism, database persistence, SQL, and data modeling a web application. The languages to be covered in these weeks are Ruby, Javascript, and SQL. This module is important to build a base for students to think through problems, will build the skills necessary to troubleshoot issues, and will prepare students for first-round technical interviews.

Module 2 (Weeks 5-6, 80 hours): The World Wide Web

This module includes the foundations of how content on the Internet and on webpages is created. We will be covering HTML/CSS/Javascript as it pertains to a webpage. We will also cover how data is sent over the internet and how the HTTP/HTTPS protocols for the web work. Students will write their own HTTP server by the end of this module. This module is important because the world of software engineering and especially web development calls for engineers to have an understand of how their code will impact the larger web ecosystem.

Module 3 (Weeks 7-14, 320 hours): Creating Applications

This module will teach students how to create modern-day web applications, including database design and integration, web routing, and the Model View Controller framework through Ruby frameworks including Sinatra and Rails. Students will learn authentication, testing, and API integration as well. They will learn to integrate the ReactJS framework on top of their Ruby on Rails application. This is the most important week as it is where students learn the skills that employers will expect them to have on the first day of the job and they will see how all the skills learned in the first 2 modules will come together to build an application.

Session 1: Teams & Team Building

From asking for help when stuck to pair programming and taking direction, being able to effectively work on a team is vitally important to the life of a junior developer. This session helps our students understand the techniques modern technology teams use to build camaraderie and transfer knowledge between team members.

Session 2: How to deal with being stuck

At one point or another, every developer deals with the feeling of being stuck in a problem. Feelings of “imposter syndrome” are commonplace and students will inevitably question why they are even learning code in the first place. This session will normalize the feelings of “imposter syndrome”, give students a good vocabulary to describe their feelings and move them from a fixed learning mindset to a growth learning mindset.

Session 3: Diversity & Inclusion Part 1: Diversity

Today’s modern-day workplace represents a rich melting pot of people from many different races, religions, sexual orientations, genders, etc. As we enter this workplace, we have to understand what makes us diverse. This session aims to get a better understanding of the lexicon that surrounds diversity. Participants will be guided through a series of exercises and discussions to better know themselves, and define identity. By increasing our students’ diversity lexicon, they will become effective advocates to creating a richly diverse and inclusive work culture.

Session 4: Diversity & Inclusion Part 2: Inclusion

Simply understanding the vocabulary to describe the diversity in the modern workplace is only half of the equation to having a diverse and inclusive workplace. This session aims to equip participants with preventative and reactive measures for practicing inclusivity. Participants will learn various ally skills to use with peers, and methods to combat insensitivity at the office.

Session 5: BOSI Assessment

Understanding one’s value to an organization comes from knowing oneself. This session will guide students through the BOSI personality assessment and give them a better understand of where their natural tendencies lie in an organization.

Session 6: Personal Finance

Many military personnel have little to no personal finance training which leads to a slew of financial issues. Going from a military salary to a technology salary is a significant increase and can either lead to more financial insecurity or put students on a track to financial success. In this session, we will talk through the importance of budgeting, getting out of debt, and how to set up an ecosystem for healthy finances

Session 7: Job & Salary Negotiations

Salary negotiations are a vital part of every job search – too often, thousands of dollars are left on the table just because candidates don’t negotiate. This session will help students find the confidence and verbiage necessary to negotiate at the offer table through a series of role-playing situational exercises.

Session 8: Job Search for people who hate job search

After finishing a coding bootcamp, students are often surprised to find that searching for a full-time position is often more difficult than the coding bootcamp curriculum itself. From endless cold emails to countless networking events, searching for a job is exhausting. This session will help students put job searching in context, help them get on a written plan, and overcome their fears of interviews.

Ongoing

Students are given time / instruction during the first hour of class each day to work on their LinkedIn profiles, prepare answers for behavioral interviews, and work through technical whiteboarding interview questions. In addition, students are taught 1-2 technical interview questions each week by senior developers in the industry.

Formal Sessions

Code Platoon is fortunate enough to have a number of volunteers from the recruiting and technology industry come in and teach our students. Through our Director of Career Development, we’ve come up with a number of sessions to best prepare students below:

Session 1: Building an online presence

This session reinforces the building of a strong online presence via Github, Twitter, and LinkedIn. Students are taught how to fully utilize Github by finding interesting projects, following active contributors, and giving “stars” to reputable code bases. During the session, students will be taught where to look for beginner-friendly open source software and build their online presence.

Session 2: Resume Writing Workshop

This workshop teaches students to carefully document the work they are doing, write notes on their specific contributions, and record what challenges they are facing with their learning new material. They are then tasked with starting to think through / document their own narrative – how they got to Code Platoon, their experience in the military, etc.

Sessions 3-5: Individual Resume Writing Coaching

During weeks 8 – 11, students will be meeting with volunteer recruiters vetted by the Director of Career Development up to 3 times to review and work on their resume.

Session 6: Final Interviews (Behavioral)

During this session, professional recruiters will talk to students on how to best present themselves in an interview and how to break down behavioral questions.

Session 7: Final Interviews (Technical)

During this session, a senior developer from the community will come into teach students how to approach and break down technical questions. This session will cover both answering whiteboarding questions and how to speak to their general technical knowledge.

Session 8: Mock Interview Day

The summation of the career curriculum is a mock interview day given by industry professionals. Technical and non-technical interviewers will come in and interview up to 5 students each and give feedback to students. Each student will have five 45-minute interviews with a mix of technical and behavioral questions.