My Career Midpoint, Part II

28-09-2026 – by Gustavo Aquino · 11 min read

#career

Prologue: Experts and privateers

In my last year of college, talking with a classmate, she told me she had been working at a biometric security technology startup, and that they were looking for a .NET programmer to build software using that technology for service kiosks, web sign-in, and mobile apps.

By then, I was already working at the Forensic and Scientific Police department of São Paulo as a web programmer, on a GED (Electronic Document Management) system built in CakePHP and MongoDB, though already a bit unsure it would have a long life there. Let me explain: I had left a consultancy that had its own in-house framework, only to now work with a technology that also wasn't very attractive to the market, like PHP.

Since the office on Faria Lima was close to the Superintendency's, I negotiated with the biometrics company's manager to work part-time, in the afternoon/evening shift, balancing it with the Superintendency in the morning and early afternoon.

My negotiation went well, and I kept up that double-workday rhythm for six months, until, one day, I witnessed a rather peculiar moment of the public sector at the Superintendency: the bidding process. The outsourced software consultancy's contract was expiring, and a new bid would be opened to decide who would take over the service from then on. That uncertainty over who would win the bid had been hanging over all the outsourced staff for weeks, stirring up all sorts of expectations and fears, especially the fear that the project wouldn't continue. A new company won the bid that had been opened. The winner could choose whether or not to rehire the outsourced staff already there, but that's not what happened. Given that, the company I was contracted through gave me two options: send me to a project in Alphaville, in Barueri, or let me go. I chose the latter.

Uncle Bill, finally paying the bills

Once I was let go, I started working fulltime at the startup, in early 2016, my first experience as an independent contractor too. After an office move to Vila Olímpia, I found myself right in the middle of the startup boom and did a lot of networking with companies across the pharmaceutical, healthcare, and fintech sectors, and other digital products on the rise at the time, like cryptocurrencies, overseas asset brokers, and all sorts of sharing economy platforms, riding Uber's wake, trying to become unicorns, with a lot of private equity capital flowing in.

Unicorn companies "are start-ups (early-stage companies with a repeatable and scalable business model through technology) that have reached a market value of US$1 billion — at least" [1].

Around that time, I also started an MBA (Master of Business Administration) in Software Engineering at the University of São Paulo's Polytechnic School, but I won't go into more detail so as not to open a huge parenthesis in this prologue — it's just worth mentioning that the point of the MBA was to earn a graduate-level lato sensu degree.

During my time at the startup, I ran into much more interesting challenges than before: I started actually using Git in my workflow, and I finally got to work with the whole, and only the, Microsoft .NET stack: Windows Forms, on versions 4.6.x at the time, C#, REST APIs (Application Programming Interfaces / Representational State Transfer) in ASP.NET MVC Web API, and WPF (Windows Presentation Foundation). Let's break it down:

wpf designer visual studio
Figure 1. The WPF visual designer in Visual Studio, with the MainWindow's XAML on the left and the interface preview on the right.

  • .NET Framework: Microsoft's development framework, Windows-only, the foundation for the technologies below.
  • Windows Forms: framework for building graphical interfaces for Windows applications, drag-and-drop style.
  • C#: strongly-typed, object-oriented programming language developed by Microsoft.
  • ASP.NET MVC: web framework for building web pages via the Razor markup syntax; SOAP APIs (Simple Object Access Protocol), through the WCF (Windows Communication Foundation) extension, or REST, through the Web API extension.
  • WPF: framework for building graphical interfaces meant to replace Windows Forms, also drag-and-drop style, but with a markup syntax through the XAML (Extensible Application Markup Language) language, based on XML.

net framework 45
Figure 2. The evolution of the .NET Framework: each version stacked new libraries on top of the Common Language Runtime.

That's exactly where I found myself, working with the tools I was genuinely interested in, in a period of intense learning in technology, both from working with what I liked and from being in an environment where, with practically no team, it was just me as the backend programmer and one colleague responsible for the Android app development. I had total creative freedom to decide how to apply engineering techniques that were new to me, like automated tests (unit, stress, and integration) and design principles, like SOLID and layered project separation. It was also in those years that I got into a richer set of readings, like the The Pragmatic Programmer series, by Andy Hunt and Dave Thomas, and the books by Robert C. Martin, The Clean Coder and Clean Code. It was also during this period that I attended many tech events, like TDC (The Developers Conference) and several meetups.

A few months later, after running into some personal obstacles, by mutual agreement with the company's management, we decided to end the service contract I provided, and I went back to testing the market once again 🌼. With considerably more experience and background under my belt, now fluent in the Microsoft stack, I quickly landed somewhere new: a consultancy whose main line of business was the insurance sector, and I was assigned to one of its biggest clients.

Orchestrating alphabet soup

The change, starting in the second half of 2016, was a big one: leaving the startup world for my first experience in the corporate world, with bureaucracy, processes, decades-old system integrations, dozens of teams just within IT, and technology restricted to a select group of companies, with knowledge just as secretive, like a cult. While I had built up technical knowledge from my previous experience, the lack of a team left me weak in political skills and teamwork. Now I'd have to work with developers far more experienced than me, with knowledge already well established in the business domain, especially when it came to claims rules.

Because I had a good command of .NET and learned fast, I was picked to take part in a high-visibility project at the company: rolling out the Oracle SOA Suite (Service-Oriented Architecture) platform, managing and orchestrating integrations between the various claims modules, and building a workflow interface so analysts and the approval chain could analyze, evaluate, and rule on claims and settlement processes.

This was a fairly complex project, since it involved migrating business rules from a monolithic in-company system, partly built in VB.NET, partly in ASP (Active Server Pages, which I really thought I'd never see again, a relic from the late '90s), over to components on the Java J2EE (Java 2 Platform, Enterprise Edition) platform, like servlets and EJB (Enterprise JavaBeans), and to the middleware itself: the ADF (Application Development Framework) interfaces for Human Tasks (an Oracle take on JSF, JavaServer Faces), the Mediators, for routing, filtering, and transforming data between different components, BPEL (Business Process Execution Language) and BPMN (Business Process Model and Notation) for orchestrating services and tasks, and the Business Rules, for building a set of rules executed at runtime, separately from the application code. Not to mention integrating with legacy systems via SOAP (Simple Object Access Protocol), WCF again, and its whole XML specification: XSD, XSLT, and XPath. I'll admit it: it's an alphabet soup of letters and terms. But it goes even further: all of this connected to on-premises Oracle 11c or 12c databases, versioned partly in SVN (Apache Subversion) and partly in Microsoft TFS (Team Foundation Server), both centralized version control models.

oracle bpel exemplo
Figure 3. A BPEL process in Oracle JDeveloper, orchestrating calls between services.

The quality leap

I did well, and quickly mastering that enterprise stack from Oracle earned me recognition. My situation improved: I got an offer to be brought on staff by the company, in mid-2017, no longer outsourced and now enjoying a career plan and better benefits. Taking advantage of that improvement, it was finally time to leave my studio apartment and rent my first real apartment. I also finished my MBA, and, catching myself reflecting on everything I'd been through, I realized that, at that point, life really had taken a big leap in quality.

livro oracle soa suite 12c
Figure 4. One of my theoretical study sources on the Oracle Suite toolset was this small 900-page handbook.

I spent the next two years in a steady routine of hard work at the insurance company, on my Workflows team. Curiously, that skill with orchestrating APIs (Application Programming Interfaces) would turn out to be quite valuable in future projects. The new phases of the SOA project kept expanding into new areas: I built management dashboards and updated some of the company's technologies, at the request of the American headquarters.

But work alone wasn't enough. I kept up a steady study routine, reading about Agile, Microservices, Enterprise Integration Patterns, and other software architecture topics, until I felt challenged to go for Microsoft certifications. To do that, I built a study routine based on Microsoft's own Exam Ref books and supplementary materials from Packtpub. In a year and a half, I earned three: the MCP (Microsoft Certified Professional), the MCSA (Microsoft Certified Solutions Associate), and the MCSD (Microsoft Certified Solutions Developer), in the areas of C#, ASP.NET MVC, and Windows Azure.

mcsd badge
Figure 5. My Microsoft Certified Solutions Developer badge, earned in 2019.

These badges may have little practical use nowadays, but the challenge of studying and going deep into topics that often get overlooked is an incredibly rich form of learning. Not to mention that, for me personally, it was my starting point for consuming material in English. Before that, I don't remember ever having read and studied 500-page books in another language. I'm grateful I made that call.

Back to square one, and new uncertainties

With all that knowledge in .NET development, Azure cloud, and also in SDLC (Software Development Life Cycle) tools, like VSTS (Visual Studio Team Services), later renamed Azure DevOps, I was called, in early 2018, by my very first employer, to provide external consulting on a new solution they were building: an omnichannel sales system, built entirely from scratch with Microsoft technology. I took on the challenge and pushed them toward building the architecture for this new solution, based on microservices, already on .NET Core 2.0.

I kept working both fronts in parallel, and in 2019 I opened up a new one: I started a Master's in IT at PUC-SP (Pontifícia Universidade Católica de São Paulo — Pontifical Catholic University of São Paulo), presenting a research project on the Internet of Things applied to São Paulo's basic sanitation, driven by the wish to one day have the chance to teach at a university.

I'd been at the insurance company for 3 years and a few months by then, and I felt a certain disconnect between my career expectations and how I was being valued professionally. I decided that this was the moment for another change, and, a few months later, I'd change contexts completely once again — and, of all things, go back to a startup-flavored company, but now taking on a different industry: healthcare. I could say I was pretty much a senior programmer by then, at least in attitude, with a lot more experience and exuding confidence in my technical skills and my ability to work as an individual contributor, thanks to the intense routine of juggling two completely different projects in technology, scale, and challenges.

I didn't know it yet, but once again the shot would miss its mark. And at an extremely delicate moment, too, since the year was 2020, just a few months after the first recorded case of SARS-CoV-2, in China [2]. From then on, nothing would be the same.

References

  1. Época Negócios: Inovação não é bagunça! A incrível trajetória dos 10 primeiros unicórnios brasileiros
  2. CNN Brasil: 5 anos da Covid-19: lembre o histórico desde 1º caso até fim da emergência

Profile picture

Written by Gustavo Aquino, Master of Science, Software Engineer, and founder of Decodifique.com. You can find me on LinkedIn.