Curriculum version: 2.0.0
(see CHANGELOG)
- Prerequisites
- The Command Line
- Intro to git
- Linux Certification (optional)
- Docker Certification
- AWS Certification (optional)
- Pick a Track
- Access to linux based terminal on any of the following:
- Mac or Linux computer
- Linux virtual machine
- If you are working on Windows, your phone, tablet, or Chromebook click here.
- You have an aptitude for math and have completed pre-algebra.
- chat
The command line, or terminal, is the most fundamental tool for a software engineer. In this foundational course you will learn how to interact with computers through commands and code! Your journey to becoming a software engineer starts here.
Topics covered:
the command line
basics of programming
linux text editors
shell scripting
Courses | Duration | Effort | Prerequisites | Discussion |
---|---|---|---|---|
Intro to Linux | 2 hours | 2 hours/week | none | chat |
Learn the Command Line | 8 hours | 8 hours/week | none | chat |
Text Editing with Vim Vi iMproved | 18 hours | 8 hours/week | Learn the Command Line | chat |
LPI Linux Essentials Certification | 16 hours | 8 hours/week | Learn the Command Line | chat |
The System Administrator's Guide to Bash Scripting | 16 hours | 8 hours/week | Text Editing with Vim Vi iMproved | chat |
YAML Essentials | 3 hours | 3 hours/week | The System Administrator's Guide to Bash Scripting | chat |
YouTube Videos | 3 hours | na | na | na |
Git is a version control system used by software engineers to manage their code. It's a foundational tool used everyday by virtually every software engineer.
Topics covered:
basic git commands
branching patters
fork and pull
code review
Courses | Duration | Effort | Prerequisites | Discussion |
---|---|---|---|---|
Markdown Mastery | 8 hours | 8 hours/week | The Command Line | chat |
Source Control with Git | 20 hours | 20 hours/week | Markdown Mastery | chat |
This is an optional course. Linux is everywhere! Nearly all the worlds servers run Linux. This makes Linux a valuable job skill in its own right. If you are enjoying bash, and want to cultivate an employable job skill immediately, obtain your linux certification with this optional course. After completing this course you will be ready to take your certification exams:
Topics covered:
linux administration
automating common tasks on linux
Courses | Duration | Effort | Prerequisites | Discussion |
---|---|---|---|---|
Red Hat Certified System Administrator (EX200) | 40 hours | 20 hours/week | The Command Line | chat |
Red Hat Certified Engineer (RHEL 8 RHCE) | 80 hours | 20 hours/week | Red Hat Certified System Administrator (EX200) | chat |
Docker is a technology used by most software engineers to distribute their code. Known as container virtualization, this management tool for distributing code is a foundational tool for all software engineers. Everything you need to know about the exam can be found here.
Topics covered:
docker concepts
building docker images
using docker registries
Docker Community Edition (DCE)
Docker Enterprise Edition (DEE)
Courses | Duration | Effort | Prerequisites | Discussion |
---|---|---|---|---|
Docker Certified Associate (DCA) | 60 hours | 20 hours/week | The Command Line | chat |
This is an optional course. Amazon Web Services (AWS) is the leading cloud computing platform in the world. Master the essentials of AWS and earn a valuable job skill. No programming knowledge is needed, and no prior AWS experience required. After this course you will be ready to take your exam, opening a world of job opportunity. While you do not need this certification to pursue your JavaScript certification, it is highly recommended since so many employers use AWS.
Topics covered:
identity and access managment
cloud networks
storage
compute
messaging
data encryption
APIs
Courses | Duration | Effort | Prerequisites | Discussion |
---|---|---|---|---|
AWS Certified Solutions Architect Associate | 80 hours | 20 hours/week | The Command Line | chat |
Once you have developed basic skills you need to pick a track to pursue concentrated study. Please pick form the following tracks:
- Web Developer. This track is ideal as a prerequisite for Front End Software Engineer apprenticeships. You will learn Javascript, HTML, CSS and React.
- Data Engineering. Big data is defining the modern software landscape. Learn foundational skills for apprenticeship opportunities in the data engineering and ML space. You will learn Python, SQL, and Apache Spark.