Okay, let's debug this logic. Google is AI-focused, true, but they're not a one-trick pony. Python's great for Al, but it's not the ONLY language. And mass-firing your Python team seems...counterproductive. Segmentation fault indeed!
Well it mostly still is a one-trick pony: ads. It has kept trying to not be a one-trick pony for a decade. In the latest report, Cloud and Hardware did add up to around 25%, so they are getting closer.
They've been trying to focus on AI, but with moves like this, their position in AI will likely end up matching their position in Cloud vs AWS/Azure.
CUDA is not C, it is a polyglot stack for GPGPU, using C++ memory semantics, with C, C++ and Fortran compilers, and anything else able to target PTX bytecode, including Julia, .NET, Haskell, Python JIT, Java,...
Yes, production code is C++, but the way the models are built is Python code, colab, save via Orbax/TF SavedModel, etc and then serve in C++. All (most, to hedge it) development is done via Python.
I don't directly develop the models, I played with some for fuzzing [1] and I'm working on security for them [2]. And, before joining GOSST, I was leading the OSS DevInfra team in TF. I still have the most number of commits made by a human [3] even after 2 days of leaving the team, though I see the next person only needs 4 more :)
Hello! Can I ask you for some random career advice? I am mid-career, in a low-level mgmt position but want to return to being an IC. My team's tech stack is Python and Kotlin, but in my position I don't get to code. I code for fun at home but it gravitates towards Python (as it is highly relevant for doing Deep Learning work). My question is if I ever go into a backend role, what language best lets me get into a deep tech position at a MANG. With Python's limited use in production in MANGS, I don't see how I'll pass the Leetcode coding interviews. I used to do distributed systems a long time ago and really miss it (Did professional work in C,C++, Java, Go and Erlang/Elixir but it has been a while). I have a child now that takes up a lot of time, so I can't invest in getting good (again) in too many languages. I also have generally bad memory (remembering all the functions in std lib in Java or STL in C++ is just impossible anymore). I generally love coding but my algorithms are pretty rusty too. Advice on how to pick a darn tech stack? Thank you.
It's not language, it's experience, network, and having a differentiator that makes potential employers say, "Wow, we need to hire brutus1213 for our team because they have a really unique skill at <X>!" (X could be Kubernetes, deep learning, Erlang, whatever... the more uncommon, the better though.)
To that end, focus heavily on whatever exists in the vertex of what you're good at (which did you like and excel at of those things you did?) and a growth area (example: Python, C++ and the multitudinous ways they continue to be used together in AI etc).
So you have to look at what existing leverage you have and build upon that foundation. It will be very difficult to get a role without getting some hands on experience back first, so where I'd start is, could you step down to become IC at your current job? I'd be more interested to evaluate a candidate doing Python/Kotlin that wants to move into something adjacent than someone in management who just wants to be a dev again.
I retired (after 18+ years at Google) last August, and as of that date A LOT of production code used languages different from C++ -- Go, Java, Kotlin, AND Python, plus a few more (Rust, Dart, and many others). In my successful, long career at Google I did use C++ (I had "readability" in C++), but rarely: only when "ridiculous scalability" was needed.
For example, collecting Stackoverflow posts about GCP products, and distributing the needed subsets of them among vendors and employees in tech support to potentially answer, comment, edit, vote on, re-tag, &c, used to be all Python (and the "scale" was a few hundred or thousands of posts and people at a time -- ridiculously small "by Google `production` standards", and perfectly adequate for the much-higher-programmer-productivity Python has always afforded... I know, because I did the vast majority of that coding, including maintenance, ongoing monitoring of performance, and VERY occasional optimizations if and when monitoring showed them to be desirable).
That was the core of my job for my last several years at Google -- I won't even list the many other NON-prototyping tasks I did in previous years (decades, almost), the vast majority of them in Python. And -- the majority of my performance reviews during those 18+ years were rated "exceeds expectations", so it seems that world-class Python skill (which clearly was crucial to me getting a hiring offer back in 2004, though, alas, visa issues delayed my start to early 2005) were extremely useful for at least some of us Google engineers.
Many parts of tensorflow required Python- at least when I worked there a few years ago, it was nearly impossible to compile XLA into a saved model and execute it from pure C++ code.
You seem to imply that Google won't have a Python team... Google replaced it with a cheaper (and quite likely worse) alternative. They are still going to do the same thing (at least they believe so). They aren't changing direction or anything like that.
It's unfortunate that we'll likely never know what was the actual reason they decided that the old team was... overpaid? overstaffed? overly something else?
Saving money on workforce isn't the most sound business decision. After all, workforce is what generates the revenues. If you buy cheaper workforce, you should be getting ready to also lose some revenue due to quality drop... well, in large brush strokes. Maybe, in some situations the product was overpriced and making it cheaper by lowering the quality does make financial sense... Hard to tell.
Yes, I admit that this was a little bit reductionistic. I was aiming it to be mostly a joke about the situation, didn't expect it to garner so much response
People are focusing on verbage and precision, but are missing the point.
Having a well-maintained Python tooling is essential for _any_ company who does AI. While smaller companies can get away with open source solutions, for bigger companies it is unavoidable to have teams dedicated to maintaining and supporting Python tooling.
This announcement is troubling, and may indicate one of the two: 1) Google is in dire situation, and there is no more fat to cut, so they are starting to cut muscle. 2) Google management is clueless and cannot discriminate between fat and muscle.
> Many researchers in AI in the mid 2000s deliberately called their work by other names, such as informatics, machine learning, analytics, knowledge-based systems, business rules management, cognitive systems, intelligent systems, intelligent agents or computational intelligence, to indicate that their work emphasizes particular tools or is directed at a particular sub-problem. Although this may be partly because they consider their field to be fundamentally different from AI, it is also true that the new names help to procure funding by avoiding the stigma of false promises attached to the name "artificial intelligence".[49][50]
Poorly, in most cases, via various flavors of JavaScript and derived frameworks therein. Sometimes with additional overhead referred to as "targeting" which gives a worse outcome and user experience, regardless, over simpler implementations that serve to inform. Targeting forgets causality, typically.
Next comes YELLING-LOUDLY-TO-COME-DOWN-TO-THE-LOCAL-CAR-DEALERSHIP-FOR-NO-MONEY-DOWN-OFFERS phase of advertisements, which type are also routinely and nearly uniformly ignored.
Sounds like you should start a trillion dollar ad business! Or if you're worried about ethics start a "niche" billion dollar ad business that only serves ethical ads!
Did you miss this?
> ... and you're asked to onboard their replacements, people told to take those very same roles just in a different country who are not any happier about it.
Why, exactly. Do you not have the ability to take information and draw conclusions on your own -- like a functionally mindless automaton lacking a frontal lobe?
> take information and draw conclusions on your own
That's exactly what I did do. I don't approve with your kindest choice of words, nonetheless you, being a lucky sperm, also have the right of free speech
What people / HN don't understand is does the work they do really a 10 person $5Million per year value to Google or can it be done by Two really smart Python Experts.
The problem with Tech layoffs is not that they weren't doing important work, it is that there were large teams to do what essentially can be done by two-person teams.
That really doesn't jive with this description of how much they were doing. Let me guess, this mythical two person team could also build Twitter and Uber over a weekend?
They built a prototype (probably in Rails, lol). Thousands of people built Twitter, including many who have never written a line of code in their lives.
> it is that there were large teams to do what essentially can be done by two-person teams.
You're mistaking their intent, they are actually okay with less work being done. It's a desire to simply hit the reset button and see how much money they can save, and how much they need to build up the team again. They know it harms productivity but maybe something cheaper will come out of it. They are gambling.
Google's future is strictly tied to its AI products
All AI is written with Python.
Google lays off all Python team.
Segmentation fault