PHYSICAL AND ONLINE ENGINEERING BOOTCAMP

Software Engineering Training In Nigeria

Tech365 Software Engineering Training is beginner-friendly, practical and project-based. It is designed to help participants become job-ready.

* Algorithm

* Data Structure

* System Design

* Cloud Computing

* Linux

* Docker

* Kubernetes

* CI/CD

* Terraform

* Python

* Github

* Sonarcloud

* Ansible

* Algorithm

* Data Structure

* System Design

* Cloud Computing

* Linux

* Docker

* Kubernetes

* CI/CD

* Terraform

* Python

* Github

* Sonarcloud

* Ansible

12 Months

Duration

Physical/Online

Classes

Weekday/Weekend

Mon, Wed, Fri (Sat)

10am - 1pm (WAT) or 2pm - 5pm

Time

Our Training is Designed to make you job-ready

Software Projects We Will Build

We will build one or two of the following projects while you will be given support to build the other ones on your own so you can gain confidence to work on any project and be job-ready

Booking Platform

Users will be able to create an account and book for a service be it an hotel, freelancing service or other services

AI Powered Platform

Create an AI powered chatbot or content generator platform that users can login to generate content or get answers to their questions.

Edutech Platform

Create a fully functional learning management system (LMS) where users can register and pay to buy a course with payment integration.

Streaming platform

A platform where users can register to stream videos or audios. They can also upload their own videos and audio files.

Social Network

Users can create a profile, make posts, comment, chat, follow and be followed by others.

Multivendor Marketplace

An avenue where people can register as vendors, upload their products and users can signup to order and make payment.

WHY TECH365

Training Benefits

Here are some of the benefits of learning at Tech365

  • Beginner-friendly
  • Project-based training
  • Excellent support
  • Job alerts
  • Career guidance
  • Certificate of completion
  • Flexible payment plan
  • Conducive learning environment
  • Unlimited internet access
  • Recommendation letter
Curriculum

Software Engineering Course Outline

Module 1

Introduction and HTML

Understanding of how to render different HTML elements in the browser.

Introduction to software development

  • Full stack software development road-map
  • How the internet works
  • Project planning process
  • Installation and setup

Introduction to HTML

  • Advantages and limitations of HTML
  • HTML Comments
  • Basic HTML tags
  • HTML Elements
  • Heading
  • Paragraphs
  • Text Formatting
  • Quotations
  • Links
  • Images
  • Tables
  • Lists
  • Block and Inline Elements
  • Iframes
  • File Paths
  • Viewport meta tag

HTML Entities

  • Doctypes
  • HTML Attributes
  • Audio/Video

     Project: Designing job application page and Shopping cart page.

Module 2

Cascading Stylesheet (CSS)

Understand how to style any page and create appealing user interfaces using CSS.

Introduction to CSS

  • What is CSS and its Purpose
  • Benefits of CSS for Web Development
  • How CSS Works with HTML
  • External, Internal, and Inline CSS

CSS Syntax and Selector

  • Basic CSS Syntax: Rules and Properties
  • Types of Selectors
  • Element (Tag) Selector
  • Class Selector
  • ID Selector
  • Universal Selector
  • Attribute Selectors
  • Grouping Selectors
  • Pseudo-Classes
  • Pseudo-Elements

CSS Properties and Values

Font Properties

  • Font-size
  • Font-family
  • Font-weight
  • Font-style

Text Properties

  • Color
  • Text-align
  • Text-decoration
  • Line-height
  • Letter-spacing
  • Word-spacing
  • Using Google Fonts and
  • Web Safe Fonts
  • Applying Text Shadows
  • Styling Text Links

Box Model

  • Content, Padding, Border, and Margin
  • Understanding and Controlling the Box Model
  • box-sizing Property
  • Handling Width and Height

Color and Backgrounds

  • Color Properties
  • Working with RGB and HEX
  • Applying Background Images
  • Background image
  • Background-size
  • Background-position
  • Background-attachment
  • Background-repeat 
  • Gradient Backgrounds
  • Linear and Radial Gradients

CSS Positioning

  • Static
  • Relative
  • Absolute
  • Fixed
  • Sticky Positioning
  • Z-index
  • Float and clear
  • Centering Elements Horizontally and Vertically

CSS Units

  • Absolute Units
  • Relative Units

CSS Media Queries

CSS Transitions and Animations

  • Understanding Transitions
  • transition-property,
  • transition-duration
  • Keyframes Animation @keyframes
  • Applying Animations to Elements
  • Animation Properties
  • animation-name,
  • animation-duration
  • animation-timing-function

CSS Transformations

  • Transforming Elements with transform
  • Scale
  • Rotate
  • Translate
  • Skew

CSS Layout Techniques

  • Display Types
  • Block
  • Inline
  • Inline-block

Flexbox Layout

  • Flex Container
  • Flex Items
  • Aligning
  • Justifying
  • Wrapping Items
  • Flex Direction
  • Flex Row
  • Flex columns
  • Flex Grow
  • Ordering

Grid Layout

  • Grid Container
  • Grid Items
  • Grid Template Rows
  • Grid Template Columns
  • Gap
  • Alignment in Grid
Module 3

Tailwind CSS

Ability to build different types of layouts Design web apps that are responsive Learn general techniques and best practices with TailwindCSS.

 Tailwind CSS outline

  • Introduction to Tailwind CSS
  • Why  Tailwind CSS?
  • Advantages of Tailwind CSS
  • Installation of tailwind css

     Layout

  • Container
  • Box Sizing
  • Display
  • Float
  • Clear
  • Object Fit
  • Object Position
  • Overflow

Flex

  • Flex Direction
  • Flex Wrap
  • Flex
  • Flex Grow
  • Flex Shrink
  • Order

 Tailwind CSS Grid

  • Grid Template
  • Columns
  • Grid Template
  • Rows
  • Gap

 Alignment

  • Justify Content
  • Justify Items
  • Justify Self
  • Align Content
  • Align Items
  • Align Self

Spacing

  • Padding
  • Margin
  • Space Between

 Sizing

  • Width
  • Min-Width
  • Max-Width
  • Height
  • Min-Height
  • Max-Height

     

Typography

  • Font Family
  • Font Size
  • Font Style
  • Font Weight
  • Letter Spacing
  • Line Height
  • List Style Type
  • Opacity
  • Text Alignment
  • Text Color
  • Text Opacity
  • Text Decoration
  • Text Transform 
  • Vertical Alignment
  • White space
  • Word Break

 Borders

  • Border Radius
  • Border Width
  • Border Color
  • Border Opacity
  • Border Style

 Effects

  • Box Shadow
  • Opacity

Tailwind Filters

  • Filter
  • Blur
  • Brightness
  • Contrast
  • Drop Shadow
  • Grayscale
  • Hue Rotate
  • Invert
  • Saturate
  • Sepia

Tables

  • Border Collapse
  • Table Layout

Transitions and Animation

  • Transition Property
  • Transition Duration
  • Transition Timing Function
  • Transition Delay

Transforms

  • Transform
  • Transform Origin
  • Scale
  • Rotate
  • Translate

Interactivity

  • Appearance
  • Cursor
  • Outline
  • Pointer Events
  • Resize
  • User Select
Module 4

JavaScript

Get the skills and confidence to understand JavaScript. Follow a structured learning path to grow your skills more quickly. Work on real projects and build your portfolio.

    Introduction to JavaScript

  • Overview of JavaScript
  • Installing Code Editor
  • Developer console
  • Adding JavaScript into HTML
  • JavaScript Statements
  • Basic Syntax
  • Input and output
  • JavaScript Comments
  • Interaction: alert, prompt, confirm

     Variables in JavaScript

  • The use of variables?
  • JavaScript Let
  • JavaScript Const
  • JavaScript Reserved Words

     Data Types

  • Numbers
  • Strings
  • Boolean
  • Array
  • Objects
  • Null
  • Undefined

     JavaScript Operators

  • Arithmetic Operators
  • Assignment operators
  • Comparison Operators
  • JavaScript Unary Operators
  • Ternary Operator
  • Instanceof Operator

     Conditionals

  • If-else
  • Switch Case in JavaScript
  • Break and Continue
  • Type Conversion

     Loops in JavaScript

  • For Loop
  • While Loop
  • For-in Loop
  • Differences between for..in and for ..of

  Javascript functions

  • Inbuilt Functions
  • User-defined functions
  • Anonymous Functions
  • Functions as First-Class Citizens
  • Callback Functions
  • Higher order function (map, filter, reduce, find)
  • Understanding variable scopes in JavaScript
  • JavaScript Hoisting
  • JavaScript Strict Mode
  • this in JavaScript

Arrays in JavaScript

  • Basic Array Methods
  • sort() Method
  • Array Iteration Methods

     JavaScript Strings

  • JavaScript String Methods
  • How to sort strings in JavaScript?

Document Object Model (DOM)

  • Introduction to
  • Document Object Model
  • Select Element By Id
  • Select Elements By Name
  • Select Elements By Tag Name
  • Select Elements By Class Names
  • Select Element By CSS Selectors

Traversing elements

  • Get the Parent Element
  • Get Siblings of an Element
  • Get Children of an Element
  • Manipulating elements
  • Create Elements
    Append Child Nodes
    InnerHTML

     Javascript Form

  • How to Create a Form with the JavaScript?
  • Form validation 

 Event handling

  • Introduction to Events
  • Page Load Events
  • The onLoad Event
  • The DOMContent
  • Mouse Events
  • Keyboard Events
  • Scroll Events

     Storing data in the browser

  • Cookies
  • LocalStorage
  • sessionStorage

     ES6

  • Template Literals
  • Object Literal Syntax 
  • Default Parameters
  • Rest Parameters
  • Spread Operator
  • Destructuring

     Module

  • What is the arrow function
  • Importing and
  • Exporting Modules


Asynchronous JavaScript

  • Promises
  • Async/await

     Error Handling

  • try…catch try…catch…finally
  • Throw an Exception
Module 5

React JS

Build powerful, fast, user-friendly and reactive web apps with React

Introduction to React

  • What is React JS?
  • Why use React instead of JavaScript
  • Project Overview
  • Roadmap

React Setup

  • Environment Setup
  • Creating New Project
  • Analyzing Project Structure

React basics and components

  • Components & Why React is Component-Based?
  • JSX
  • React Elements
  • Building Component
  • Styling Components
  • Dynamic Data in components
  • Passing data using Props

State and event handling

  • Handling Events in React
  • Why are States required?
  • useState() Hook
  • Form Handling
  • Handling form Submission

Contents conditional rendering

  • Rendering of List
  • Importance of key attribute
  • Conditional Statements & Output

Multipage Single page application with react-router

  • Introduction to routIng
  • What is Routing, how it works & installation
  • Basic Routing
  • Link and NavLink
  • Dynamic Routes
  • Nested Routes
  • Redirection and Not Found Page

Global state management with context

  • What is React Context?
  • React context vs Redux
  • When to use React Context?
  • Application of react context
  • Deployment

    • Steps to create a production build
    • Hosting your application online
Module 6

TypeScript

Typescript helps to catch potential errors during development. By specifying types for variables, parameters, and return values, you improve code clarity and enable the TypeScript compiler to provide more accurate feedback.

Introduction to TypeScript
What is TypeScript?
Benefits of TypeScript over JavaScript
Setting up TypeScript: Installation and Configuration (tsc, tsconfig.json)
Transpiling TypeScript to JavaScript

Basic Types
Primitive Types: string, number, boolean
Special Types: any, unknown, void, null, undefined, never
Arrays and Tuples
Enums (enum)

Type Annotations and Type Inference
Explicit Type Annotations
Type Inference
Best Practices with Type Inference

Functions
Typing Function Parameters and Return Values
Optional and Default Parameters
Rest Parameters
Function Overloading

Interfaces
Defining Interfaces
Optional and Readonly Properties
Extending Interfaces
Function Types with Interfaces

Classes
TypeScript Classes
Access Modifiers: public, private, protected
Read-only Properties
Static Properties and Methods
Abstract Classes

Advanced Types
Union and Intersection Types
Literal Types
Type Aliases
Type Assertions
Nullable Types (strictNullChecks)

Generics
Generic Functions
Generic Classes
Generic Constraints (extends)
Built-in Utility Types (Partial<T>, Readonly<T>, etc.)

Modules
Importing and Exporting
Default Exports vs Named Exports
Working with External Libraries (@types)

Decorators
Introduction to Decorators
Class Decorators
Method Decorators
Property and Parameter Decorators

TypeScript with JavaScript Features
Working with ES6+ Features in TypeScript
Destructuring and Spread/Rest Operators
Promises and Async/Await
Template Literals

Error Handling
Compile-Time vs Runtime Errors
Catching Errors with try/catch
Custom Error Classes

Using TypeScript with React

Module 7

Next JS

NextJS helps you to improve performance, SEO-friendliness, easy development and deployment.

Introduction to Next.js
What is Next.js?
Benefits of Using Next.js
Difference Between Next.js and React.js
Installing and Setting Up a Next.js Project

Routing
File-based Routing
Dynamic Routes
Catch-All Routes and Optional Catch-All Routes
Nested Routes
Custom 404 Page

Page and Component Structure
Pages Directory and Automatic Routing
Creating and Using React Components
Layouts (Reusable Page Wrappers)
The App Component (_app.js or _app.tsx)
The Document Component (_document.js or _document.tsx)

Static Site Generation (SSG)
Overview of Static Site Generation
Using getStaticProps
Using getStaticPaths for Dynamic SSG
Incremental Static Regeneration (ISR)
Revalidation of Static Content

Server-Side Rendering (SSR)
Overview of Server-Side Rendering
Using getServerSideProps
When to Use SSR vs SSG

Client-Side Rendering (CSR)
Fetching Data on the Client Side
Using React Query or SWR for Data Fetching
State Management Context API

API Routes
Introduction to API Routes in Next.js
Creating API Endpoints
Handling HTTP Methods (GET, POST, PUT, DELETE)
Middleware in API Routes
Dynamic API Routes

Styling in Next.js
CSS Modules
Global CSS
Styled JSX
Tailwind CSS Integration

Middleware
Overview of Middleware
Creating and Using Middleware in Next.js
Use Cases 

Authentication and Authorization
Overview of Authentication Methods
Protecting Routes and API Endpoints

Database Integration
Connecting to MongoDB,
Fetching Data from External APIs

Deployment
Deploying to Vercel 

Error Handling
Custom Error Pages (_error.js)
Handling API Errors
Graceful Fallbacks with getStaticProps and getServerSideProps

SEO and Metadata
Using the next/head Component for Metadata
Server-Side SEO vs Client-Side SEO
Optimizing Pages for Search Engines
Open Graph and Social Sharing Tags

Static File Serving
Public Folder for Static Assets
Best Practices for Serving Static Files
Adding Custom Headers and Caching

Module 6

Python Programming

We will focus on programming paradigms using Python. With this foundation, participants will be able to understand how to write code to solve problems and perform automation tasks using Python.

INTRODUCTION TO PYTHON
  • Overview of python
  • Installation and setup
  • Python Syntax
  • Variables
  • Reserved words
  • Input and output
  • Comments in python

Data types

  • Strings
  • String properties
  • Indexing and slicing
  • String methods
  • Numbers
  • Boolean

Python lists

  • Introduction to Lists
  • Sorting a List
  • Slicing a List:
  • Unpacking a List
  • Iterating over a List
  • Finding Index of an Element

Tuple

  • Indexing tuple elements
  • Unpacking Tuples
  • Type Conversion

Python dictionary

  • Introduction to dictionary
  • Nested dictionary
  • Dictionary methods
  • Indexing dictionary items
  • Updating dictionary items
  • Dictionary Comprehension

Python Set

  • Set Comprehension
  • Union of Sets
  • Intersection of Sets
  • Difference between Sets
  • Symmetric Difference of Sets

Operators

  • Arithmetic operators
  • Comparison operators
  • Logical operators
  • Assignment operator
  • Membership operator
  • Identity operator

Control Flow

  • If statement
  • elif

Loops

  • While loops
  • For loops

Functions

  • In-built functions
  • User-defined function
  • Function parameter
  • Lambda
  • Map, filter, reduce
  • *args and **kwargs

Modules

  • Modular programming
  • Python package

Exception handling

  • try…except
  • try…except…finally
  • try…except…else

Working with Files

  • Reading a Text File
  • Writing to a Text File
  • Creating a Text File

Object-oriented programming (OOP)

  • Introduction to Classes
  • What are objects
  • Inheritance
  • Encapsulation
  • Polymorphism
Module 7

SQL

Learn how to design, query and manipulate databases.

Introduction to SQL

  • What is SQL?
  • Create Table Statement
  • ALTER TABLE Statements
  • Rename Columns of a Table
  • Modify Column DataType
  • Drop Columns from Table
  • Rename Tables
  • Drop Tables
  • What is Null Value?

DML Statements

  • Insert Statement
  • Update Statement
  • Delete Statement
  • Truncate Statement
  • Merge Statement

Select Queries

  • Select Query
  • WHERE Clause
  • GROUP BY Clause
  • HAVING Clause
  • ORDER BY Clause
  • SQL Joins

  • Inner Join
  • Left Join
  • Right Join
  • SQL Operators
  • BETWEEN
  • IN
  • LIKE
  • INTERSECT
  • MINUS
  • UNION
  • DISTINCT
  • ANY, SOME
  • ALL

SQL Functions

  • AVG()
  • COUNT()
  • MAX()
  • MIN()
  • SUM()

SQL Operators

  • BETWEEN
  • IN
  • LIKE
  • INTERSECT
  • MINUS
  • UNION
  • DISTINCT
Module 8

Django

Understand how to plan a project, implement the plan and deploy the software after development

Django Introduction

  • What is Django?
  • Features of Django
  • Advantages of Django
  • Organizations using Django
  • Understanding MVT design pattern

Django Fundamentals

  • Setting up a virtual environment
  • Installing Django
  • Understanding Django folder structure
  • Creating Projects
  • Django Apps
  • App settings
  • Running Django server

Site Administration

  • Accessing the Django admin
  • Setting up Django superuser
  • Customizing the Django admin

URL/Routing in Django

  • Url patterns
  • static page routing
  • Dynamic page routing

Django Views

  • Function-based views
  • Creating Django views

Templating in Django

  • Steps to creating templates
  • Jinja Template tags
  • Displaying data in Django templates
  • Extending Django templates

Django Models

  • Understanding Django ORM (Object-relational mapper)
  • Connecting to database
  • Model class in Django
  • Field types in the Django model
  • Migration in Django
  • Displaying models in Admin
  • Understanding model relationships
  • Create, read, update and delete data

Django Forms

  • Creating a form with HTML
  • Using Django model forms
  • Form Validation

User Authentication

  • User Registration
  • User login and Logout
  • Login redirect
  • Flash Messages
  • Sending emails

Django Security

  • Managing brute-force attack
  • Adding ReCaptcha
  • Session timeout

Static files in Django

  • static files configuration
  • Styling in Django
  • Adding JavaSCript
  • Managing media files
Module 9

Django Rest Framework For APIs

Understand how to expose the backend through APIs so it can be consumed by mobile apps, frontend frameworks and other platforms

Django REST framework (API development)

  • Basic Django Setup
  • Installation
  • Models and Migrations
  • Creating JSON Response
  • DRF Introduction
  • Serializers – GET Request
  • Serializers  – POST, PUT, DELETE Request
  • Model Serializer
  • Django Relationships
  • URL Structure
  • Viewsets and Routers
  • Introduction to Permissions
  • Introduction to Authentications
  • Testing with postman
  • Implementing search and pagination
Module 10

Data Structures

Focus on understanding of fundamental data structures used in computer science. Students will learn about various data structures, their implementation, and their applications in solving real-world problems efficiently.
Introduction to Data Structures
  • Definition and importance of data structures
  • Basic terminology: elements, data, operations
  • Types of data structures: linear vs. nonlinear, static vs. dynamic
Arrays and Strings
  • Introduction to arrays
  • Array operations: traversal, insertion, deletion, searching
  • Multidimensional arrays
  • Strings: representation and manipulation
  • String searching and pattern-matching algorithms   
Linked Lists
  • Introduction to linked lists
  • Types of linked lists: singly linked lists, doubly linked lists, circular linked lists
  • Operations on linked lists: insertion, deletion, traversal
  • Applications of linked lists
Stacks and Queues
  • Introduction to stacks and queues
  • Implementation using arrays and linked lists
  • Operations on stacks: push, pop, peek
  • Operations on queues: enqueue, dequeue, peek
  • Applications of stacks and queues
Trees
  • Introduction to trees
  • Binary trees: definitions and properties
  •  Tree traversal algorithms: inorder, preorder, postorder
  • Binary search trees (BSTs): operations and properties
  • Balanced trees: AVL trees, RedBlack trees
   
Graphs
  • Introduction to graphs
  • Graph representations: adjacency matrix, adjacency list
  • Graph traversal algorithms: depthfirst search (DFS), breadthfirst search (BFS)
  • Minimum Spanning Trees (MST)
  •  Shortest Path algorithms: Dijkstra’s algorithm, BellmanFord algorithm
Hashing
  •     Introduction to hashing
  •     Hash functions and collision resolution techniques
  •     Hash tables: operations and implementation
  •     Applications of hashing
Applications and Case Studies
  • Real-world applications of data structures
  • Case studies on optimizing algorithms using data structures
  • Designing efficient data structures for specific problems
Module 11

Algorithm

We provide an in-depth understanding of fundamental algorithms and their applications in solving computational problems efficiently.
Introduction to Algorithms
  • Understanding algorithms and their importance in programming
  • Basic concepts such as inputs, outputs, and processes
  • Efficiency metrics like time complexity and space complexity

Linear Search

  • Definition and implementation of linear search
  • Analysis of linear search algorithm’s time complexity
  • Applications and limitations of linear search

Binary Search

  • Introduction to binary search and its efficiency compared to linear search
  • Implementation and analysis of binary search algorithm
  • Use cases and advantages of binary search

Bubble Sort

  • Explanation and implementation of bubble sort
  • Time complexity analysis and comparison with other sorting algorithms

Insertion Sort

  • Detailed explanation and implementation of insertion sort
  • Analyzing insertion sort’s efficiency and best-case scenarios

Selection Sort

  • Understanding selection sort and its algorithmic approach
  • Comparing selection sort with other sorting techniques

Merge Sort

  • Introduction to merge sort and its divide-and-conquer strategy
  • Implementation and analysis of merge sort’s time complexity
Recursion
  • Definition and examples of recursion in programming
  • Recursive algorithms for factorial, Fibonacci, and other problems
  • Understanding recursion’s stack and base case concept

Tree Traversal

  • Depth-First Search (DFS)
  • Explanation and implementation of DFS in tree traversal
  • Applications of DFS in algorithms and data structures
  • Breadth-First Search (BFS)
  • Introduction to BFS and its approach to tree traversal
  • Comparing DFS and BFS for different scenarios

Graph Traversal

  • Depth-First Search (DFS) on Graphs
  • Applying DFS to graphs and understanding its traversal
  • Recursive and iterative implementations of DFS for graphs
  • Breadth-First Search (BFS) on Graphs
  • Using BFS for graph traversal and shortest path algorithms
  • Analyzing BFS’s efficiency in graph-related problems
Module 12

System Design

Participants will learn what DevOps is, cloud computing fundamentals, its benefits, cloud service types, and cloud computing models.

Introduction to System Design
  •  Definition of system design
  • Importance and benefits of good system design
  • Overview of key concepts and principles

Scalability Principles and Techniques

  • Horizontal vs Vertical Scaling
  • Load Balancing
  • Caching Strategies
  • Database Sharding
  • CDN (Content Delivery Network) Implementation

Reliability and Fault Tolerance

  • Redundancy and Replication
  • Disaster Recovery Planning
  • Fault Detection and Recovery Mechanisms
  • Circuit Breaker Pattern
  • Graceful Degradation and Failover Strategies
Maintainability and Code Quality
  • Clean Code Principles
  • Code Refactoring Techniques
  • Version Control Systems (e.g., Git)
  • Continuous Integration (CI) and Continuous Deployment (CD)
  • Code Review Best Practices
Modularity and Component Design
  • Modular Design Principles
  •  Separation of Concerns
  • Design Patterns (e.g., Singleton, Factory, Observer)
  •  Microservices Architecture vs Monolithic Architecture
  • API Design and RESTful Principles
Performance Optimization
  • Algorithm Analysis and Big O Notation
  • Data Structures for Performance (e.g., Arrays, Hash Tables, Trees)
  • Optimizing Database Queries
  • Asynchronous Processing and Parallelism
  • Monitoring and Performance Testing Tools
Data Management Strategies
  • Database Selection (SQL vs NoSQL)
  • Data Modeling and Schema Design
  • Transactions and ACID Properties
  • Caching Strategies (e.g., Redis, Memcached)
  •  Data Encryption and Security Practices
System Design Case Studies
  • Real-world examples of largescale systems (e.g., Facebook, Netflix, Uber)
  • Analysis of their architecture, scalability challenges, and solutions
  • Lessons learned and best practices from industry leaders

Handson Projects and Labs

  • Design and implementation of scalable systems
  • Using design tools and methodologies (e.g., UML diagrams, Design Patterns)
Module 13

Intro to DevOps and Cloud Computing

Participants will learn what DevOps is, cloud computing fundamentals, its benefits, cloud service types, and cloud computing models.

INTRODUCTION TO DEVOPS

  • What is DevOps 
  • Evolution of DevOps
  • Core Principles of DevOps
  • Benefits of DevOps
  • DevOps Practices
  • DevOps Tools
  • DevOps Culture and Team Structure

INTRODUCTION TO CLOUD COMPUTING

  •  What is cloud computing?
  • The evolution of cloud computing
  •   Types of Cloud service models
  •   Cloud deployment models
  • Characteristics of cloud computing
  • Advantages of cloud computing
  • Common cloud computing services
  • Cloud Security
  • Leading cloud service providers
INTRODUCTION TO AWS

Identity and Access Management (IAM)

  •   Role-based access control (RBAC)
  •   User and group management in cloud platforms
  •   Implementing security policies and best practices
  • Multi-Factor Authentication (MFA)
  • Access key and Command Line Interface (CLI)

Setting up infrastructure in the cloud

  •  Elastic cloud compute (EC2)
  • EC2 instance types
  • Amazon Machine Image (AMI)
  • Creating Key pairs
  • Virtual Private Cloud (VPC) setup and configuration
  •   Network security groups, subnets, and routing

Availability and fault-torelance

  • High Availability, Scalability, Elasticity
  • Elastic Load Balancing (ELB)
  • Auto Scaling Groups (ASG)
  • Introduction to AWS S3
  • Creating S3 bucket
  • S3 bucket policy
  • Hosting a static website on S3
  • Versioning
  • Replication across different regions
Security and Compliance in the Cloud
  •   Security challenges and solutions in cloud environments
  •   Security tools and monitoring for cloud services
Cost Management and Optimization
  •   Cost estimation and monitoring tools in cloud platforms
  •   Billing alert and cost management
Module 14

Linux And Bash Scripting

This section will look into how to install Linux and packages, work with files and directories, permission, user management and script automation.

INTRODUCTION TO LINUX

  • Overview of Linux
  • History and Evolution of Linux
  • Different Distributions (Distros)

Getting Started with Linux

  • Installation and Setup
  • Command-Line Interface (CLI) Basics

Linux File System and Basic Commands

  • File System Hierarchy
  • Understanding Directory Structure

Essential Commands

  • File Manipulation (ls, cp, mv, rm)
  • Directory Operations (cd, mkdir, rmdir)
  • File Content Viewing (cat, less, head, tail)
  • Permissions (chmod, chown)

System Administration

  • User and Group Creation
  • User Permissions and Management

Processes and Services

  • Process Management (ps, top, kill)
  • Service Management (systemctl)

Package Management

  • Package Installation (apt, yum, dpkg)
  • Software Updates and Upgrades

Networking

  • IP Addressing and Subnetting
  • Network Interface Configuration (ifconfig, ip)
  • SSH (Secure Shell)

BASH/SHELL SCRIPTING

  • Introduction to Bash Scripting
  • Variables
  • Data Types
  • Control Flow
  • Loops
  • File Manipulation and Automation
  • Reading and Writing Files
  • Automating Tasks with Scripts

System Security

  • User Permissions and Access Control
  • File Permissions and Ownership
  • User Roles and Sudo Access
  • Setting up Web Servers (Apache, Nginx)
Module 15

Infrastructure As Code with Terraform

We will cover how to provision infrastructure using code. Participants can setup, destroy or replicate the state of infrastructure at any time with a command.

Introduction to Terraform

  • Infrastructure as Code (IaC) Concept
  • Introduction to terraform
  • Benefits and Advantages of Terraform
  • Comparison with Other Provisioning Tools

Getting Started with Terraform

  • Downloading and Installing Terraform
  • Configuration Setup

Terraform Basics

  • Understanding Terraform
  • Configuration Files
    Terraform CLI Commands Overview

Terraform Configuration

  • Defining Providers
  • Creating Resources (Instances, Networks, Storage, etc.)

Variables and Data Types

  • Input Variables
  • Output Variables

Modules and Reusability

  • Creating and Using Modules

Terraform Workflow

  • Initialization and Planning
  • terraform init Command
  • terraform plan Command

Applying Changes

  • terraform apply Command
  • Applying and Modifying Infrastructure

Destroying Resources

  • terraform destroy Command
  • Removing Infrastructure

Real-World Use Cases

  •  Creating VPCs
  • Setting up EC2 instance
  • Load Balancers
    Networking Configurations
Module 16

Source Code Management with Github

Learn how to manage source code through version control and collaborate with other developers.

Introduction to Version control

  • Overview of Version Control Systems (VCS)
  • Importance of Version Control in DevOps

Introduction to GitHub

  • Overview and Features of Github
  • Benefits of Github in DevOps Workflows

Getting Started with GitHub

  • Creating a GitHub Account
  • Installing git
  • Configuring Profile Settings

Git operation

  • Initializing git for a project
  • Adding files to be committed
  • Committing files to the staging area

GitHub Basics

  • Creating a repository
  • Connecting to the remote repository
  • Pushing files to git

Branching and Committing Changes

  • Creating and deleting branches from the terminal
  • Switching between branches
  • How to revert changes in git
  • Forking and Cloning Repositories

Collaborating on GitHub

  • Onboarding developers
  • How to enforce the approval mechanism
  • Merging pull request
  • How to approve a pull request
Module 17

Containerization With Docker

Participants will be able to deploy applications that can run anywhere using a container.

Introduction to Docker

  • Understanding Containerization
  • Containerization vs. Virtualization
  • Benefits of Docker in DevOps

Overview and Key Features

  • Docker Engine and Architecture
  • Downloading and Installing Docker
    Configuring Docker Engine

Docker Images and Containers

  • Working with Images
  • Running and Managing Containers

Docker Hub

  • Overview and Repository Usage
  • Pulling and Pushing Images

Docker Container Management

  • Creating and Starting Containers
  • Stopping container
  • Removing Containers
  • Inspecting container

Container Networking

  • Networking Basics in Docker
  • Configuring Container Networking
  • Data Management in Containers
  • Data Persistence in Containers
  • Managing Volumes

Docker Compose

  • Introduction to Docker Compose
  • Defining Multi-Container Applications
  • Creating Compose Files
  • Running and Managing Applications with Compose
Module 18

Kubernetes For Container Orchestration

Gain an understanding of managing multiple containers using k8s with auto-scaling, auto-healing and load-balancing services.

Introduction to Kubernetes

  • Container Orchestration Overview
  • Challenges in Containerized Environments
  • Role of Kubernetes in Container Orchestration
  • Kubernetes Basics
  • History and Evolution of
  • Kubernetes
  • Key Features and Advantages

Kubernetes Architecture

Master Node Components

  • API Server
  • Scheduler
  • Controller Manager
  • etcd

Worker Node Components

  • Kubelet
  • kube-proxy
  • Container Runtime (e.g., Docker)

Kubernetes Control Plane

  • API Server Functionality
  • etcd for Cluster State Management

Kubernetes Objects and Workloads

Pods

  • Understanding Pods
  • Multi-Container Pods and
  • Pod Design Patterns

Controllers and Workloads

  • Deployments
  • ReplicaSets
  • StatefulSets

Services and Networking

  • ClusterIP
  • NodePort
  • LoadBalancer

Kubernetes in Production

  • High Availability and Scalability
  • Ensuring High Availability
  • Scaling Kubernetes Clusters

Debugging Kubernetes Applications

  • Troubleshooting Common Issues
  • Debugging Tools and Techniques

Project

  • Deploying an application on the Kubernetes cluster
Module 19

CI/CD Pipeline With Jenkins

Learn to create a pipeline to automate the delivery and deployment process from the source code to the server.

Continuous integration and continuous delivery overview

  • Understanding CI/CD Concepts
  • Importance of Automation in Software Development

Introduction to Jenkins

  • History and Evolution of Jenkins
  • Key Features and Benefits of Jenkins

Getting Started with Jenkins

  • Downloading and Installing Jenkins
  • Initial Configuration and Setup Wizard

Jenkins Basics

  • Creating Jobs and Projects
  • Configuring Jenkins Jobs (Freestyle vs. Pipeline)

Jenkins Pipelines

  • Introduction to Jenkins Pipeline
  • Pipeline as Code (Jenkinsfile)
  • Declarative vs. Scripted Pipelines

Writing Jenkins Pipeline

  • Syntax and Structure of Jenkinsfile
  • Pipeline Stages and Steps

Jenkins Plugins and Integrations

  • Installing and Managing Plugins
  • Popular Plugins for Various Integrations (Maven, Git, Docker, AWS, etc.)

Jenkins and Containerization

  • Integrating Jenkins with Docker
  • Building Docker Images and Deployments

Automated Testing and Quality Checks

  • Running Tests in Jenkins Pipeline
  • Static Code Analysis and Code Quality Checks

Source Code Management Integration

    • Integration with Version
    • Control Systems 
      Automated Builds and Triggers
Module 20

Ansible For Configuration Management

Understand how to manage, update and configure multiple servers using a playbook and inventory with ansible.

Introduction to Configuration Management

  • Understanding Configuration Management
  • Role of Automation in IT Operations
  • Key Features and Advantages

Ansible Basics

  • Installation and Setup
    Installing Ansible (Control Node)
  • Configuring Ansible Hosts

Ansible Inventory

  • Inventory File Structure and Configuration
  • Dynamic Inventory and Host Groups

Ansible Playbooks

  • Writing Playbooks (YAML Syntax)
  • Playbook Structure and Components

Ansible Modules and Tasks

  • Commonly Used Modules (file, command, package, etc.)
  • Module Parameters and Usage

Tasks in Playbooks

  • Defining Tasks
  • Task Execution Order and Handlers

Ansible Variables

  • Variable Types (Global, Play, Role, Host)
  • Variable Precedence and Scope

Managing Servers and Packages

  • Package Installation and Updates
  • User and Group Management

Service Management

  • Starting, Stopping, and
  • Restarting Services
  • Service Configuration and Management
Module 21

DevSecOps Fundamentals

Introduction to Sonarcloud

  • Creating an account
  • Setting up organization
  • Generating security key
  • Integrating sonarcloud into a pipeline process
  • Implementing Static Application Security Testing (SAST).

Vulnerability detection with Snyk

  • Introduction to Source Code Analysis (SCA)
  • Setting up an account on Snyk
  • Generating token
  • Integrating Snyk in a pipeline
  • Assessing level of vulnerability
Module 22

AI and Software Engineering

How to leverage AI as a DevOps engineer

  • Generating code with AI
  • Troubleshooting with AI
  • Using AI to increase productivity
  • Staying relevance despite AI porpularity
Module 23

Career Guidance

  • Optimizing your LinkedIn Profile
  • CV Review
  • Positioning for opportunities
  • How to make money apart from 9 to 5 as a software engineer
software engineering training in lagos nigeria
devops training in Lagos Nigeria
Google Review from over 80 students

Student Feedback

I attended Tech365. One of the key strengths of the training was its structured approach to covering complex concepts. The content was well-organized, starting from foundational knowledge and gradually delving into more advanced topics. This approach ensured that participants with varying levels of expertise could benefit from the training, making it accessible and engaging for everyone involved.

Dongo Cornelius

Tech365 is an ideal place for learning new skills in Information Technology. The teaching environment is great. The lecturers are very knowledgeable and are so willing to impart knowledge with patience and humour. My experience was so pleasant that I would love to go back and get an additional skill of interest.
I recommend Tech365 to anyone thinking of acquiring IT skills in an excellent and helpful environment.

Abiodun Adewodu

The in-depth teaching, and in relation to real-life applications, exploring different hands-on projects made it indeed brain-tasking and worthwhile. The patient and grounded tutors and most especially the patience in follow-ups even after the training period makes them an exceptional data school as this is really rare. The recommendations for opportunities and the community of like minds are absolutely commendable too.

Confidence Joseph

Tech 365 offers insightful and informative teachings. The courses are broken down in a way that even a layperson can easily understand. Everyone is made to see that tech can be simplified. I used to find tech-related courses quite challenging, and I struggled hard trying to learn it myself, but since joining Tech 365, I’ve discovered that it’s not as difficult as I expected. I can confidently say that you get real value for the money you invest.

Emmanuella Omolade

Tech365 is a great place to start from Novice to Ninja! There is no wuruwuru to the answer; The instructor takes you from the simplest example to the complex one solving them as simple as it could be. For every challenge encountered; it becomes another learning curve for knowledge. I will definitely recommend Tech365 who want solid background knowledge or a career shift in ICT. Thank you.

Oluwaseun Popoola

Training Fees

Software Engineering

Covers all the DevOps Modules, software development, system design, data structure and algorithm and advanced projects. Duration: 1 year.

N2,500,000

$2,500

Frequently Asked Questions (FAQs)

After this training, you can apply for jobs as a software engineer, DevOps engineer, backend engineer, frontend engineer, and cloud engineer anywhere in the world. It is a practical training with projects to make you job-ready.

No prior programming experience is required. Our training approach is beginner friendly, and we work on several real world projects to help our student have deeper understanding of each module. However, you need to know how to operate the computer efficiently. 

We have weekend class for those who cannot attend the weekday class. 2pm to 5pm (Nigerian Time)

You can pay N500,000 at the beginning of each month to attend the training.

Yes, it is recommended you come with your own laptop as it will help you to practice whatever you are learning. However, we provide laptop that can be used only within our premises if need be.

Depending on your budget, Core i7, 16 GB ram with SSD is best.

However, core i3 or i5 with 4gb or 8gb ram HDD will also work fine.

It can be HP, DELL, Mac or any other brand.

Yes. In fact, this is our strength. We are committed to supporting our students to ensure they succeed. You will be added to our WhatsApp group to connect with others and also ask questions.

We don’t guarantee job after the training. However, we share job alerts from time to time on available vacancies and tips that can help our students get job faster. We also offer CV review, LinkedIn profile optimization and letter of recommendation to diligent students.

All our training are physical at our Ikeja office. However, those who are outside Nigeria or living far can join online. Who join our classes from Canada, The UK, USA, UAE, Finland etc.

Yes. Tech365 was established to bridge the practical knowledge that people are lacking to secure a job. Hence, we focus on making the class beginner friendly with lots of projects to help the participants master the skill.

We issue a certificate of completion after the training. If you are interested in certification, you can pay to take certification exam by international bodies online.

You can chat with our representation using the WhatsApp chat button on our website or call the phone number at the top or bottom of this page. You can also click the register button on this page to show your interest and one of our team will reach out to you.

We don’t compete based on price. Our fees is based on the value we offer. If you want a place that will give you in-depth knowledge and value for your money, you are in the right place. Our past students are glad to learn from us as our training is hands-on and designed to make you job-ready. You can check what over 80 of our students had to say about our training on our Google review page.

Our Students Work at

devops engineering training bootcapmp Lagos Nigeria