It takes more than great code to be a great engineer. Soft Skills Engineering is a weekly advice podcast for software developers about the non-technical stuff that goes into being a great software developer.
Episode 422: Moving in to big tech and building support
In this episode, Dave and Jamison answer these questions:
-
A listener named Maria says,
Hey guys! I am a software engineer working in web development at a small/mid-sized SaaS company. I come from a non-traditional background (self-taught, no CS degree) and I currently have 6 years of experience under my belt, the last 2 years of which I have been tech lead of a small team.
I want to move into big(ger) tech, but I’ve not worked on any large scale systems so far. The biggest thing I’ve worked far had a user base of ~100k users and traffic would typically max out at ~2k concurrent users at peak times. Due to the nature of the work I’ve been doing at smaller companies (and also thanks to this podcast!) my soft skills are strong - I am good at working with lots of different people, I can deliver broad/vague projects, and I’m comfortable tackling ambiguous problems. I think my technical skills are probably decent, I’ve spent time learning system design and best practices, and I’ve put in the work to study CS fundamentals. Thing is, I would have absolutely no clue how to maintain an API that needs to handle 100k requests per second. My hands-on experience of concurrency and threading is basically just simple ol’ async/await.
Grinding Leetcode aside, what can I do to make myself a stronger candidate for breaking into big tech? How can I be competitive against folks who already have big tech experience? Are there any projects I could do that would sway you as a hiring manager? I know it’s terrible market timing, I am just planning ahead.
Love the show, thank you for making me a better engineer! :)
-
Hi! I have been working at my fully remote company with around 100 people in the engineering department for over a year now. While I see a lot of really smart people here, the code quality is lacking. We’re moving from a monolith powered using an opinionated framework to small services powered by a lightweight library, so there are fewer guardrails.
I have many ideas on how to structure the code, add layering, etc., so the code is easier to understand and maintain. However, the company is very hierarchical, and despite being at a senior level, I don’t talk much to anyone higher than my lead. There are no staff or principal roles. There are also hardly any meetings, and the only ones I attend are within my small team of five people. Most of slack channels for teams are private, and I don’t ever see company-wide ideas like that thrown in the “general” channel.
I initially wanted to present this to my team first, but I am afraid that if they don’t like it for some reason, it will be awkward to take it to higher management afterward. How can I share my ideas with a wider audience and ideally get this approved as part of my work so I don’t have to work on it in my free time?