I'm a freelance software developer based in Porto, Portugal, with over 20 years of professional experience working with the full technology stack and touching all roles in the development lifecycle.
I alternate my time between pursuing my research interests, and periodically doing consulting gigs to fund them.
Whether your next project is a desktop or mobile app or game, an online store or website, or you simply need assistence finishing or improving an existing system, get in touch and maybe we can work together.
I'm currently fully booked.
I write code! Specifically, I'm a full-stack, polyglot developer, comfortable with most languages and platforms but with a focus on the .NET world.
Often the most interesting programming is the invisible crunching of bits behind the scene, whether that's cryptography, machine learning, simulations, high-performance algorithms, distributed systems or perhaps some tricky business logic.
I'm excited about the ubiquity and ever-increasing capabilities of web applications, and enjoy pushing them to the limit, writing frontends that adapt to a variety of specs and devices and challenge what the platform can do.
Native and hybrid-native applications can provide the highest level of performance and integration, whether on the desktop or on phones and tablets. I have experience with several platforms and cross-platform frameworks.
Games and interactive 3D visualizations can be as fun to create as they are to use. I have experience with a handful of game engines and 3d frameworks for a variety of platforms, including VR, handheld devices, the desktop and browsers.
I participate in the rituals surrounding the writing of code, engaging with customers and team-members, and analysing systems and processes.
The most important decision is that of which problem to solve. As an analyst, I talk to business stakeholders and end users, examine existing systems and processes, and determine the business and functional requirements for the new project.
As an achitect, I select the technology stack and design the system architecture that best fit the functional requirements - juggling tradeoffs between reliability, scalability, flexibility, maintainability, development speed and sexiness.
Healthy processes and culture can make the difference between a successful project and a deathmarch. As a team lead, I prefer to work with small to medium-sized teams, evolving an agile process with quick turnaround and feedback.
Healthy development require a healthy infrastructure. Wearing my operations hat, I advocate and manage systems and workflows for continuous integration and delivery, configuration management, automated testing, and software-driven platform provisioning.
Read! I can often be found buried in books and screens, studying a diverse range of subjects. My walls have filled with book shelves that have gradually overflowed and spilled onto every horizontal surface, to the point there's a real danger of an avalanche.
"By working hard and saving my money, I intend to become an immortal superman" wrote Robert Ettinger in 1972, and I concur. I lurk in the transhumanist community, enjoying the wealth of ideas around radical life-extension, human enhancement and the post-scarcity life that we will see play out in the coming decades as humanity grows up.
I lift things up and put them down. The iron never lies to you. Life may change, but two hundreds pounds is always two hundreds pounds. I also run long distances, usually in place or in a circle. If I can't lift it, I'll settle for outrunning it.
I've had a love for the demoscene since writing my first lines of Motorola 68000 assembly on the Amiga 500, although these days it's hard to find time to participate. Stay tuned for my upcoming nostalgia project though. Any time now...
Game! I follow games. I read about them. I play them when I find the time. I design them. I'm currently working with a friend on a quadcopter racing game using the Unity engine.
Play the guitar, poorly, doing acoustic covers of songs that have no business being played without electricity.
Prepare for the zombie apocalypse! Which not only is the coolest-sounding hobby, but an open-ended exercise with an unexpected payoff. Blog post coming soon.