Connecting the Dots from Code to CPU

Beyond writing code. Understand what happens inside: compilers, Linux, memory, processes, networks and the bugs hiding between them.

· 11+ years in Embedded Application Engineer · 100+ Interviews Taken  · C/C++ · Linux · Networking

embedded-internals ~ bash
$ gcc -g main.c -o app
$ readelf -h app
# ELF header, entry point, sections...
$ strace ./app
# every syscall, user space → kernel
$ gdb ./app core
Segmentation fault → find the real cause
Source→Compiler→Linker→Kernel→CPU
JS

Jyoti Singh

Embedded & Systems Software Engineer
11+
Years of experience
100+
Technical interviews

Welcome to Embedded Internals

I’m Jyoti Singh, an engineer with 11+ years of experience in embedded systems and software engineering. Throughout my journey, I’ve worked with C/C++, system programming, Linux kernel internals, networking protocols (Layer 2, Layer 3, and Layer 4), socket programming, device drivers, embedded systems, and low level debugging.

One thing I’ve always enjoyed is understanding what happens behind the scenes when software runs. We write code, compile it, and see the output, but what actually happens inside the system?

  • How does our code become an executable?
  • How does Linux manage processes and memory?
  • Why do programs crash, and how can we find the real cause?

These are the questions that inspire me to keep exploring and sharing what I learn.

Beyond Writing Code. Understand What Happens Inside.

Understanding how compilers, operating systems, memory, processes, threads, and network protocols work together helps us see the bigger picture. I connect theory with practical demonstrations, technical investigations, debugging exercises, and real-world engineering scenarios.

C/C++ & System Programming

Explore language fundamentals, pointers, memory behavior, compilation, linking, and runtime execution. Understand what happens between writing your code and seeing it run.

Linux & Kernel Internals

Discover how Linux manages processes, threads, virtual memory, system calls, and interactions between user space and kernel space.

Networking & Socket Programming

Explore Layer 2, Layer 3, and Layer 4 protocols, socket communication, packet flow, and network debugging to understand how systems communicate.

Device Drivers & Embedded Systems

Learn about low-level software, device-driver concepts, compilation, and embedded Linux environments.

Debugging & Technical Interview Preparation

Develop a systematic approach to debugging, investigate complex failures, and strengthen the technical understanding needed to tackle challenging engineering interviews.

Learning becomes meaningful when we ask why and how

I believe in moving beyond memorizing answers. That’s why I follow a simple approach:

Understand

First, understand the fundamentals.

Investigate

Then, investigate how things work internally.

Analyze

Finally, use that understanding to analyze real-world problems.

Insight from the interviewer's side of the table

Over the years, I’ve conducted 100+ technical interviews to support my organization’s hiring efforts. These experiences have given me valuable insight into how candidates approach technical problems, explain their reasoning, and demonstrate their understanding beyond textbook knowledge.

I want to bring that perspective into Embedded Internals, helping engineers prepare for interviews, build confidence, and develop the practical understanding that matters in real engineering work.

100+
technical interviews conducted

Let's learn, explore, and connect the dots together

Whether you’re strengthening your C fundamentals, exploring Linux internals, preparing for technical interviews, or simply curious about what happens beneath your code, I hope you’ll find something here that helps you grow.

YouTube

Videos & deep dives

Telegram

Join the community

GitHub

Code & examples

LinkedIn

Jyoti Singh

Email

Get in touch

Embedded Internals

Connecting the Dots from Code to CPU.
Learn. Explore. Understand What Happens Inside.
Scroll to Top