To begin, click your user name
After you log on, you can add or change accounts.Just go to Control Panel and click User Accounts.
Engineer:
Tiago Cerqueira
Software Engineer
Portugal
Previously at:
Deno Land
Infrastructure Engineer
Looking for work
Competence:
Rust · C++ · C
Async · Concurrency
Performance
I love programming. I didn't know it until I was forced to learn it at university. I still miss the feeling of writing my first C programs - they barely did anything useful, but they were puzzling and challenging, and they were enough to spark my curiosity about how these simple programs could turn into real-world applications with a UI and even talk to other computers. That's the rabbit hole I fell into, and I'm still in it! I always wanted that power to build anything at my fingertips.
Early on, I got really interested not only in solving problems but in solving them elegantly. Two solutions can be proven equivalent and still not be equally good; there's another dimension to the equation: us engineers, the ones who read and write them. Good solutions tend to be easier to understand and extend, and they account for what a future maintainer will think of them. This made me converge on solutions that properly leverage the language I'm using - but there are a ton of languages and paradigms, so I set out to explore what the others had to offer!
Here's a quick history of the languages I've used: I started with C, then moved to C++ because, you know, it has that shiny thing called "OOP" that's supposed to be great (spoiler: I am not an OOP enjoyer).
At the same time, I was learning Java against my will, but it was fine: I didn't know it yet, but I was getting OOP-vaccinated - call it character development.
Later, I realized I didn't know anything about the web or how to build websites - what do you mean a software engineer can't build a simple website? Shameful. So I got into JavaScript/TypeScript and all the adjacent frameworks, to feel validated by non-technical people.
I landed my first job in a C++/Java/Kotlin (Android stack) role, where I got my first enterprise experience of what it's like to build and maintain a large C++ codebase (spoiler: not so fun). Around that time, I felt some divine intervention to learn Rust, because there was literally no other reason besides "I heard about it" and wanted to learn something new.
Rust opened a window onto the horrors of C++ that hide behind the first Dunning-Kruger hill. I honestly learned a lot of C++ by learning Rust, and now every time I look at C++ I have an involuntary borrow checker compiling the code in my head to tell whether Rust would allow it - which, in my opinion, improved my C++. The current status of my relationship with C++ is "It's complicated™", but I still care about it and keep up to date with the new versions.
So, in case it wasn't clear, I'm a fan of Rust and its paradigm, and I've been working with it for roughly 3 years now. It also sparked my curiosity about functional programming, which Rust borrows a bunch from - though I haven't dug deep into functional programming yet.
I played football for more than a decade, but I'm retired now. As all great would-be players say: "I could've gone professional, but I got injured." In my free time I enjoy running; I usually train by the beach, which is always windy - par for the course in the north of Portugal.
Although I live next to the ocean, my heart is in the mountains - I love them more than the sea. Come winter, I have to go skiing and spend time up on the mountain. When I was a kid, I took a trip to a small mountain to try skiing and I loved it, but then I didn't ski again for more than a decade. I wish I'd skied more back when these knees were stronger!
There's also a chance you'll find me online playing games under my latest nickname, "arroz de tabaco", which means "tobacco rice" - named after a burnt-rice incident that smoked the rice until it tasted like cigarettes. I haven't played much lately, but I used to play Counter-Strike, Overwatch, and other FPS games, as well as some single-player titles. Favourite game: Outer Wilds.
In my free time, I also code or read programming books on whatever topic I feel like exploring.
I'm currently reading the "Crafting Interpreters" book and implementing it in Rust. The book implements a made up language called Lox in Java and C. It's been a lot of fun, and I've learned a lot from it; it tickles my curiosity for programming languages, and I can recommend it. You can try my work in progress here in the browser compiled to WASM! Launch
I've been slacking a bit, but distributed systems have been one of my latest obsessions - they're a natural extension of multi-threading, which is a topic I really like.
I'm no longer at Deno, and I'm looking for work! Contact me.
Powered by Rust·Leptos·Tailwind CSS·XP.css·Cloudflare Pages