karan@embedded:~$ skills --grouped

Skills

Firmware

  • C
  • C++
  • STM32 HAL
  • FreeRTOS
  • RTOS internals
  • Bare-metal firmware
  • Bootloaders
  • Low-power / hibernation

Platforms / MCUs

  • ARM Cortex-M
  • STM32
  • TI Tiva TM4C
  • ESP32 / ESP32-C3
  • Raspberry Pi

Linux / Drivers

  • Kernel modules
  • Character drivers
  • Virtual network drivers
  • net_device
  • Linux user-space
  • Kali Linux

Interfaces

  • CAN
  • UART
  • SPI
  • I2C
  • Ethernet / IP
  • BLE
  • Zigbee

Debugging / Tools

  • GDB
  • JTAG/SWD
  • Trace32
  • Oscilloscope
  • Logic analyzer
  • Python diagnostics
  • Git / JIRA / Jenkins

AI-Assisted Engineering

  • Claude / Codex
  • Spec-driven development
  • Prompt → context → harness engineering
  • AI agent orchestration
  • Architecture & test docs
  • Code review

Foundations

  • Requirements-first
  • Architecture-first
  • Phased development
  • Validation plans
karan@embedded:~$ cat engineering-style.md

Engineering Style

01 Requirements

Start from what the system must do, written down.

02 Architecture

Define modules, interfaces and data flow before code.

03 Design decisions

Record trade-offs so choices are explainable later.

04 Phased build

Ship in small, working increments.

05 Validation

Plan how each behavior is proven correct.

06 Debug observability

Build in logging/CLI so the system can be inspected.

07 Documentation

Treat docs as an engineering output, not an afterthought.