I'm a skilled Software Engineer with 20+ years of experience developing web and mobile applications. During this time, I had the opportunity to work with a wide variety of technologies such as databases, programming languages, frameworks and libraries.
I possess a bachelor's degree in Computer Science and a post-graduate specialization in Software Engineering.
Building things using code is my job, yet not only that, but it is also a hobby that I enjoy and share with my son and friends. I'm passionate about bringing ideas to life, even if just for fun or prof a concept.
👨🏻💻 Work Experience
I started working professionally with IT at an early age. I had the opportunity to work with many different domains, from support to networking, infrastructure, system administration, development, team management, and even as an IT director. That gave me a fantastic view of the tech world.
I was fortunate enough to have a great environment with the freedom to learn and make mistakes in the early days of my career. And, after that, the opportunity to work in a tremendous government company helping to build public solutions that would impact the whole country.
Later on, I had the chance to accept a challenge to move to Canada and work in a new vibrant and constantly evolving startup environment. I could learn and explore new products and ideas, share the most diverse workspace, thrive in a new dynamic company. I enjoyed working in a fast-paced venture. Because of that, I decided to take another leap and move to a small local startup that a giant international corporation recently acquired.
BuildOpsStartup building the all-in-one operational software built for the modern commercial contractor.
After some time working with Microsoft stack and backend/web development and a bit away from mobile development, I decided that it was time to change and get back to mobile development.
Looking for opportunities, I got approached by BuildOps and the type of challenges that the application was trying to solve caught my attention.
BuildOps hired me to help drive the mobile application written in React Native. The application heavily relies on off-line capabilities to enable the technicians to work in the field.
The work also includes a fair bit of backend development using NodeJS, GraphQL and Rest APIs with all the infrastructure running on AWS services.
Telus AgricultureA Corporation that helps food production by leveraging technology innovation through companies/applications such as FarmAtHand and Decisive Farming
I joined Telus Agriculture through FarmAtHand, a small company from Winnipeg that the international group newly acquired.
My first goal at FarmAtHand was to modernize the code, infrastructure, and product by bringing a refreshed view from my previous experience at SkipTheDishes (a prominent local success startup).
Then I ended on migrating the infrastructure to a complete CI pipeline, hosting and autoscaling platform on AWS, suggesting ways to modernize the tooling, improving the development confidence, and facilitating the release of new features.
After that, we had a corporate merge with Decisive Farming assuming the FarmAtHand product. We became part of a bigger group with a new challenge.
With the merge and the stack switch, migrating from NodeJs/React/PostgreSQL/AWS to dotNet Core/Angular/SQLServer/Azure. I was assigned to build the new API for the revamped and integrated application, helping consolidate the standard adopted by all companies within the organization.
Skip the DishesSkipTheDishes is a technology company that enables food delivery in 500+ cities.
SkipTheDishes was the first (and only) company in Canada that I interviewed for while looking for jobs abroad still in Brazil. They hired me in November 2017 to work as a React developer after a remote interview process.
Skip continuously innovated and pushed changes to be faster, reliable, and competitive with an extremely fast pace and running in a competitive and robust market. It is a great environment to learn and experience how to build a high-availability product.
I had the opportunity to work with three different teams. With the Customer Team, we migrated the customer application from Python to React/Redux, including i18n, within three months, enabling SKIP to launch the platform in Quebec in French, hitting the market before the competitors.
My next team was the Ops-Core Team. Our team revamped the back-office system, automatizing flows and processes, providing a better tool to the operations teams, reducing costs and improving the overall network performance.
Later on, with the Ops-Courier Team, we crafted real-time applications to support the operations teams through chats and dashboards using GraphQL and AWS DynamoDB and Kinesis streams.
DATAPREVIs a Brazilian Public IT Company responsible for the systems and databases of all Brazilian Social Service.
DATAPREV was the second organization I worked for. However, it was also a public/government organization with a critical difference in getting hired. Reckon you might not be familiar with how the government employs in Brazil. In that case, it looks like that: First, you register for a public contest. Second, you take a written exam (sometimes nationwide with hundreds of thousands of other candidates). Third, the candidates with the best grades under the number of positions opened do get hired.
It is a humongous company, present in all 23 states, with 3 data centers and 5 development units, and a team with more than 5000 employees where more than one-third are developers. We supported and maintained several systems for the Brazilian Social Security Service and Employment Ministry and Economic Ministry.
The stack used at DATAPREV was what you would expect from big companies and government, enterprise-level technology, compliance, security, mainly using J2EE (EJB, JSF, JPA, JMS) and Oracle, always supported by these prominent vendors.
But in my last two years, we saw a movement to modernize the company. The population, and by extension, our government clients, were claiming quality and agility to answer the public needs.
Then I had the opportunity to help build our Agile methodology, including tools and techniques like BDD, code reviews, CI/CD pipelines. Along with that, we modernized our JSF-based applications to SPA and integrated our J2EE application using REST APIs.
My department was responsible for the coordination of this program. I led the training in modern web development tools like React and React Native and the creation of architectural guides, patterns, and documentation.
Vale do Acaraú State UniversityPublic University in Ceará/Brazil.
For short, Vale do Acaraú State University, or UVA was my first job and where I concluded my Bachelor's degree. I've worked there for almost 14 years, and I'll be forever grateful for the safe, innovative and challenging environment I had available to become an excellent professional. It was the place where I started as an intern and left as IT Director (and also e-Learning Director, but that is another subject).
My internship was to support internet users throughout the organization, but after a hardware failure and a shortage of people, I took tasks like configuring and maintaining internet and intranet servers.
By coincidence, a couple of years later, for the same reason, with another teammate, I migrated the educational software from a legacy Clipper-based application to a brand-new built with LAMP stack. Making it possible for the students to carry out their application for online enrollment for the first time at the University.
During the years, I faced many challenges and acted simultaneously as an analyst, developer, and sysadmin, since the University didn't have the means to improve the IT department. This picture changed in 2009 with a new government and a considerable investment in post-secondary education.
In my last year working at UVA, I spent managing a 22 contributors team, supporting all University IT services, including developing and maintaining more than 50 applications in Java and PHP and maximizing the budget ROI by negotiating contracts and acquisitions.
You might think that is a lot of technology to work with, but consider that it was over more than 20 years and more than 50 projects in 4 completely different companies. I tried not to limit myself and experiment as much as I could, without fear of changing team or project to help, learn and be challenged. Furthermore, I often accepted freelance work exclusively to acquire experience with a new language, new framework, or a completely different environment, navigating between frontend, mobile, backend, and even infrastructure work.
I like to think of myself as a T-shaped developer that takes a generalist approach to most tech but becomes a specialist in things that the works require. I believe this was crucial for me to help many companies, teams and projects during my career.