Back-End Engineer
- 79 Courses | 45h 15m
- 63 Labs | 60h 30m
Welcome to the Back-End Engineer Path
Welcome to the Back-End Engineer Path! You'll get acquainted with the core resources that will guide you through this path before getting learning about software engineering.
- 1 Course | 1h
Setting Up a Dev Environment
A developer should be able to work on their projects in their own local environment. Learn about the field of web development and the tools developers use to create websites.
- 1 Course | 30m
- 2 Labs | 2h
Web Development Fundamentals
Be introduced to the field of web development and create your first web page on the internet using HTML and CSS. You'll even work in your own local environment!
- 2 Courses | 50m
- 3 Labs | 3h
JavaScript Syntax, Part I
JavaScript empowers you to add logic to your website and create a truly interactive site. Start with the basics of variables, data types, conditionals, functions, and scope.
- 2 Courses | 1h 10m
- 6 Labs | 6h
JavaScript Syntax, Part II
Build off your knowledge of JavaScript to implement even more functionality. Learn to utilize arrays, loops, objects, interators, errors, and debugging.
- 7 Labs | 7h
Building Interactive Websites with JavaScript
The Document Object Model (DOM) represents the different parts of a website. Use JavaScript to manipulate the DOM and create a interctive site.
- 2 Labs | 2h
JavaScript Syntax, Part III
Further your knowledge of JavaScript and implement classes, modules, and error handling. Once you're done, test yourself with the provided code challenges.
- 2 Courses | 30m
- 3 Labs | 3h
Git and Github, Part I
Git is a quintessential tool for version control. Use it along with GitHub to share your code and enable a collaborative workflow with other developers.
- 3 Courses | 2h 15m
- 4 Labs | 4h
Portfolio Project: Mixed Messages
Start your portfolio by building a Node.js console app that generates random messages each time a user runs the program and version your project with Git/GitHub.
- 1 Lab | 1h
Basics of Back-End Development
Dive into the world of back-end development using your knowledge of Javascript to work in Node.js. You'll implement modules and utilize the Node Package Manager (npm).
- 3 Courses | 1h
- 1 Lab | 1h
Async JavaScript and HTTP Requests
Learn what asynchronous code is and how it allows you to use JavaScript to smoothly handle actions that might otherwise block your app and make your users wait.
- 5 Courses | 1h 40m
- 1 Lab | 1h
Build a Back-End with Express.js
Express.js is a popular Node application framework that enables you to quickly build out core back-end functionality straight out of the box.
- 3 Courses | 30m
- 1 Lab | 1h
Git and Github, Part II
Further your knowledge of Git and GitHub to streamline your processes for working collaboratively with others through forking, branching, merging conflicts, and making pull requests.
- 2 Courses | 1h 20m
- 4 Labs | 4h
Portfolio Project: Personal Budget I
Show off your skills and add to your portfolio by incorporating both Node and Express.js to build an API that allows users to create and manage a personal budget.
- 1 Lab | 1h
Database Basics
Databases store the information that your app uses to function. Learn about different types of databases, how to work with a relational database, and how to locally set up PostgreSQL.
- 2 Courses | 40m
- 1 Lab | 1h
Working with Databases
In this unit, you'll learn how to work more in-depth with databases, creating more sophisticated SQL queries and calculations to build data-intensive applications.
- 4 Labs | 4h
Designing Relational Databases
The design of a well-organized database can better facilitate the interactions of your application. Learn best practices to set up your PostgreSQL database.
- 1 Course | 20m
- 2 Labs | 2h
Advanced PostgreSQL
Optimizing a database can make storage and retrieval of information faster — learn how to implement techniques that will let your database work efficiently.
- 5 Labs | 5h
Connecting a Database to a Server
Learn how to pair your database with your Node and Express back-end. This functionality will enable your app to serve up custom experiences for your users.
- 1 Course | 10m
Deploying a Server
Deploying a server means you will have an API live on the web for anyone you allow to use it. Learn how to build an API with Node, Express, PostgreSQL and deploy it to Render.
- 2 Courses | 1h 10m
JavaScript Testing
Testing ensures that your app performs as intended. Learn how to create Mocha tests and the Test Driven Development (TDD) methodology that demonstrates how testing can be applied.
- 1 Course | 30m
- 3 Labs | 3h
Software Design Principles
Shore up your programming foundations by learning software design principles. Start designing more complex systems with techniques such as design patterns, SOLID principles, and UML.
- 3 Courses | 1h 10m
API Development with Swagger and OpenAPI
Your API is only as good as its documentation — learn how to document your API using OpenAPI and Swagger so that others can benefit from your work.
- 3 Courses | 1h 40m
Portfolio Project: Personal Budget II
Polish up your existing portfolio project — take your budgeting app one step further and add a new layer to the project by setting up a database to persist your data.
- 1 Lab | 1h
Web Security Fundamentals
Web security is becoming increasingly important. Learn the fundamentals of what web security is and prevention techniques for common threats.
- 1 Course | 10m
User Authentication and Authorization
Authentication means verifying that your users are who they say they are and authorization determines what permissions they have. Learn how to Implement these key features.
- 4 Courses | 50m
- 2 Labs | 1h 10m
Data Security
Data should only be shared with its intended recipients. Learn to secure your data using Transport Layer Security (TLS), Role-Based Access Control (RBAC), and more!
- 2 Courses | 40m
- 2 Labs | 1h 10m
Common Attacks on Web Applications
There are common patterns that are used to attack web apps. Learn how to prevent the most common attacks like cross-site scripting (XSS), SQL injections, and more.
- 3 Courses | 50m
- 4 Labs | 3h 10m
Fundamentals of Operating Systems
Operating systems play a key role in how browsers, apps, and user interactions play out. Learn about core operating system functionality to get an under-the-hood look at the OS.
- 7 Courses | 9h
Caching and CDNs
Caching and Content Delivery Networks (CDNs) can help the speed of sending data. Learn about how content is stored on different servers with caching and CDNs.
- 1 Course | 30m
Scalability
As your application grows, the resourcing needed to scale also grows. This unit will teach you different effective strategies for scaling a software system.
- 1 Course | 30m
DevOps Fundamentals
Development Operations (DevOps) is a culture supported by practices and tools. Get acquainted with the basics of how to support and maintain the development of apps.
- 4 Courses | 2h 40m
Portfolio Project: Photo Caption Contest
Showcase all your back-end capabilities — build an API with Node, Express, and Postgres that uses authentication and authorization best practices to manage an online contest.