157 karma · joined September 17, 2021
Nah, surely Nvidia's market cap as the main shovel-seller in the 2022 - 2026(?) gold-rush being bigger than the whole French economy is well-reasoned and has a fundamentally solid basis.
I heard that argument for many years for many deep learning applications of significant value. Any day now, right?
For the last 2-ish years, companies found a way to throw supercomputers on a preprocessed internet dictionary dataset and the media gulped it up like nothing, because on the surface it looks shiny and fancy, but when you peek it open, it's utterly stupid and flawed, with very limited uses for actual products.
Anything that requires any amount of precision, accountability, reproducibility?
Yeah, good luck trusting a system that inherently just learns statistics out of data and will thus fundamentally always have an unacceptable margin of error. Imagine using a function that gives you several different answers for the same input, in analytical applications that need a single correct answer. I don't know anyone in SWE that uses AI for more than as a glorified autocomplete which needs to be proof-read and corrected more often than not to the point of oftentimes being contraproductive.
Tldr; it is exactly zero surprising that FSD doesn't work, and it will not work with the current underlying basis (deep learning). The irony is, that people with power to allocate billions of dollars have no technical understanding and just trust the obviously fake marketing slides. Right, Devin?
But the default is still a number natural number sequence. As if it matters for 99% of all cases that stuff is "ordered" and "easily identifiable" by a natural number.
But then you want to merge something or make double use and suddenly you have a huge problem that it isn't unique anymore and you need more information to identify.
Guess what, an UUID does that job for you, across multiple databases and distributed systems, a UUID is still unique with 99.9999% probability.
The one counter-example every 10 years can be cared for manually.
I had an offer from a Silicon Valley company that would have paid a lot better, but it wasn't full remote (or even hybrid) and I would have had to relocate. So I went into the less well paid no-name with full remote. I tried to negotiate at the beginning with the very real argument of a better paid offer, but they denied. Well, whatever I guess, I tried and full remote was more important to me (still is).
1.5 years later, I realized the environment was a bit too dysfunctional and toxic for my liking and I learned all I wanted there. Fished a new job quite easily a couple weeks ago (several offers), with a bit better pay and a nicer project where I think I can make a better impact and have a nicer environment.
Before I quit I talked with some people and tried to see if they may offer me a better salary. They wanted to keep me and were not happy about me quitting at all, but they were absolutely unable to offer me even just 10k more. What was a bit shocking to me is that HR tried to blame the workers and pointed to a "broken market" for SWEs. I was so taken aback by this delusion that I had no regrets quitting after and I will care even less about "doing it for the team" and I will certainly consider hopping more often again.
So, it highly depends on the company if you can negotiate. However, if you cannot even get the smallest of gestures towards your direction, then that's a pretty big red flag. I don't have regrets. With just 2 years of experience, I'm happy I learn these lessons early on.
My ultimate goal is to start my own company and I'm actively working on that on the side, so hopefully this farce of pretending to care making profits for other people will end soon.
But replacement? ChatGPT and GPT4 can't solve real world problems without heavy time investment of an engineer to prompt-engineer a semi-usable (if lucky) solution that still needs a lot of debugging (so coding yourself is still way faster for sufficiently complex things) and adjustment to your codebase.
Will people get left behind that don't adapt? For sure. That's always the case. If productivity is significantly increased with use of such AI tools, then those that won't use it due to whatever reason, including incompetence, will be let go eventually. All others will be fine, as always. This fear-mongering is actually good for us that can adapt, makes us more valuable.
Let's talk in 2030 again. Then in 2035. Then in 2040. And so on until we have AGI that generates you a new revenue stream just by reading the thoughts of a non-technical middle-manager, by which time we will probably have completely different problems.
People afraid of AI automating things just don't know how it works. I mean, no one does really, but if you went to University and studied AI, statistics, machine learning, deep learning and some of the variations then you'd know that that shit isn't intelligent or magic.
It predicts the most likely next tokens + some randomness based on what's in the training data. It can't do more than that. That it can conjure up well known algorithms and some variations of them that help solve some specific problems that "look complex" is not a surprise, but alas, a mostly useless party trick that scares some people apparently.
That's very good for you, be glad your genetics / environment enable you to not be hungry, as stupid as it sounds. I'm always hungry, I can always just eat until my belly hurts (with regrets after). I'm under control, do a lot of high intensity cardio and muscle training to increase my total metabolism and practice strong discipline to not overeat. I'm thin with some nice muscles now, but as soon as I let myself go and let "nature" take over, I'll gain weight again because I'm hungry and always was. I'm not complaining, my genetics / environment enabled me to do other things most other people can't do. Life is not fair and the universe owes us nothing.
All I can say is, the job market for data science, machine learning engineering and similar is heavily overcrowded. This means that due to competition (lots of supply, not so much demand) salaries will be (a lot) lower than e.g. software engineering. I didn't even bother going into the field, I heard enough horror stories from friends. Several of which got into high prestigious AI companies, for which they had to pass 6+ very challenging interviews and compete against hundreds or thousands of other candidates to get in. Yet, they get paid peanuts compared to what I now rake in as an SWE. When I do 6+ challenging interviews with a company for an SWE job, the least I (can realistically) expect is a TC of > $160k.
Sure, there's these mythical $500k+ salaries for data science / machine learning as well, but they are a lot rarer than for SWE, simply because the market is much smaller for them. So you're playing the game of trying to become a famous football player, where only the top of the top get dream contracts, the rest not in a long shot.
Money is not everything, true, but at some point you have to ask yourself what's worth more; chasing an elusive dream of meaning or focusing a little bit on your well-being as well.
I don't necessarily regret focusing on AI, but from a pragmatic point of view, I rather should have taken a couple more systems and cloud computing classes in hindsight.
Everyone thinks proofs are this holy grail and totally rigorous, and they are on a certain level. But the idea is floating around that Mathematicians are infallible when in fact lots of proofs in highly complex areas of mathematics are NOT 100% perfectly rigorous. They contain a lot of skipping, because "it's trivial" and consensus.
This approach may work very often, but there is a danger that sometimes it doesn't work and things get overlooked. Since mathematics is done in a bottom-up approach, at some point some fundament may or may not turn out to be wrong, which endangers parts built on top of it.
The whole movement of rigorous automated proof systems is to prove mathematics from the very bottom to the very top in a 100% rigorous and verifiable way.
Doing actual rigorous proofs a computer can verify is enormously tedious and many Mathematicians dislike it for that reason, because the inherently subjective "elegance" and "beauty" gets lost in translation.
I have 500 medium and hard leetcodes solved in the last year. Before I started grinding leetcode, I was terrible at leetcode (who would've thought). Same for Systems Design. I was terrible at it, got my ass handed to me in the first interviews it showed up. Okay, fine, go to the internet, find exercises, go through it. Learn the terms, the systems, the examples. Practice, practice, practice.
Nowadays, I pass leetcode and systems design interviews without a sweat. Behavioural interviews? Always the same shit, interviewers always want to hear the same boring story how magnificient you are but still humble and a team player. So you practice on 10 stories 100 behavioural interview question and focus on impact and teamplay. Takes a bit of time, but after that it's just choosing the right story at a given interview, easy.
Got an offer from Adobe which I rejected becasue they didn't offer full remote and got very far in the Google interview shortly before I stopped it, because they didn't offer full remote. Surprise, I'm now working full remote as a backend Software Engineer.
I have a ~50h week, of which is ~20h productive coding work, ~10h meetings, ~5h noise, ~15h for self-improvement, including leetcoding, design practice, APIs, frameworks, programming languages, general tech topics and whatever. Compensation could be higher (still, 75th percentile of salaries in my country), but I'm living well enough and can always join big tech later in life.
At the moment, I want to figure out if I can manage to build my own thing and life off of it. So, big tech can defintiely wait for another while.
What you can read out of that is; it's a grinding game. You suck at something, you start grinding it. Grinding means; do lots of exercises until you get good at it. You are stuck on a problem for 1+ hours? Look up the solution and understand it. Then a day later, you try again without the solution. Rinse and repeat until you are good. It costs a lot of time, especially at the beginning, but eventually, it gets easy.
People doing math and coding olympiads invest a lot of time into solving problems that prepare them well for those kinds of olympiads. There's prodigies, sure, but even they need to grind. If you don't want to invest the time to grind, that's fine, but there's no way around it. There's no shortcuts in life, especially if you're not born rich.