Is the tech stack at any given FAANG irrelevant to most people? I see so many great posts and TC advice here, as well as the importance of having a good manager and WLB, but noone ever mentions so much as a programming language. I used to adhere to the philosophy that PL is secondary to being a good engineer, but have since changed my mind completely, as I don't think it's actually possible to be a good engineer in any given language without spending some serious time learning the best practices of a given language, not just how to write a hello world through Stack Overflow and keep winging it. Am I being silly by limiting myself to opportunities in a select set of languages, like C, C++ and Go? Is all SWE just politics at the end of the day, and being proud of your work well done is pointless and not appreciated? #engineering #software #swe #programming #language TC: 250k@SDE-II, Third Coast / remote
Quality engineers can work in software using any language. You are not expected to know all the languages, but you are expected to understand programming and software concepts so that it’s easy to learn and use any language as the job requires it I started out of college knowing only Java and somewhat Python. Over the past 5 years I cut my teeth on and successfully worked using C++, C#, CMake, Gradle, Terraform, Groovy, JavaScript, Ruby, Windows MSI installer, bash scrips, command prompt scripts, and more. That list doesn’t include all the non-language technologies and concepts which have the same philosophy - you need to be able to learn them as you run into them
I've been doing programming for over 10 years, and it was only recently that I've changed my mind on this PL issue. One interesting project I've had to deal with is professional Java developers doing a brand new project in Go. The whole thing "worked", but the code was total garbage, and wasn't accepted by the client, because it was essentially buggy Java code written in Go, with every single Go convention violated. (Meanwhile, I was assured that all of those Java developers were senior engineers.) I've also used Go myself in one project before actually learning it, and it was only after the project has ended, and I took the time to actually learn Go properly, that I realized how much stuff I was missing. As such, if a quality engineer never spends serious time learning a given language, they'll simply not be capable of using it effectively; possibly not even knowing their own shortcoming. Most enterprise code is of a very bad quality precisely for this reason, because people not familiar with the language are given a free rein at it; often without anyone on the team actually knowing the language.
I agree there’s a place for deep expertise in a single language. There are times when serious optimization is needed and absolute best practices are a must. In these situations, understanding a language deeply is super important But I would argue that is the minority of developers. And even then, the languages vary. Sometimes that situation is a video game written in C++, or a highly important cloud service written in Go or JavaScript. But the fact that the language can vary even for the deep expertise situations brings us full circle to “the specific language doesn’t matter”, it’s more important that you can become an expert at the language being used
Tech Industry
3d
41030
What happens when most of your team is Indian?
Tech Industry
4h
683
Question about women in their 30’s?
Tech Industry
18h
1606
Why doesn't OpenAI offshore and reduce expense by 80%
Tech Industry
Yesterday
639
Google will dominate and be the most valuable company on Earth
India
Yesterday
1492
Ideal indian parents
Certain languages tend to fall into buckets, eg C/C++ for embedded, Java for enterprise backend, Go/Rust for modern systems programming, C# for Windows stuff, and so on. So it matters to that extent, although some places do break the stereotypes.