techfortalk — training

vivek@techfortalk:~$ ls training/

Professional training in systems software engineering

One-to-one and small-group training in C, C++, embedded systems, and Linux — taught by a published C++ author and embedded software engineer with 24+ years of industry experience. Every course is hands-on, project-based, and tailored to your goals.

Enquire by email

Training courses

Each course is delivered as structured, practical sessions on real code and real hardware where relevant. For details, availability and pricing, enquire on any course below.

~/training/cpp-finance

C++ for Finance

Performance-focused modern C++ for financial systems and trading infrastructure. Build the language depth and low-latency instincts that quant, HFT, and fintech roles demand — including targeted preparation for technical interviews.

  • Modern C++ (11–20)
  • STL & algorithms
  • Move semantics
  • Concurrency
  • Low-latency patterns
  • Profiling
  • Interview prep
Enquire about this course →
~/training/embedded-systems

Embedded Systems Development in C/C++

From embedded C fundamentals to professional practice on real microcontrollers: peripherals, communication protocols, debugging on target, and writing firmware that is testable and maintainable.

  • Embedded C / C++
  • UART · SPI · I2C
  • Interrupts & timers
  • On-target debugging
  • Firmware architecture
  • Unit testing
Enquire about this course →
~/training/linux-kernel

Linux Kernel Development

A practical route into kernel engineering: kernel internals, building and configuring the kernel, writing loadable modules, and the debugging techniques professionals use on production systems.

  • Kernel internals
  • Loadable modules
  • Kernel build & config
  • printk · ftrace
  • Memory & scheduling
  • Debugging workflow
Enquire about this course →
~/training/device-drivers

Writing Device Drivers from Scratch

Learn Linux device drivers the way they are written in industry: character and platform drivers built from first principles, wired to real hardware, with device tree, interrupts, and kernel-space debugging covered in depth.

  • Character drivers
  • Platform drivers
  • Device tree
  • Interrupt handling
  • Kernel–user interfaces
  • Driver debugging
Enquire about this course →
~/training/stm32-bootloader

Embedded Bootloader Development with STM32

Build a working bootloader on the STM32 Nucleo board using the ST toolchain — STM32CubeMX, STM32CubeIDE, and STM32CubeProgrammer. Understand memory maps, vector tables, application jumps, and firmware update flows end to end.

  • STM32 Nucleo
  • STM32CubeMX
  • STM32CubeIDE
  • CubeProgrammer
  • Memory map & vectors
  • Firmware update
Enquire about this course →
~/training/secure-bootloader

Secure Bootloader Development

Go beyond a basic bootloader to a secure boot chain: image signing and verification, encrypted firmware, rollback protection, and the design decisions behind trustworthy firmware update on embedded devices.

  • Chain of trust
  • Image signing
  • Signature verification
  • Firmware encryption
  • Rollback protection
  • Secure update design
Enquire about this course →
~/training/bare-metal

Bare-Metal Development

No RTOS, no HAL, no safety net: start from the reset vector and build up — startup code, linker scripts, register-level peripheral programming, and cross-compilation toolchains. The deepest way to understand what your microcontroller actually does.

  • Startup code
  • Linker scripts
  • Register-level I/O
  • GCC cross-toolchain
  • Makefiles
  • Debug with GDB/OpenOCD
Enquire about this course →

How it works

  1. STEP 1

    Enquire

    Email with the course you’re interested in, your current experience level, and what you want to achieve.

  2. STEP 2

    Plan

    You’ll get a tailored training plan — scope, format, schedule, and pricing — matched to your goals and starting point.

  3. STEP 3

    Train

    Structured, hands-on sessions on real code and real hardware, with exercises and review between sessions.

Your trainer

Vivek Bhadra is a published C++ author and Embedded Software Engineer with more than 24 years of professional experience in C++, embedded systems, real-time software, and low-level development, across industries including IoT, defence, EV charging, networking, consumer electronics, and marine technology.

He is the author of Prompting C++ for Systems Engineering and has provided structured tuition to students, early-career engineers, experienced professionals, and technical-interview candidates.

Frequently asked questions

How is the training delivered?

Sessions are delivered remotely as one-to-one or small-group training. Hardware-based courses use affordable, widely available boards (such as the STM32 Nucleo) that you work on directly.

Do I need prior experience?

It depends on the course. Foundation courses assume only basic programming knowledge; advanced courses such as kernel development or secure bootloaders assume working C experience. Your starting point is assessed as part of the training plan.

What do I need to get started?

A computer capable of running a Linux environment (native or virtual machine). For hardware courses, a development board is required — recommendations and setup guidance are provided before the first session.

How much does it cost?

Pricing depends on the course, format, and duration. Email vivek.bhadra@gmail.com with the course you’re interested in and you’ll receive full details.

Ready to level up?

Tell me which course you’re interested in and where you’re starting from, and I’ll come back to you with a tailored plan and pricing.

Enquire by email