Inside an IT project — From 0 to Junior Engineer
Why we created this course
Mini-Bootcamp from Zero to Junior Engineer
We get a lot of requests from viewers with zero or little IT pre-knowledge, who want to start a career in DevOps. But since DevOps Engineering is not an entry-level IT profession, we decided to create a course that will prepare non-IT people for transitioning into DevOps.
The course is for complete IT beginners and our goal with it is to give you an equivalent of a junior engineer's work experience and know how the whole Software Development Lifecycle (SDLC) works.
However, the course turned out to be a great resource for IT beginners in general. By simulating actual real world engineering tasks and going through the complete software development project, it completely dissolves the fear and insecurity of being an IT newbie. No matter if your end goal is to become a software developer, DevOps engineer, cloud engineer etc.
This course will give you an important foundational knowledge of software engineering without any knowledge gaps, that sometimes even junior engineers lack. So skills you gain here, will definitely help you stand out!
By the end of this course, you'll be able to
Have a strong understanding of how the complete software development and release workflow works
Know how to write a simple web application with frontend, backend and database
Understand basics of infrastructure, servers, operating systems
Know how to create and configure a virtual server on a cloud platform, and deploy your developed application on it
Tech Stack: HTML, CSS, JavaScript, Vue.js, Node.js, Express.js, Jest, MongoDB
Work through a complete Software Project
Taking up all key roles one by one and going through the whole software development workflow in practice!
1) Plan
-
Create Jira Board and first Sprint
Role: Product Owner (and whole team)
2) Develop
-
Learn Programming & Web Development Basics - HTML, CSS, JavaScript
-
Develop app with VueJS and NodeJS
-
Connect database
Role: Software Developer
3) Test
-
Understand why testing is important
-
Different types of tests
-
Write unit and integration tests in JavaScript
Role: Software Developer / Tester
4) Release / Deploy
-
Know how to package and run an application
-
Create virtual server on cloud
-
Configure Linux server
-
Run application package on VM
Role: Software Developer / Tester
Who is this course for?
The best course to get started in IT for people with zero or little IT background
Pre-Requisite
course for our DevOps Bootcamp
Everyone
Who want to get into IT in general and learn the basics
Systems administrators
Who want to learn software development
DevOps and Cloud engineers
Without software development background
Junior software developers
Who want to fill knowledge gaps of e2e workflow of software development and release/deployment process
Managers, Product Owners, Project Managers of IT projects
Who want to get a better understanding of the complete software development and release workflow
Frontend developers
Who want to understand the complete software development life cycle and get a big picture of how software development projects work
Pre-Requisites:
Laptop to follow the demos
No other prerequisite knowledge necessary, it starts from zero
Who this course is NOT for:
Experienced engineers, who know how to create web applications and deploy them
Experienced full stack software developers
DevOps and Cloud engineers with software development background
Course Curriculum
Recommended schedule to give you an idea of the scope of the course.
However, it's completely self-paced :)
Month 1
Chapter 1:
Course Overview
1 - Welcome
2 - Course Overview
3 - How to get the most out of this course
Chapter 2:
Introduction to SDLC and Planning
1 - Overview of the complete software development workflow
2 - Understand roles in a software project, their tasks and responsibilities
3 - What is Agile and Scrum
4 - Create project backlog and scrum board in Jira
Chapter 3:
HTML, CSS and JavaScript
1 - How websites work
2 - JavaScript Crash Course
2.1 - Variables and Data Types
2.2 - Conditionals and Comparators
2.3 - Objects, Arrays, Loops
2.4 - Functions
3 - HTML and CSS
4 - HTML DOM Manipulation
Chapter 4:
Develop Frontend of Teamable app
1 - Develop frontend with HTML, CSS and JS
2 - What are JS frameworks?
3 - Learn about open source and libraries
4 - What are package repositories?
5 - Software Versioning and Release explained
6 - Use Library in our app
7 - OS and CLI basics
8 - Install npm CLI on MacOS and Windows
9 - Install npm packages (package.json)
Chapter 5:
Learn Vue.js - JavaScript Framework
1 - Vue.js Crash Course
2 - Use Vue.js in our Teamable app replacing vanilla JavaScript
3 - Understand why JS frameworks are useful
Month 2
Chapter 6:
HTTP and Backend Development
1 - Understand on high-level how data exchange between frontend and backend works
2 - Implement backend (web server) with Node.js
3 - Introduction to HTTP, URL and IP Addresses
4 - Serving index.html from backend
5 - Introduction to JSON
6 - Troubleshoot Kubelet and Kubectl Issues
7 - Implement data exchange - sending HTTP requests and responses
8 - Develop backend of Teamable app with NodeJS
Chapter 7:
Introduction to Databases
1 - What is a database?
2 - Different database types
3 - SQL vs NoSQL databases
4 - Install MongoDB on MacOS and Windows
5 - How to configure database connection
6 - Connect Teamable app to MongoDB
Chapter 8:
Introduction to Testing
1 - Introduction to Test Automation
2 - Different testing scopes and test types explained
3 - Write unit tests in JavaScript
4 - Write integration tests in JavaScript
5 - Use Jest testing framework
Chapter 9:
Package and Run App
1 - Understand why we package applications
2 - Build and Package our Teamable app
3 - Learn about Artifacts
4 - Run the packaged application
Month 3
Chapter 10:
Application Deployment
1 - Server Basics
1.1 - What is a server? What is the "cloud"?
1.2 - Connect to remote server (SSH)
1.3 - Ports and IP Addresses in detail
1.4 - Control access with Firewall
2 - Understand SysAdmin role
3 - Create a virtual Linux Ubuntu server on a cloud platform (DigitalOcean)
4 - SSH into remote server - MacOS & Windows
5 - Configure firewall for our server
6 - Prepare server for application deployment
7 - Deploy our Teamable app
8 - Understand Deployment Environments
9 - Recap whole software development life cycle
Chapter 11:
2nd version of Teamable app
1 - Complete sprint and plan 2nd sprint
2 - Secure database on deployment server
3 - Adjust backend to connect to database with credentials
4 - Use environment variables to read credentials from the deployment environment in the application
Chapter 12:
Collaborate on Code
1 - What is Version Control, why it's useful?
2 - Basic Concepts of Git
3 - Setup Remote Repository
4 - Clone Remote Repo and Initialize Local Repo
5 - Working with Git - Basic Git commands
6 - Ignoring Files
7 - Pull Changes, Rebase and Merge Conflicts
8 - History of Commits
9 - Concept of Branches
10 - Merge Requests
Chapter 13:
Wrap Up and Next Steps
1 - Next steps - Where to go from here