gtag('config', 'G-6TW216G7W9', { 'user_id': wix.currentUser.id });
top of page

Main Responsibilities of a Software Engineer III at Big Tech Company

Matthew, a Software Engineer III at Big Tech Company, spends the majority of their time "implementing and designing specs for software that will be used in distributed systems", primarily through coding in C, C++, and SQL and debugging distributed systems across various teams and repositories. A significant portion of the role also involves project management-like tasks, such as estimating delivery timelines, identifying potential blockers, and ensuring all necessary resources are available for timely product delivery, balancing innovation with "keeping the trains running on time for the products and features that already exist."

Software Engineering, Distributed Systems, Debugging, Project Estimation, Communication

Advizer Information

Name

Job Title

Company

Undergrad

Grad Programs

Majors

Industries

Job Functions

Traits

Matthew Gagliardi

Software Engineer III

Big Tech Company

University of San Diego

U.C. Berekely . M.A. mathematics

Mathematics, Data Science, Statistics, Philosophy

Arts, Entertainment & Media, Technology

Product / Service / Software Development and Management

Took Out Loans

Video Highlights

1. Coding and Debugging in Distributed Systems: A significant portion of the role involves coding in languages like C, C++, and SQL (approximately 60-70% of the time) and debugging complex distributed systems to prevent issues from impacting customers.

2. Estimation and Project Management Skills: Engineers need to develop skills in estimating delivery timelines, identifying potential blockers, and optimizing solutions, which is considered a challenging but crucial aspect of the role.

3. Coordination and Communication: The role requires substantial communication, including attending meetings, going through emails, and coordinating with various teams and individuals to ensure timely product delivery and address potential pain points.

Transcript

What are the main responsibilities within your role?

My main responsibilities consist of implementing and designing specs for software used in distributed systems. About 60% of my day is spent coding in languages like C, C++, and SQL.

The rest of my time involves a lot of debugging. This includes not just local code and compiler errors, but entire distributed systems. I focus on understanding how systems spread across several repositories and teams might break down.

My goal is to fix these issues before they impact customers. As an engineer, I also need to develop skills in estimating delivery timelines and identifying blockers.

I also work on optimizing solutions to solve several problems at once. A challenging part of my role is understanding if all necessary components are in place for a product's timely delivery.

This involves knowing who to reach out to and anticipating potential pain points. It also means going through emails, participating in calls, and attending meetings.

In summary, my responsibilities involve innovating and developing new products while also maintaining existing ones.

bottom of page