Syllabus for a Full-Stack Software Engineer (or Developer)

I create this syllabus as a draft guide on learning full-stack software development. Basically, I combined two curriculums, one from Codecademy and the other from Lambda School.

If you’d like to see the condensed version that I refined to make it easier to learn the best from both curriculums, click here for the Condensed Syllabus for a Full-Stack Software Engineer (or Developer).

1. Codecademy

Introduction to Software Engineering

Set up your developer environment: Learn about the field of web development and the tools developers use to create websites

JavaScript Syntax, Part I: Introduce yourself to JavaScript and learn the basics of writing JavaScript programs

JavaScript Syntax, Part II: Discover more JavaScript techniques and features such as arrays, looping, and objects

Git and GitHub, Part I: Learn how to use the Git version control system to keep track of changes and document your work. Learn markdown and publish your first content

JavaScript Syntax Portfolio Project: Build a Node.js console app that generates random messages each time a user runs the program and version your project with Git/GitHub

Web Development Fundamentals: Be introduced to the field of front-end web development and create your first web page on the internet

Bringing Your Site Online: Learn about different methods for hosting your site, like GitHub pages and how to use a custom domain name

Improved Styling with CSS: Dig deeper into CSS and improve your ability to layout and style websites

Building Interactive Websites with JavaScript: Understand how JavaScript is used to add interactive experiences to a website

Making a Website Responsive: Learn how to create websites that can be viewed on a variety of devices and use different layers and positioning

Making a Website Accessible: Refactor your website to follow the best accessibility (a11y) practices.

HTML, CSS, and JS Portfolio Project: Bring together what you’ve learned in the previous lessons and build a project off of Codecademy

JavaScript Syntax, Part III: Understand intermediate JavaScript concepts, such as classes, modules, and error handling

Test Driven Development With JavaScript: Be introduced to the fundamentals of Test Driven Development (TDD)

Async JavaScript and HTTP Requests: Learn about APIs (Application Programming Interfaces). Working with APIs will help to work with data stored on remote servers.

Web Apps: Be introduced to web applications and learn about single page applications (SPAs) and how they are different from static websites.

React, Part I: Be introduced to the popular JavaScript library, React.

React, Part II: Dive further into React and learn about props, state, hooks as well as testing with Jest and Enzyme.

Redux: Learn Redux, the library most commonly used with React to manage application state

Git and GitHub, Part II: Learn how to use Git and GitHub to collaborate efficiently with developers

React and Redux Portfolio Project: Bring together what you have learned in the previous lessons and build a project off of Codecademy

Basics of Back-End Development: Start learning about back-end development and programming servers

Build a Back-End with Node/Express.js: Learn about the popular back-end environment, Node.js and how to create back-end servers and APIs in JavaScript using the popular Express.js

Back-End and Feature Testing: Learn about TDD techniques for full-stack web applications

SQL for Back-End Development: Learn how to create tables, create, retrieve, and update data in SQL databases, and build a data-intensive web app

PostgreSQL Database: Much of the internet is the flow of information. Learn how databases store data so that it can be displayed on the web using PostgreSQL

Designing Relational Databases: Learn how to design relational databases that you can then implement in PostgreSQL

Advanced PostgreSQL: Learn about database performance and techniques for efficiently accessing data and maintaining optimal performance

Back-End Portfolio Project: Build an e-commerce REST API using Node/Express and PostgreSQL

Connecting Front-End to Back-End: Learn about the different ways to combine your front-end and back-end systems to create a cohesive full-stack application

Adding a PostgreSQL Database: Learn PostgreSQL to connect JS and SQL in web apps, and build your first fully-integrated app back-end

Security, Authentication, and Authorization: Learn how to make a web application secure

Advanced Concepts in TDD: Learn advanced Test Driven Development (TDD) concepts that will help to test your web application as a whole

Full-Stack Portfolio Project: Expand the e-commerce REST API with a React client app, creating a PERN (Postgres, Express, React, Node) full-stack e-commerce experience

Linear Data Structures: Begin interview preparation by learning the fundamentals of linear data structures

Complex Data Structures: Continue interview preparation by learning advanced applications of data structures

Algorithms: Continue interview preparation by learning the fundamentals of algorithms

Search & Graph Search Algorithms: Continue interview preparation by learning the fundamentals of search algorithms

Interview Skills: Review some key technical interview topics as well as soft skills which employers are looking for in potential candidates

Final Portfolio Project: Build a PERN app of your choosing and deploy it to Heroku

Next Steps in Your Full-Stack Engineer Journey: Take the final steps in the Career Path.

2. Lambda

Web Foundations: HTML, CSS, Git, JavaScript, and UI Principles

Web Application Development: React, Redux, React Router, HTTP/Ajax, and Functional Programming Techniques

Advanced Web Development: Advanced React, State Management, and Web Applications

Back End Development: Choose between Java and Node

Java – Java Fundamentals, Web APIs with Spring, Testing with JUnit

Node – Node.js Web APIs, Data Persistence, Authentication and Testing

Computer Science: Intro to Python and Object-oriented Programming (OOP), Algorithms, Data Structures, Graphs, Hash Tables, and Coding Interview Tips

Labs: In-house apprenticeship by building a real-world project in a small team

Job Search: Continuing education and ongoing Job Search Support


1 thought on “Syllabus for a Full-Stack Software Engineer (or Developer)”

Leave a Comment