Table of Contents
Even though my academic training was in Electronics & Telecommunication Engineering, I’ve worked with software my whole career.
I like learning #
I like programming I like automating things
Already in the university, the subjects that excited me the most were the ones related to computer science.
Even before that, I was already fiddling with php, trying to setup a blog in the early 2000s. I started learning programming and fell in love with it.
Even though I’m most proficient with C#, I love learning new languages. This applies both to human languages and machine ones. I’m trying to learn a bit of German, Greek and Hebrew. I like to learn how to say hello and thank you in all the languages I have contact with.
I started in the software world knowing almost nothing #
My professional programmer career started in 2011, where I was invited to join a company called MicroIO. It was my first contact with “real-life” software, that was actually used by real people. There I worked in Java, PHP and C#, and my duties were mainly fixing bugs and adding small contained features. I also had the opportunity to work alone on a small project were I made all the design decisions. I only was there for about 1 year, but it taught me a lot about about how the software world works. It was there that I learned about version control (I accidentally deleted trunk on the SVN server), build tools, issue tracking/management, etc.
My most valuable lesson there was that even though I know next to nothing, I’m able to learn quickly. I’m grateful for all the people who taught me there.
From intern to Senior #
In 2012 I joined Critical Software, a Portuguese software company as an intern.
It was a company very focused on building processes and continually improving them. At first I found it to be to much bureaucratic, but in hindsight I see that it really adds value. I can see now that having a CMMI 5 rating really is something to be proud of. This does not mean that we always followed the process, nor that the process was perfect, but rather that we were focused on building and improving processes that worked for us.
I was very lucky to join a project that was in it’s infancy but grew to be very successful. I also had the privilege to work with very smart and ambitious people and together we built a product that I’m proud of, that thousands of people benefit from up to this day.
I started as an intern, but my responsibilities grew as quickly as I could handle them. In the 9 years that I worked there I assumed at some point most of the roles in a software team: Developer, QA, Scrum Master, Team Leader, Architect, Product Owner. I worked on the database, the backend & the frontend, I worked on the architecture definition, I worked in the setup of the on-prem infrastructure and I was there when we migrated everything to the cloud, I met with the clients to gather requirements, I did almost everything at one point or another. This was a great way to really understand the full lifecycle of a software project. Even though I probably have a developer’s mindset most of the time, I can now appreciate better other points of view.
As a team we made good and bad design decisions, and we learned that sometimes it’s more important to make a decision and deal with it’s risks than to try to design perfect solutions.
New business #
Even though I had a comfortable position, I always kept open to the possibility of moving to another company. To attract me, besides the monetary compensation, the offer would need to be about an interesting business and/or with a tech stack that was “new and shiny”. GlobalShares made me an offer and I was immediately interested in learning more about the equity compensation world. I had started to learn about Stocks and Options recently, and working on the field sounded very appealing to me. So from 2021 I’ve been working on a world leading player when it comes to equity compensation management. They manage billions of dollars in assets in more than 100 countries. They are trully a global company.
I like to think I’m a pragmatic programmer #
I really enjoy going into the details, squeezing every drop of performance out of the code I write, fiddling and optimizing the code until it becomes perfect.
But I understand that most of the time, being a great programmer isn’t about the code you write, but rather about the problems you solve. You cant be everywhere, and the more you learn about the business you are working in, the best you can decide how to allocate your time so that you are the most effective.
Still learning #
I really am grateful for the career I have. It really is extraordinary to be in a field where you are able to learn new things every day about the most diverse set of topics.
I enjoy learning. I want to understand things. This is the perfect job for me.