Lisbon, Portugal

Gonçalo Pereira

Embedded Software Engineer

I write embedded C for telecom network gateways at Streambow, and spend the rest of my time building and operating systems that run in production — from a Go service behind a Cloudflare tunnel to the Prometheus stack that watches it.

Currently
Embedded C · Linux · Networking
Also writing
Go · C++ · Rust · Python
Running
A live service & its monitoring

About

I'm an embedded software engineer at Streambow, where I develop C software for telecom network gateway devices running embedded Linux, integrate containerised components into network diagnostics pipelines, and debug networking behaviour down at the packet level.

I got here through 42 Lisboa, whose common core I finished in May 2025. Since then I've been on its systems and kernel specialisation, working toward an RNCP Level 7 qualification — the French framework's master's-equivalent level — alongside the job. That's where I picked up the habit of building things from the bottom up: reimplementing ping, traceroute, malloc and a Unix shell rather than reading about them.

What I care about now is the whole path from a low-level primitive to something people actually use. Quest Board is the clearest example: a Go and React application I designed, shipped, and now operate in production — versioned releases, CI-gated merges, a monitoring stack, and an on-call runbook for when it breaks.

Experience & Education

Dec 2025 — Present

Embedded Software Engineer

Streambow · Sintra, Portugal

  • Develop embedded C software for telecom network gateway devices running embedded Linux.
  • Implement and integrate containerised components using Docker within network diagnostics pipelines.
  • Debug networking behaviour through low-level system and packet analysis.
May 2025 — Present

Specialisation · Systems & Kernel

42 Lisboa · RNCP Level 7 (Master's equivalent)

  • Post-common-core specialisation in systems and kernel programming, working toward an RNCP Level 7 qualification.
  • Assessed entirely through projects: network protocol implementation, a custom memory allocator, x86-64 assembly and a cybersecurity track — most of the work below.
Jul 2024 — Oct 2024

Student Supervisor

42 Lisboa · Lisbon, Portugal

  • Reviewed and evaluated C and systems programming projects for specification compliance.
  • Delivered technical presentations to audiences of 100+ students.
  • Coordinated staff workflows supporting student progress initiatives.
Oct 2023 — May 2025

Common Core · Software Development

42 Lisboa · Lisbon, Portugal

  • Project-based curriculum covering C/C++, operating systems, networking, algorithms and full-stack development.
  • Peer-reviewed, no lectures — every project defended against a specification.

Selected Work

Things I built, shipped, or took apart to understand.

Systems & Networking

C and C++ — protocols, memory, and processes built from scratch

dune

In progress

A 45k-line C++ engine for the Dune board game: a phase state machine, an event bus, card and deck systems, and pluggable interaction adapters for TTY, scripted and recorded play. Godot front-end planned.

C++ArchitectureState Machines
View source →

ft_ping & ft_traceroute

Complete

Reimplementations of ping and traceroute using raw sockets and handcrafted ICMP packets — TTL control, checksum computation and round-trip timing without libc abstractions.

CRaw SocketsICMP
View source →

malloc

Complete

A thread-safe drop-in replacement for malloc, free, realloc and calloc. Pre-allocated TINY/SMALL/LARGE zones over mmap, mutex-guarded metadata, and debug tooling that dumps the live allocation map with a hexdump.

CMemory Managementmmappthreads
View source →

libasm

Complete

Core libc functions rewritten in x86-64 assembly, working directly with the System V calling convention, registers and syscalls.

Assemblyx86-64Syscalls
View source →

Minishell

Complete

A POSIX-style shell with pipes, redirections, built-ins, environment handling and signal management — tokeniser and AST-based execution over fork/exec.

CProcessesParsing
View source →

ls

Complete

A reimplementation of ls — directory traversal, stat-based metadata, permission formatting and sort ordering.

CUnixFilesystems
View source →

cub3d

Complete

A raycasting engine in the Wolfenstein 3D tradition — real-time rendering, texture mapping and per-column projection maths.

CGraphicsRaycasting
View source →

ft_irc

Complete

An IRCv3 server in C++ serving many concurrent clients from a single poll() loop over non-blocking sockets — channels, operator modes, and a companion bot. Tested against real clients such as HexChat.

C++TCP Socketspoll()IRCv3
View source →

Security

42's cybersecurity specialisation — cryptography, reverse engineering and reconnaissance

ft_otp

Complete

An RFC 6238 TOTP generator in Go. Keys are sealed with PBKDF2 (100k iterations) and AES-256-GCM; it also emits enrolment QR codes and serves a self-refreshing web UI. Later ported to Python as a second pass.

GoAES-256-GCMPBKDF2RFC 6238
View source →

Inquisitor

In progress

An ARP cache-poisoning tool in Go that puts itself between two hosts on a LAN and reconstructs plaintext FTP exchanges from the redirected traffic — a hands-on study of why unencrypted protocols fail.

GoARP SpoofingMITMDocker
View source →

Arachnida

Complete

A recursive web scraper paired with an EXIF metadata inspector — reconnaissance tooling and a practical look at what images leak.

RustScrapingEXIF
View source →

ft_onion

Complete

A Tor hidden service deployed in a container — onion routing, key-based SSH access and the anatomy of anonymous network communication.

DockerTorNginx
View source →

rev_me

Complete

Binary reverse engineering — disassembly, control-flow reconstruction and recovering algorithms from compiled code without source.

Reverse EngineeringDisassemblyBinary Analysis
View source →

Piscine Cybersecurity

Complete

An intensive security bootcamp covering vulnerability analysis, exploitation techniques and defensive strategy across a series of graded challenges.

SecurityExploitationAnalysis
View source →

Infrastructure & Web

Containers, orchestration and full-stack applications

Voting

In progress

A voting-pool web application with a Go backend and a React front-end — real-time results, user management, and CI covering vet, tests and image builds.

GoReactCI
View source →

inception

Complete

A multi-container infrastructure built from scratch — hand-written Dockerfiles for NGINX, WordPress and MariaDB, wired together with Docker Compose, volumes and an internal network.

DockerComposeNGINX
View source →

inception-of-things

In progress

Kubernetes from the ground up — K3s clusters provisioned with Vagrant, moving toward K3d and GitOps-style continuous deployment.

KubernetesK3sVagrant
View source →

ft_transcendence

Complete

A real-time multiplayer Pong platform on a Django backend — WebSocket gameplay, OAuth2 and JWT authentication, live chat and a containerised deployment.

DjangoWebSocketsPostgreSQL
View source →

There are another thirty-odd repositories behind this page.

Browse all on GitHub

Technical Skills

Ordered by how much I actually reach for them.

Embedded & Systems

  • C
  • Embedded Linux
  • Linux internals & syscalls
  • Process management & signals
  • Memory management
  • x86-64 Assembly

Networking

  • Raw sockets
  • TCP/IP, ICMP, UDP
  • Packet analysis · Wireshark, tcpdump
  • Protocol implementation
  • WebSockets
  • Network diagnostics

Languages

  • C · C++
  • Go
  • Python
  • TypeScript / JavaScript
  • Rust
  • Bash · SQL

Backend & Data

  • PostgreSQL
  • REST APIs · OpenAPI
  • Go (chi, sqlc, pgx)
  • Django · FastAPI
  • OAuth2 · JWT · TOTP
  • Database migrations

Infrastructure

  • Docker & Compose
  • Kubernetes · K3s
  • Prometheus & Grafana
  • GitHub Actions · CI/CD
  • Cloudflare Tunnel & Access
  • NGINX

Tooling & Practice

  • Git
  • GDB · Valgrind
  • Make
  • Code generation from spec
  • Reverse engineering
  • Technical documentation

Curriculum Vitae

One page, typeset in Typst, kept in sync with this site. The full history: experience, education, projects and skills.

Get In Touch

Open to conversations about embedded, systems and network engineering.