Home | Freelancing | Projects | Blog | Talks | Publications
Welcome! I’m André, I’m based in Porto and I’ve worked for a few years as a Software Engineer across a wide range of roles and projects, from large-scale privacy applications at Google to a data processing pipeline and public API at Replai, a Seed-stage startup based in Porto. I love building cool things with technology so I’m always eager to learn and experiment with new tools.
I’m currently working as a freelancer, preferrably on medium to large scale projects with a few weeks/months of span. If you’re interested in working with me, reach out on LinkedIn! You can also check out my GitHub profile.
This website is a summary of the projects I’ve worked on and work experience I have, feel free to check it out :)
Work experience
Replai - Senior Software Engineer & Tech Lead - Porto, Portugal (Jul 2021 - Oct 2023; part-time since then)
As just the 3rd member of the engineering team I’ve had a significant impact in scaling our engineering team, processes and technology over time. My key contributions include:
- leading the data infrastructure team, responsible for:
- an automated data processing pipeline for fetching and processing data from 10+ external providers, built with fault-tolerance, monitoring and scaling as guiding principles [Node.js; Typescript; AWS; DynamoDB]
- an external API used by our customers as a companion to the Replai platform [Node.js; Typescript]
- an internal database querying library that enabled other teams to write fast database queries easily without worrying about details of the data model [Node.js; Typescript; PostgreSQL]
- maintaining and improving performance of our backend systems
- occasional contributions to the Replai frontend platform [React.js; Typescript]
- defining some of the core processes that enabled us to grow from a 3 person to a 15+ person engineering team, including:
- coding principles/guidelines and CI/CD automation
- restructuring of Replai’s internal code to maximize developer productivity
I’ve left Replai as a full-time member at the end of 2023 but I still work with the company as a freelancer on a few projects.
Google - Senior Software Engineer & Tech Lead - Munich, Germany (Oct 2018 - Jul 2021)
I was the Tech Lead for a small team of amazing engineers where we built user-facing privacy products that helped millions of people every day to manage their digital privacy. As a lead I not only provided significant technical contributions, but I also defined the team’s technical roadmap, identified product priorities, set up cross-team collaboration initiatives and provided opportunities for other team members to grow their careers. I also drove high-level design of bigger technical projects that had multi-quarter implications for the team.
For the majority of my time at the team, I’ve worked on user-facing privacy products such as Google Dashboard, Takeout, Privacy Checkup, Your Data and MyActivity.
I’ve done full-stack development using mostly Java, Javascript TypeScript and Go, including some work on testing and metrics pipelines.
Google – Software Engineering Intern - London, UK (2016) and Mountain View, USA (2017)
Before joining Google full-time, I did two Software Engineering Internships in 2016 and 2017 while I was still studying for my Master’s.
For my first internship at Google London, I worked on the Android for Work team, on projects related to Android media and cross-user content access. I also got to work on public features released on Android O, particularly the ability for users to add custom ringtones from any audio file. This feature was reported in an article by Android Police and my commits can be seen under the public AOSP GitHub mirror repository. I also talked about the work done during this internship in one of my blog posts.
Working on Android was very exciting for a lot of different reasons. First, it is a billion-user product, so knowing that my code would end up in the hands of so many people was thrilling. Also, I also loved the Android OS and its development environment, so being able to improve a product that I already loved made me even more passionate about the impact I made. Finally, knowing that my code had to be bullet-proof to security exploits made me have to focus on security a lot more, and think very well about how to implement features before actually coding them.
After my first internship at Google, I was offered a second Software Engineering internship, this time in Mountain View, California, in the company’s headquarters.
For this internship I was a part of the People Team, mainly working on the way contacts are uploaded for backup from Android devices. I worked on Android Google Play Services modules that perform the contact uploads to improve the way they are made, and also make them more reliable. I also got to work on server side solutions related to this, by developing an RPC service from scratch that performs deletion of user device contacts, and will soon receive traffic from all Android users.
University of Porto – Teaching Assistant – 2015 to 2018
Since 2015 I have been a teaching assistant in several courses of the Faculty of Engineering of the University of Porto, ranging from computer graphics or project management to low-level peripheral driver development. Specifically, I was a TA in the subjects of Computer Laboratory, Graphical Computation, Laboratory of Graphical Interface Applications, Programming and Software Development Laboratory.
As a teaching assistant my job is to be present in the practical classes of the courses, helping other students by answering their questions withoud handing them the answers. They have to learn by doing!
Other experiences
Talk A Bit - Conference Chair - Sep 2017 to Feb 2018
As a student I was the conference chair of Talk a Bit, a 500+ attendee student conference. I led a team of ~50 people to organizing the conference, which included efforts like ensuring sponsors and speakers, day-to-day logistics, advertisement, video production and web development.
As a chair I got to experience many aspects of managing complex problems since I had to motivate and organize a large group of people, dealing with personnel issues among the team, all while still actively working on other courses of my Master’s. This was an extremely challenging experience but one that I deeply enjoyed as it helped me grow tremendously.
Devenire - CEO - Mar 2017 to Jul 2017
I was the CEO of a 50-people student company where we developed software projects for 4 clients (real companies). As a CEO, I drove the definition of the company vision and values, created a common goal that all students could relate to and managed multiple personnel issues that happened within the team. The experience culminated in a presentation done to 200+ attendees where we showcased the company branding and the projects developed.
This short time as CEO made me learn about many different aspects of management I hadn’t yet experienced at the time: context switching, team leadership, communication skills and long-term planning. This was extremely challenge since at the time I also had 4 other university courses to complete and I was still expected to do technical contributions to one of our projects within the company, but I deeply enjoyed this time as it exposed me to the world of management. This experience sparked my desire to lead people and make them better!
Education
FEUP - Integrated Master’s (BsC + MsC) in Informatics and Computing Engineering - 2013 to 2018
Average Grade: 18/20 points
Thesis Grade: 19/20 points
Throughout the Master’s I have studied many different fields of software engineering, some of which particularly caught my interest. The main subjects I learned were distributed systems, mobile applications, software development methodologies, project management, software architecture and artificial intelligence.
Other subjects included operating systems, networks or web development.
My thesis dissertation project consisted on the development of a conversational assistant for the management of IoT smart spaces that is capable of performing more complex tasks than those of equivalent tools such as the Google Assistant or Amazon Alexa. That project’s code, as well as a scientific paper written about its results, can be found here.
Main languages learned on the Master’s: Java, C++, Javascript, C#, C.