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

Most Important Skills for a Software Engineer III at a Big Tech Company

Matthew, a Software Engineer III at Big Tech Company, emphasizes that while specialization is valuable, "general critical thinking" is paramount, enabling adaptation to unfamiliar tech stacks and bug identification in various systems, even for those with non-traditional backgrounds; furthermore, being a mentor, similar to how a teacher provides guidance to students, is crucial for fostering a supportive environment and solidifying one's own understanding, making communication and mentorship essential alongside technical skills.

Critical Thinking, Communication, Mentorship, Software Engineering, Technical Skills

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. Critical thinking skills are paramount; being a generalist who can apply analytical skills to unfamiliar technologies is more valuable than niche specialization.

2. Effective communication is crucial, especially in larger organizations, for understanding colleagues' work, knowing who to contact for help, and efficiently processing dense documentation.

3. Mentoring is surprisingly important; teaching experience translates well to explaining technical concepts and ensuring understanding, benefiting both the mentor and mentee.

Transcript

What skills are most important for a job like yours?

Critical thinking skills are essential. I can't emphasize that enough. There's a temptation for computer science or software engineering students to specialize in a specific language or platform. While having that is great, the goal should be to be a generalist.

This means using your critical thinking ability to tackle unfamiliar technological stacks. You can still offer value because you understand high-level patterns and where bugs might creep into a distributed system or code base. General critical thinking is key.

This is why people from any major can find a home in software engineering. If you have analytical skills and can generalize them to other settings, that is the job of a software engineer.

Communication is another crucial skill, and I'm learning this daily. It sounds broad, but there's a very technical aspect to software engineering. You need to communicate with others, understand their work, and know who to reach out to when you're stuck.

It's also important to discern what's crucial when reading documentation or code comments. You'll encounter dense material and need to glean the important information efficiently. This ability is hugely important.

Finally, being a good mentor is absolutely crucial. You want people to feel comfortable asking you questions. My teaching background has surprisingly benefited me in tech.

When explaining something or commenting on code, I switch into a teacher mode, like commenting on an exam or helping with homework. Explaining how or why something works a certain way is rewarding.

If you can explain something well, it means you're doing a good job and are convinced your work is correct. Being able to mentor and be mentored is hugely important. These are skills that are surprisingly top of mind for me daily.

bottom of page