Ever wondered what a day in the life of a software engineer looks like? Meet Gabriel Costa.
Gabriel joined the Mixmax team in July, and we interviewed him to learn more about his experiences so far as a software engineer.
For Gabriel, engineering is a way to build things that help others. As for us, we’re thrilled he’s here.
Describe your journey to becoming a software engineer. How’d you get here?
It really wasn’t a deliberate decision, and kind of happened naturally. I was always curious as a kid, and always liked to build, fix, or tear things apart to see how they work. This was also true with computers. At around twelve years old I built an “unofficial” (cough definitely-not-pirate cough) server of a popular MMORPG so my friends and I could play together (MMORPG = massively multiplayer online role-playing game). And without noticing, I fell in love with the feeling of building products to make people’s lives more enjoyable. My journey started because I was an autodidact driven by curiosity, which I still am today. But I also went to a technical high school and later to college to improve my skills as an engineer.
What does your day look like at Mixmax?
I like to start my day by catching up on email, Slack, and any pending code review that was assigned to me after I disconnected the day before. All alongside a cup of coffee, of course.
After that, it's time to hit the ground running. I’ll usually finish my pending work if I had any, and if not I’ll start working on a new task. I typically choose one based on our team’s highest priorities for the current sprint. The tasks vary broadly. In some jobs, the industry default task is repetitive: "Read the Jira and go ship code." But the great part of working on this team is at Mixmax, engineers are encouraged to work on every part of the product. We get to build our development muscles on a variety of tasks, and we’re asked to question the direction of our products and change it when necessary. We exercise teamwork and creativity every day around here, which also helps create a team with fewer "silos" around product areas.
During the day, I may ask or get asked to collaborate with a coworker to solve a difficult problem, troubleshoot a behavior, or get/share context. Lending or borrowing a brain can be really helpful sometimes. And the collaboration always makes for a good feeling of teamwork. Everyone feels welcome to share and I think we all unconsciously raise the bar for each other day after day.
At some point in the day I’ll eventually schedule some time in between sprint tasks to work on my “10% time” projects. Or, I’ll work on something to enhance a product in areas or subjects not necessarily tied to a sprint.
Any industry heroes?
I don't really believe in heroes. At the end of the day, we’re all regular people. But I do really enjoy the work that a couple of folks put out. More specifically, I enjoy reading about them to understand the way they think and have their thoughts inspire mine. Honorable mentions include Pieter Levels, Martin Fowler, Brad Frost, and—if you happen to speak Portuguese—Fabio Akita. When I hear different ideas from different people in the industry, I feel powerful. The paths in technology that they’re trailblazing mold the shape of our modern society at an incredible pace. The amazing part is that the people behind the scenes building these changes are you and me.
What’s one thing you’ve learned while working that isn’t taught in school?
In school, we learn a lot about things like data structures, architecture, and networking. These are valid and important subjects to understand. But as engineers in the workplace we also need to remember that we are always building something for someone.
At surface level, you might think that our main job as engineers is shipping code. But actually, our main job is to guarantee that our users are successful and have a good experience with the code we ship. User happiness and success should be as important a metric as QPS or average response time. And I’m really happy to be part of a company where user satisfaction and success is paramount throughout the organization.
What’s been your favorite project so far with Mixmax?
So far, all of my projects have been fun to work on. I've had an amazing degree of freedom and ownership to develop and provide solutions to the problems we’re trying to solve. Most recently, I got to rewrite a high usage workflow in a new architecture. The experience enhanced our salesforce integration and pushed me to know more about the product and how to solve complex integrations at scale.
Favorite way to spend a day off?
Connecting with friends and family and just having a good time. Or, I take advantage of living by the coast and spend time outside by the beach or take my dog for a swim or walk. I especially try to stay offline.
Any advice for new engineers, or engineering students?
Surround yourself with people who have the same drive as you. Have a side project with these folks where you solve a real problem for a real person. Side projects keep you inspired, creative, and push you into learning new skills. And receiving positive feedback on something you built is an empowering feeling that you’ll get addicted to. But remember to also enjoy the journey—you should feel enlightened, not burnt out. Do a side project that's not tech-related from time to time.
What does your ideal project team look like?
The team we have right here is pretty much my vision for an ideal team. A dream team for me is one with people from different levels, backgrounds, and cultures, that help each other and give and accept feedback. Diversity really fosters a culture where we extract the best from each other. The best teams are not too big and not too small. A good mid-sized team works at a high velocity while maintaining easy communication.
At Mixmax, we hire talented individuals with a passion for helping others. Interested in what your career could look like? Join us