Skip to content

Instantly share code, notes, and snippets.

@aadsm
Last active February 14, 2024 22:36
Show Gist options
  • Save aadsm/1e16ad3b0c5eda811e58302de172857c to your computer and use it in GitHub Desktop.
Save aadsm/1e16ad3b0c5eda811e58302de172857c to your computer and use it in GitHub Desktop.
António Afonso resumé (2/13/2024)

António Afonso

Summary

I have considerable experience in software engineering (with a focus on the web) and I'm currently interested in building friendlier developer tools. I also love to mentor people and build happier, loveable, successful teams.

Through my career I've tech led multiple projects that got shipped to billions of people at Meta (e.g.: https://techcrunch.com/2016/02/18/facebook-video-metrics/), and millions of people at other companies (e.g.: https://www.wired.com/2009/10/opera-unite-puts-the-web-server-in-your-web-browser/). I was an Engineering Manager for around a year at Meta, and can still wear that hat when needed, but that's not the type of role I'm looking for right now.

Along with the creator of LLDB (Greg Clayton) I created the first and only native debugging team at Meta supporting the whole company's needs. I built the infrastructure required to continuously ship an evergreen version of the debugger, created new debugging tools for developers, and contributed to LLDB by improving its performance. I also "hired" Walter Erquinigo (that currently works at the team I'm applying for) from Oculus to join my team. It was amazing working with him, and I wish I'll have that chance again! (if this looks like a shameless plug, it's because it is!)

While working on developer tools I've created new mechanisms to preview app changes in real time (https://aadsm.github.io/blog/2014-05-10/live-edit-in-montage-studio.html), and also refactoring tools to promote good coding practices and maintainable code (e.g.: https://aadsm.github.io/refact/).

I have created my own libraries (with millions of downloads) from the ground up (e.g.: https://www.npmjs.com/package/jschardet) and I also contribute to open-source projects (e.g.: codesandbox/codesandbox-client#749).

I like to think of myself as a problem solver that uses tech as a tool to achieve my goals. You won't see me promoting the latest framework or refactors without a good explanation of the added value to the product. Attention to detail and a good user experience is very important to me even if that means sacrificing feature count. I prefer "feature-less but usable" than "feature-rich but unusable".

I'm not picky when it comes to programming languages and I have a good track record of picking up new ones pretty quickly when needed. In the past 5 years I've worked on projects using: js, html, css, python, bash, java, C++, arm64, buck/bazel, cmake, ninja and rust (nb: I don't claim to be an expert on any of these).

The most recurring type of feedback I get are about my direct communication skills, friendliness, and my ability to work anywhere on the tech stack (regardless of past experience).


Dated 2/13/2024

António Afonso

Software Engineer

Over 20 years of industry experience (8y at Meta).
Master's degree in Computer Engineering.
Bay Area resident.
US citizen.

antonio.afonso@gmail.com
https://github.com/aadsm
https://linkedin.com/in/antonioafonso

Projects of interest

Native Debugging team at Meta (2019-2022)

Along with the creator of LLDB (Greg Clayton), created the first and only native debugging team at Meta. The team supported Facebook, Messenger, Oculus, Ads, Instagram and WhatsApp.

  • Built integration for Android Studio that allowed developers to have a 1-click debugging experience. No debugging was possible before as stock AS fails to debug Android at Meta.
  • Created all the infrastructure needed to weekly ship an evergreen version of LLDB to the entire company (dev and prod).
  • Created partnerships across Meta with Facebook, Instagram, WhatsApp, Portal, Oculus and Ads teams to have a single and modern debugger used by all the orgs.
  • Gained LLVM commit access.
  • Improved Step Over time for inlined code on LLDB (https://reviews.llvm.org/D61292).
  • Improved module loading time (2x faster) for Linux & FreeBSD on LLDB (https://reviews.llvm.org/D62499).

Video Publishing at Facebook (2015-2017)

Tech lead for Video Publishing and later the EM of Video Insights.

Montage Studios (2012-2014)

Engineering founder at this startup. The mission was to build web developer tools that anyone could use to create delightful, native-like, webapps. There were 2 sides of the product, the developer tool itself, and a supporting web framework (this was before react et al.).

  • Mostly worked on the web framework where I developed the template engine, the building block components, and a data binding system.
  • Invented a new mechanism to preview app changes in real time (as seen in https://aadsm.github.io/blog/2014-05-10/live-edit-in-montage-studio.html). A provisional patent was filed while I was still at the company. This feature ended up being the lead in VC talks for series A, as it got a lot of attention.

Opera Software (2008-2010)

JavaScript developer at the Web Development team and (one of 2) main developers of Opera Unite front end.

AGI Game Engine Emulator for the Web (2006)

This was a personal project that I'm very proud of, and what I believe to be the first game engine emulator for the web. Implementation of the AGI virtual machine, used by Sierra On-Line back in the 80's to develop great titles such as King's Quest, Space Question, among others. Built by creating an AGI bytecode to JavaScript compiler in PHP, and a JavaScript runtime. It was a lot of fun, especially because JavaScript doesn't have the equivalent of goto or sleep, so I had to come up with my own algorithm.

Funemployment (2022-today)

I was laid off from Meta in 2022 and I took the time to (well, first to take a break from those fast paced 8y, but then to) research and invest on building better development tools. I could go on for days talking about developer tools and how they fail us today. I built several prototypes and gained some interest from a couple of investors. I haven't followed through the typical startup route, but still have my options in the open. I also gained an interest and contributed to a Smalltalk-78 virtual machine by fixing several bugs that were making it almost unusable, alongside some new features (https://github.com/aadsm/Smalltalk78/commits/main/).

Note: I have either up&peer feedback or references to back up all my claims here.


Dated 2/13/2024

Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment