I started my career in the IT consulting business as a C# developer, integrating the Sharepoint workforce. The challenge was to develop enterprise web portals, both internal (intranets) and external. Through my experience I've had the unique opportunity to get to know unusual details about the Microsoft Web Platform, as I performed dualy as developer and sysadmin. As a result, I got skilled in farm sizing, setup and deployment, systems administration, load and communications testing, LOBs integration, backend (data storage and business processes) development and UI/UX.
I left the corporate consulting career to pursue the passion of software development. I then took a role as a C# backend developer and product owner at a product development team (inovation team), working with diverse and transversal technologies. I have with me projects over MongoDB and SQL Server, with async communication through RabbitMQ. I live among Docker containers with .NET Core and .NET Standard. I build coherently with Cake and docker-compose and Jenkins pipelines. I create service stacks with Rancher. I get my code into git. I manage with JIRA. I test it with xUnit, MSTest jMeter and Postman. I deploy it with Visual Studio Team Services. I deliver it to Artifactory. I document it with Confluence and Swagger, and I keep awake with a lot of coffee.
I have a master’s degree in Software Engineering from the Faculty of Engineering – University of Porto.
I got here as a Lead Developer with strong soft skills to help and drive the services' team forward. As I've become knowledgeable about the business, I started receiving projects to lead and manage.
I am in a SCRUM team with a team leader, two lead developers, two developers and two testers. We have among us a range of (mainly) backend services for the TV and OTT and purchasing business.
My responsibilities are within the services for Eletronic Programming Guide (EPG), Video On Demand (VOD) catalogs, purchases (channels, channel packages, VOD contents, account management), social networks on TV (YouTube, Facebook), profile management ("netflix-like" profiles), and the very large Network PVR and Event Timewarp.
On the R&D field, we as a team are making efforts for integrating Speech-To-Text and Natural Language Processing providers to create features of voice control for the existing products. We are also advancing towards automated customer care and personal assistant services while investigating bot-based approaches.
If you're wondering where the DevOps claim come from, this is our typical process:
- Document the architecture with the relevant teams (write on Confluence)
- Translate architecture and requirements into actionable tickets, associated wih a release, maybe some Epic, maybe linked between each other
- Analyse, prioritise and backlog those tickets
- Raise the necessary people to work on that release
- Go back and forth with that ticket in the workflow (dev->test->dev->test->pass)
- Commit to git always referencing at least one of those tickets
- Automated builds are always triggered with every commit, whereas dev and master have a lot more build tasks associated
- When a build is good enough for integration with other teams, launch a release at VSTS
- The VSTS takes care of installing the build on the dev servers, then run the integrated, load and regression tests
- If that build is really good enough for integration, promote it to staging, again, with all the tests
- After a gracious period and no complains from the other teams, promote that build to stable, with all the tests once again
- When the build has all the tickets associated with that release and has had an enough time at the stable environment, promote it to production and let the prod team decide the best time to schedule and install the build.
- In case of any failure, just rollback to the previous release
This was my first job, and as I had C# experience from college I was assigned to that unit inside the Lisbon Delivery Center. I was then allocated to the SharePoint team.
There I was involved in developing diverse SharePoint solutions, for intranet and public portals. The biggest being the EDP intranet, awarded with the Europe's best at the 2013 Digital Communication Awards (reference). That project involved scaling for 12k employees using it for booking vehicles, using team sites, managing schedules and vacation days, receiving company news, whatnot.
Other projects were smaller, for energy and telecom clients. One project I'd like to highlight was related to the POS systems of all stores of a major telecom provider. The company had bought highly advanced terminals but those were misused just for simple payments. That project integrated their billing and store front systems to take advantage of paperless signatures, integrated payment receipts and advanced reporting features.
I integrated the Computer Vision team while developing my master's thesis. My project intended to reconstruct rough 3D models from freely taken pictures. It was a sub-project of a bigger effort from the team to consistently measure the resulting effects of mastectomy interventions. The results would contribute to find and develop methods where the aesthetic impact was minimized while the change of success was higher.
Check the thesis here.
This is by no means an extensive list. There follows some few examples.