Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions roles-responsibilities/technical-training-program-structure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Technical Training Program Structure

## **Pre-requisites**
These are the foundational concepts you should be comfortable with before starting the training program:

- **Revision Control (Git)**
- Working knowledge of Git commands like clone, commit, push, pull, and branching.
- [Scaler Git Free Resource](https://www.scaler.com/topics/git/)

- **Databases (SQL and MySQL)**
- Understanding relational databases and basic SQL queries (SELECT, INSERT, UPDATE, DELETE).
- [Scaler SQL Resource](https://www.scaler.com/topics/sql/)

- **Programming Language: Java**
- Solid grasp of [OOP concepts](https://www.scaler.com/topics/course/object-oriented-programming-java/), syntax, and core libraries.
- [Scaler Java Resource](https://www.scaler.com/topics/java/)

- **CS Fundamentals**
- **[Data Structures and Alogorithims(DSA)](https://www.scaler.com/topics/data-structures/):** Learn how data is stored and processed efficiently
- **[Operating System (OS)](https://www.scaler.com/topics/operating-system/):** Process management, memory management, deadlocks.
- **Database Management System (DBMS):** Indexing, normalization, transactions.
- **[Computer Networks (CN)](https://www.scaler.com/topics/course/free-computer-networks-course/):** OSI model, TCP/IP, HTTP basics.
- **Compiler Design (CD):** Lexical analysis, parsing basics.

- **Optional but Recommended**
- **Web Development:** Basics of HTML, CSS, and JavaScript.
- **[REST APIs](https://www.scaler.com/topics/what-is-rest-api/):** Understanding request/response structure.
- **Moqui Framework:** Familiarity with its architecture and use cases.

## **Training Modules**
Once the prerequisites are clear, the following modules will be covered in depth:
- **Software Development Life Cycle (SDLC)**
- Understanding Waterfall, Agile, and Scrum methodologies.
- Real-world application of SDLC in projects.
- [Scaler SDLC Guide](https://www.scaler.com/topics/software-engineering)

- **Java Advanced Concepts**
- **JDBC connectivity:**Establishing connection between webapp and database.
- **JSP & Servlets:** Fundamentals of Java web development.
- **REST API (POST Methods):** Creating and consuming APIs.
- **Collections Framework:** Lists, Sets, Maps, and their internal implementations.
- **Exception Handling:** Best practices for robust error management.
- [Scaler Java Advanced Resource](https://www.scaler.com/topics/advanced-java-programming/)

- **SQL Advanced Concepts**
- **Query Cost Optimization:** Writing efficient queries, indexing strategies.
- **Window Functions:** RANK, ROW_NUMBER, PARTITION BY usage.
- [Scaler SQL Window Functions](https://www.scaler.com/topics/sql/window-functions/)

- **System Design**
- **Low-Level Design (LLD):** Object-oriented design patterns, SOLID principles.
- **High-Level Design (HLD):** Scalability, load balancing, databases, caching.
- Free Resources:
- [Arpit Bhayani YouTube (System Design Deep Dives)]([https://www.youtube.com/@arpitbhayani](https://www.youtube.com/watch?v=1r9bPisYaOQ&list=PLsdq-3Z1EPT36NJXTutvKcreetuHCr9a-))
- [Scaler System Design Resources](https://www.scaler.com/topics/system-design/)

---
19 changes: 9 additions & 10 deletions sde-program.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# What?
## What?
Learn building business automation software.

Build skills in following categories
Expand All @@ -11,15 +11,6 @@ Build skills in following categories
## How?
This training program uses a learn-by-doing approach. You'll gain practical experience by developing a software solution for **[NotNaked](ubpl/NotNaked/Introduction.md)**, a direct-to-consumer fashion brand.

## Prerequisites: Software Development Fundamentals
This training program requires a solid foundation in software development principles. Please review the following refresher resources to ensure you're adequately prepared:

* **[Revision Control (Git)](https://www.scaler.com/topics/git/):** A working understanding of Git is essential.
* **Databases [SQL](https://www.scaler.com/topics/sql/) and [MySQL](https://www.scaler.com/topics/course/sql-using-mysql-course/):** Familiarity with SQL and MySQL is crucial.
* **Programming Language [Java](https://www.scaler.com/topics/java/):** Proficiency in [Java](https://docs.oracle.com/javase/tutorial/) is required.
* **Optional but Recommended:** Basic Web Development (HTML, CSS, JavaScript), REST APIs, and the Moqui Framework.

## [CS fundamentals](cs-fundamentals) for Engineers

## Training program outline
* You are assigned project to develop software for **[NotNaked](ubpl/NotNaked/Introduction.md)**. NotNaked is a D2C fashion brand.
Expand All @@ -28,6 +19,14 @@ This training program requires a solid foundation in software development princi
* build server side **[Moqui](https://www.moqui.org)** application as per the SOA design principles.
* publish REST API
* Integrate with [Shopify](https://shopify.dev/docs/api/) eCommerce store.

## Software Development Program Structure

- [**Pre-requisites**](roles-responsibilities/technical-training-program-structure.md#pre-requisites):
These are the foundational concepts you should be comfortable with before starting the training program.
- [**Training Modules**](roles-responsibilities/technical-training-program-structure.md#training-modules):
Once the prerequisites are clear, the following modules will be covered in depth.


### Module 0: Know your business domain
* [How HotWax's OMS solve bussiness requirments of NotNaked](https://www.hotwax.co/product/omnichannel-order-management-system/)
Expand Down