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.
Software Architect @ Openvia Mobility
Dates: 2023-03 - Present
For a more exact description of what I do, I’ll have to update this section in a few months, after I’ve been in the role for a while.
In the meantime, I can share my expectations for this position.
I expect this role as a software architect, to be what in other companies is called a principal software engineer, with maybe a couple of subtle differences, like a bit more influence on the technical matters of the company as a whole. I imagine we can think of it as a mix between principal engineer and chief architect.
While not part of a specific team, I expect to work closely with the various teams, providing guidance and support, as well as helping folks level-up in their careers.
Even though the title might suggest something like that, the goal is not to be some sort of “architecture dictator”, where developers just implement what architects say, but to work with the teams to design the systems in the best possible way.
Oh, and I also expect to chip-in with some code 🙂.
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