Timeline

Note: in this section, you’ll find a timeline with the various roles I’ve had over the years. If you have some interest, but not enough to read this wall of text, I would pick as the most relevant experiences: SAPO, Accenture and the nearshore team at Devoteam Portugal.

Platform Architecture Lead @ Openvia Mobility

Dates: 2023-03 - Present

At Openvia, I’m the architecture lead for the Openvia Platform, which powers all the products we build. At its core, the Openvia Platform is a microservices based, event-driven system, organized by domains.

Working closely with the CTO and other colleagues, my main responsibilities encompass overseeing and guiding, from a technical perspective, the evolution and maintenance of our platform and products. This means helping design new solutions, advising on technology choices, doing proof of concepts to help guide choices, maintaining our AWS infrastructure, and a bunch more.

Besides the main responsibilities described, I also try to keep myself close to the development teams, not only to help build the best software we can, but also to try and help my colleagues level-up in their careers. Always happy to jump on a chat or a pair programming session.

Although with all of this I code less than when I was a full-time software engineer, I do still code a bit, not only proof of concepts as mentioned earlier, but also some smaller core platform services.

Principal Software Engineer / Solutions Architect @ Devoteam Portugal

Dates: 2016-03 - 2023-03

After working several years at BOLD (now Devoteam) in a staff augmentation context with various clients, eventually moved to the nearshore team (which is kinda similar, but working remotely for clients abroad), staring in August of 2018.

During my time with the nearshore team, got to work with a couple different clients:

  • Global fashion company - where I was part of a team pushing the use of digital technologies during the product development stage. My focus was on integrations between different applications and systems, both internal and external.

  • Swiss insurance company - where I was part of a couple of different teams, being most of the time part of a team developing correspondence and document management software.

Some of the technologies and tools used during these projects: C#, .NET (Core), ASP.NET (Core), SQL Server, RabbitMQ, xUnit, Docker, Git, GitHub, Google Cloud Platform, Microsoft Azure, Terraform.

I’ve had different roles during my time at Devoteam, mainly focused on software engineering, as well as software and solutions architecture. Besides the typical responsibilities associated with those roles, I also got involved in helping with recruitment processes, learning paths, training, mentoring, promoting technical discussions and knowledge sharing (leading different related initiatives), as well as advocate for overall company improvements.

It was during my time at the nearshore team that I started working remotely from my home office (in fact, it was the main reason to join this team), which was a game changer for me. Never again (assuming I can control it, of course) will I work consistently from a company’s office - a couple of visits a year is more than enough.

Software Engineer @ Farminveste Serviços

Note: through BOLD International

Dates: 2017-03 - 2018-08

Developing point-of-sale and logistics management software used in Portuguese pharmacies.

Main technologies and tools used: C#, .NET Framework 4.6, ASP.NET Core 1, Angular 2+, Ngrx, Typescript, NHibernate, Entity Framework Core, Dapper, Oracle SQL, SQL Server, Visual Studio, Visual Studio Code, Git.

Software Engineer @ Celfocus

Note: through BOLD International

Dates: 2016-06 - 2017-03

Development of BSS (Business Support Systems) for telecommunications companies.

Main technologies used: Visual Studio 2013, .NET 4.5, C#, ASP.NET MVC, jQuery, WCF, Entity Framework, SQL Server 2012.

Software Engineer @ Accenture

Note: through BOLD International

Dates: 2016-03 - 2016-06

The goal of the project is the development of microservice based platform for field force management.

My main responsibilities were to get out .NET Framework based code, developed on Windows, to run on Mono in Linux Docker containers (.NET Core wasn’t released at that time); improvements to the existing codebase; setup a Docker cluster running the developed services and the necessary dependencies; provide guidance to younger, less experienced team members.

Main technologies used: Visual Studio 2015, .NET 4.5, Mono, C#, ASP.NET Web Api, Owin, Sql Server 2014, PostgreSQL, Entity Framework, GIt, RabbitMQ, ETCD, Docker, HAProxy.

Unlike the previous project, this one was short because it was cancelled at some point, as I was actually enjoying what we were building, and the opportunities I had to learn new things during this time

Even though a brief experience, I consider this time at Accenture an important point in my career. Not only was it the first time I worked with technologies that would prove to be very important in the future, like Docker, or .NET applications running on Linux (no .NET Core yet), but it was also the first time I took a more development leadership role (even if unofficial), guiding less experienced colleagues. From this point forward, being a leader in a development team has been mostly a constant (again, even if not officially part of the role).

Software Engineer @ Coriant

Dates: 2015-09 - 2016-03

Part of the team that developed the TNMS (Transport Network Management System) component that handled the interactions between the system and the network devices.

Main technologies and tools used: Java, Maven, IntelliJ, SVN and Jenkins.

This short experience at Coriant could be briefly described as a “casting mistake”. The role was not in line at all with my expectations, being someone who came from working in an internet focused company, with a good amount of autonomy and able to lead projects, now the focus was mostly about low-level network devices, with much of the autonomy taken away due the company’s organization. For this reason, I ended up leaving not long after starting.

Software Engineer @ SAPO

Note: through BOLD International

Dates: 2010-09 - 2015-08

Was part of 3 teams while at SAPO:

  • The Service Delivery Broker team, where we developed the core middleware in which all SAPO services are registered, managing all requests to those services. We also developed some complimentary services, like an OpenID Connect compliant identity provider abstraction, in which applications could delegate the integration with third party providers.

  • The AdServer team, we developed services to support advertisement on the SAPO network.

  • The Multi-Platform team, we developed applications for the MEO IPTV service, doing all kinds of possible tricks to make everything work on resource limited set-top boxes.

Some used technologies during my time at SAPO: Visual Studio, Microsoft Mediaroom Presentation Framework, ASP.NET, MVC, WCF, Web API, Entity Framework, SQL Server, Java, Hibernate, Memcached, Redis, MySQL, SVN and Git.

While part of the Multi-Platform team, attended the Micosoft Mediaroom Technical Conference 2012, at Microsoft’s Silicon Valley campus, representing SAPO.

SAPO was probably the most impactful role in my career so far. I was lucky to go straight from university to one of the best places to work on software development in the country (at the time). I learned a lot, not only about things relevant to my role at the time, but also getting a broader knowledge of a lot of topics, given on technologically diverse the company was. It also was pretty relevant in terms of scale, as our software served millions of users.

Notes:

  • BOLD International, BOLD by Devoteam and Devoteam Portugal are all the same company, just going through branding changes through time