The world of Artificial Intelligence (AI) often looks like magic from the outside, but from the eyes of a software engineer, AI is actually a paradigm shift in the way we solve problems using code.
If over the years you are used to writing deterministic instructions (Logic: If-Else, Loop, Database Query), entering the world of AI will force you to think probabilistically. This article is specifically designed as a comprehensive guide for software engineers who want to step from the world of conventional programming into the realm of AI, Machine Learning, and Deep Learning.
1. Paradigm Shift: Deterministic vs Probabilistic
As a software engineer, the foundation of your thinking is shaped by traditional programming. In the conventional paradigm, you combine Rules (Rules/Logic) and Data to produce Answers (Output).
-
Conventional Programming:
Data + Rules (Code/Logic) -> Output
Example: If you want to create a fraudulent transaction detection system (fraud detection), you would write nested rules:if (transaction> IDR 50,000,000) and (location == "overseas") then flag_fraud().
Problems arise when real-world rules are too complex to write manually. How to write if-else code to detect cat images? Do you have to check every pixel?
This is where AI/Machine Learning changes the workflow:
-
Machine Learning:
Data + Output (Label/Answer) → Rules (Model)
In Machine Learning, you provide thousands of examples of transaction data along with their labels (fraud or not fraud). The computer will discover its own patterns, mathematical formulas, and "rules." The final result of this learning process is called the Model.
2. Differentiate between AI, Machine Learning, Deep Learning, and Generative AI
These terms are often combined in industrial marketing, but technically have a hierarchical relationship (such as a class hierarchy or nested architecture):
+-------------------------------------------------------+
| Artificial Intelligence (AI) |
| +-------------------------------------------------------+ |
| | Machine Learning (ML) | |
| | +---------------------------------------------+ | |
| | | Deep Learning (DL) | | |
| | | +---------------------------------------+ | | |
| | | | Generative AI (LLM, Diffusion, etc) | | | |
| | | +---------------------------------------+ | | |
| | +---------------------------------------------+ | |
| +-------------------------------------------------------+ |
+-------------------------------------------------------+
-
Artificial Intelligence (AI): Big umbrella. Any technique that allows computers to imitate human intelligence. These include ancient rule-based systems (Expert Systems), Rule-Based chess engines, to search algorithms such as $A^*$ Search.
-
Machine Learning (ML): A subfield of AI in which systems learn from data without being explicitly programmed. Instead of creating a specific algorithm, we create a system that learns the algorithm itself based on historical data.
-
Deep Learning (DL): A specific branch of ML that uses Artificial Neural Networks (ANN) with multiple layers (layers). Excellent at processing unstructured data (unstructured data) such as images, sounds and free text.
-
Generative AI (GenAI): The part of Deep Learning focused on creating new content (text, images, audio, code) based on patterns learned from training data. The most popular examples are Large Language Models (LLM) like ChatGPT or image models like Stable Diffusion.
3. Three Main Categories of Machine Learning
Basically, the way machines learn is divided into three main paradigms:
A. Supervised Learning (Supervised Learning)
You provide training data that already has an answer or label. The model's job is to learn the mapping (mapping) from Input ($X$) to Output ($Y$).
-
Classification: Output is in the form of discrete categories.
-
Example: Predict whether an email is
SpamorNot Spam. -
Popular Algorithms: Logistic Regression, Decision Trees, Random Forest, Support Vector Machines (SVM).
-
-
Regression: Output is a continuous value (number).
-
Example: Predict house prices based on land area, location, and number of rooms.
-
Popular Algorithms: Linear Regression, Gradient Boosting (XGBoost, LightGBM).
-
B. Unsupervised Learning (Unsupervised Learning)
You only provide Input data ($X$) without labels or answers. The model's job is to find structure, hidden patterns, or natural groupings in the data.
-
Clustering: Grouping data into groups based on feature similarity.
-
Example: Segmentation of e-commerce customers based on shopping behavior.
-
Popular Algorithms: K-Means, DBSCAN, Hierarchical Clustering.
-
-
Dimensionality Reduction: Simplifies data that has thousands of columns (features) into a few main components without losing important information.
-
Example: PCA (Principal Component Analysis), t-SNE.
-
C. Reinforcement Learning / RL (Reinforcement Learning)
There is no static dataset. An Agent interacts with the Environment. The agent takes action (action), then receives praise (reward) or punishment (penalty).The goal is to maximize the accumulation of reward in the long term.
-
Analogy: Teaching a dog a new trick by giving him a biscuit when he succeeds and nothing when he fails.
-
4. The AI Development Life Cycle (Viewed from a Software Engineer's Eye)
If in conventional Software Development Life Cycle (SDLC) the flow is Requirements $\rightarrow$ Design $\rightarrow$ Code $\rightarrow$ Test $\rightarrow$ Deploy, then in AI/ML development the flow is slightly different:
[Problem Definition] ---> [Data Collection & Cleaning] ---> [Feature Engineering]
|
[Deployment & MLOps] <--- [Model Evaluation] <--- [Model Training] <+
-
Data Engineering & Cleaning (80% Uptime):Real-world raw data is dirty: there are missing values (missing values), inconsistent date formats, or outliers that ruin the analysis. Your job is to clean and standardize that data.
-
Engineering Features:The process of converting raw data into numerical features that are easily understood by mathematical algorithms. For example, changing the category string
"Bandung City"into a vector number (One-Hot Encoding). -
Training Model:The process by which an algorithm processes training data to adjust its internal weights (weights & biases). Here computing power (CPU/GPU) is used intensively.
-
Evaluation (Model Evaluation):Test the model on new, never-before-seen data (Test Data). The metrics used are not just "successful running or crashing", but statistical metrics such as Accuracy, Precision, Recall, F1-Score, or Mean Squared Error (MSE).
-
Deployment & MLOps:Wrapping the model into an accessible service (e.g. REST API using FastAPI) and integrating it into the application infrastructure.
5. Understanding Deep Learning: Anatomy of an Artificial Neural Network
Deep Learning is inspired by the structure of the human brain. The main building component is the Artificial Neuron (or Perceptron).
Input Layer Hidden Layers Output Layer
(x1) \ / ( ) \ /
--> ( ) ----> ----> ( ) ---> Output (Y)
(x2) / \ ( ) / \
Brief How Neural Networks Work:
-
Input ($X$): Incoming features (e.g. image pixels).
-
Weights ($W$) & Biases ($B$): Each inter-neuron connection has a weight. This weight is the "knowledge" or "memory" of the model.
-
Dot Product & Activation Function: Input is multiplied by weight, bias added, then passed to Activation Function (such as ReLU or Sigmoid) to provide properties non-linearity.
-
Forward Propagation: The signal moves from the input screen to the output screen until it produces a prediction.
-
Loss Function: Calculates how far the model predictions are from reality (error).
-
Backpropagation: Using calculus (Chain Rule) and the Gradient Descent to update all weights ($W$) from back to front, so that the error in the next iteration is smaller.
6. Roadmap (Roadmap) for Software Engineers
As a software engineer, you actually already have a big advantage: you can already write clean code (clean code), understand Git, database systems, and software architecture. What you need to add is a foundation of mathematics and AI tooling.
Step 1: Master the Main Language & Libraries
-
Python: The de-facto standard of the AI industry. Learn basic syntax and list comprehension.
-
Data Manipulation:
NumPy(matrix/vector operations) andPandas(table/DataFrame data manipulation). -
Visualization:
MatplotlibandSeaborn. -
Machine Learning Traditional:
Scikit-Learn(must be mastered first). -
Deep Learning:
PyTorch(highly recommended for today's engineers and researchers) orTensorFlow/Keras.
Step 2: Understand Basic AI Mathematics (Intuitively)
You don't have to be a pure mathematician, but you must understand intuitive concepts of:
-
Linear Algebra: Vectors, Matrices, Matrix Multiplication (Dot Product), Eigenvalues. (Almost all data in AI is represented as a matrix).
-
Calculus: Derivatives (Derivatives), Partial Derivatives, and Gradient Descent (how the model optimizes itself).
-
Probability & Statistics: Mean, Median, Variance, Standard Deviation, Distributions, Bayes' Theorem.
Step 3: Learn MLOps and LLM Application Engineering
As an engineer, the biggest and most relevant career gaps today are AI/MLOps Engineer and LLM Application Engineer.
-
LLM Engineering: Learn Prompt Engineering, Retrieval-Augmented Generation (RAG), use of Vector Databases (Chroma, Pinecone, Qdrant), as well as orchestration frameworks such as LangChain or LlamaIndex.
-
MLOps: Learn how to perform versioning data (DVC), experiment tracking (MLflow, Weights & Biases), serving models (FastAPI, Triton), and monitoring model performance in production to avoid experiencing data drift.
Where to Start?
Don't get trapped in tutorial hell (reading/watching without practicing). The best way for a software engineer to learn AI is to create real projects iteratively:
-
Project 1 (Basic ML): Create a simple house price prediction model using dataset from Kaggle with
Scikit-Learn. -
-
Project 3 (LLM App): Create a simple CLI or Web RAG application that can answer questions based on PDF files of your internal technical documentation.
Just like when you first learned programming, the main key to mastering AI is consistency in dissecting code, experimenting with data, and understanding the logic behind algorithms. Enjoy exploring this new paradigm!

Sigit Wasis Subekti
Software Engineer & Tech Educator
Software Engineer and Tech Educator sharing insights on web development and software architecture.