About me
Hi, I'm Guilherme. I'm a software engineer at IBM, where I work mostly with Node.js, React, and React Native. My main responsibilities are to develop and maintain web and mobile applications for the company and its clients.
Currently, I'm leading the development of a React Native app for a major player in the technical support area in Brazil, while also working on a web application written in React for the front-end and Node.js for the back-end for the same client.
Outside of work, I like to learn new things and improve my skills, while staying up to date with the latest technologies and trends. I'm also starting to get into the world of open source and doing some contributions to projects that I like and use daily.
When I'm not coding, I'm probably playing videogames, watching sports or hanging out with my friends.
Open source
While I'm still new to the world of open source, I'm trying to contribute to projects that I like and I hope to be able to fill up this section with more projects and contributions in the future.
- Node.js: I helped to translate the new Node.js website into Brazilian portuguese with more than 1900 words translated.
- Cal.com: Fixed a visual bug on the website where all items on the sidebar weren't wrapping, causing the text to be cut off.
- Zeego: Added documentation for a new feature to unblock a pull request.
- Expo: Fixed a typo on the docs.
Work history
Software Engineer II at IBM (2022 - current)
- Leading the development of a React Native app, improving the NPS and the development process by implementing CI/CD pipelines and automated tests.
- Working on a global project with a team spread across the world that is changing how inner source is done at IBM.
- Developing reusable and maintainable components for mobile applications.
- Transforming business rules into accomplishable, easy-to-understand, and well-scoped user stories for my teammates.
- Ensuring the applications are accessible following the W3 WAI guidelines.
- Working with the design team to ensure the applications are pixel-perfect, easy to use, and follow the IBM Design System.
Software Engineer I at IBM (2021 - 2022)
- Wrote structured, tested, readable, and maintainable code.
- Assisted in developing and implementing systems architecture designs, patterns, and approaches.
- Designed and developed custom components in 4 distinct projects with different stacks, from web to mobile, from backend to frontend.
- Implemented monitoring for servers and mobile applications.
- Developed REST and GraphQL APIs.
Software Engineer Intern at IBM (2020 - 2021)
- Provided support for legacy applications.
- Developed new routes for our APIs.
- Assisted in the management of application containers.
Commercial Sales Operations Student at IBM (2019 - 2020)
- Created macros for spreadsheets.
- Managed the technologies used by the office.
- Created reports for the sales team.
- Provided support for the sales team.
Recognitions
I'm proud to have been recognized by IBM as a top talent on the CIO organization since 2021. With this recognition, I've been able to participate in some events and training with other top talents from the company.
My setup
I'm currently using a MacBook Pro 16' (M1, 2021) for coding and any flat surface as a desk. I don't use an external mouse or keyboard because I actually like the MacBook's keyboard and trackpad and feel very productive with them.
I'm using the default terminal on macOS with spaceship as my prompt and Oh My Zsh as my shell. I use VSCode as my main editor, with the Dracula theme and the Fira Code font. I tried to use Vim, but I just couldn't get used to it and felt like my productivity was going down, so I switched back to VSCode.
I use Arc as my main browser and I really make use of the workspaces feature, having one workspace for work and another for personal use.