Systems Programming at 42 São Paulo

August 21, 2026

Why this matters for infrastructure work

Most people move into cloud engineering from application development or bootcamps. I came in from the opposite direction — 25 years of operating the infrastructure other people’s code runs on — and 42’s curriculum forces exactly the low-level understanding that background didn’t require until now: manual memory management, no garbage collector to hide behind, no libraries to hand-wave over.

Selected work

libft — reimplemented 43 core C standard-library functions from scratch, then applied them building a command-line product-catalog project with full documentation. This is the foundation everything else in the curriculum builds on.

get_next_line — a line-by-line file reader using static memory across function calls. The interesting part wasn’t reading the file — it was resolving malloc-failure edge cases and two memory leaks that only appeared under specific buffer-boundary conditions.

push_swap — co-developed with a partner (Luciano): a stack-sorting algorithm project with adaptive sorting strategies tuned for large data sets, where the naive approach runs out of budget fast.

ft_printf — a custom printf implementation from scratch, including full variadic argument (va_list) handling.

The connection to cloud work

None of this is abstract for me. Debugging a memory leak in get_next_line and debugging why a Lambda function’s cold-start memory allocation is behaving unexpectedly are the same kind of problem at different altitudes. That’s the argument I’d make for why systems-level grounding matters even in a serverless world: the abstractions leak, and when they do, you want to have built the thing they’re abstracting.


Code: GitHub