I realized something else AI has changed about coding: you don't get stuck anymore.
Programming used to be punctuated by episodes of extreme frustration, when a tricky bug ground things to a halt. That doesn't happen anymore.
Our intern just asked me why we don't use Kubernetes.
I said because we don't need Kubernetes.
He said everyone uses Kubernetes.
I said everyone TALKS about using Kubernetes. Most companies are running Docker containers on three servers and calling it a day.
We have 40 employees. Our entire infrastructure runs on AWS with auto-scaling groups. It works fine.
Kubernetes is designed for companies running thousands of services across hundreds of servers. We have twelve services.
But he read that Kubernetes is "industry standard" so now he thinks we're behind.
This is what happens when people learn from tech Twitter instead of actual experience.
They think every company is Google-scale and needs Google-scale solutions.
We don't need Kubernetes. We need our MySQL database to stop running out of connections because someone wrote a query that doesn't close properly.
But that's not exciting. Nobody writes blog posts about "I fixed a connection leak."
They write about "How we migrated to Kubernetes and saved millions" even though the migration cost more than they saved.
I told the intern he should learn why tools exist before learning the tools themselves.
He looked disappointed. He wanted to put Kubernetes on his resume.
Oh I remember the days I was working on some templates and I can't change a line in those (because vendor...), just add some bizarre CSS in my code to fix some weird stuff.
Becoming a dad has taught me a new kind of empathy.
When I hear a baby crying on a plane, or see a toddler melting down in public, or a thousand other things... I get it. I understand it now.
Shoutout to all my parents out there. You rock.
@mxstbr@Shopify@ryolu_ I know this is probably "secret" info, but do you the % of the code that is being kept after the prototype phase? I mean, if the prototype itself is the main delivery to devs, something (despite any other type of spec) will be kept, right?
Wouldn’t put it this harshly but I broadly agree. The skills you need to take a project from 0-80% are different than the ones that take you from 80% and beyond… and vice versa. The engineers who are good at both (and enjoy both) are rare. We need each other.
TS is such a massive part of web-dev right now and my bet are: This will start a new dawn of web-dev tooling not built in JS. We already have some of it built in Rust for example, but nothing so massive as TS IMO.
Omg please let us focus some of the energy of faster bundlers to faster test tooling. I can't believe people's just throw more machines on it and think its fine.
@coproduto Eu lembro até hoje de um dev que tinha se juntando ao nosso time para ser FullStack (BE era em Java) mas ele era zuado até o fim pq amava Python.
Hoje o sujeito ta vivendo é bem demais.
Ok, looking back at the blog post, this is actually more problematic than I thought.
1. Recommending current CRA users migrating directly to a framework is just bad advice. You are pushing them towards a lot more complexity than their current setup and greatly increases migration cost and risk.
2. This also cannot be justified by "they should use frameworks because routers and data fetching", because if they need these they likely already have implemented it on top of CRA with their chosen solutions. Instead of migrating that to frameworks that likely handle these concerns quite differently, the most obvious and straightforward path is to replace CRA with something similar in scope but more modern and performant.
I want to give React team benefit of the doubt, as I always do, but I truly believe this is terrible advice for existing CRA users.
Talking with an early-stage recruiter who work with most large VCs about what engineering hires they make:
50% backend (in popularity: TS, Python, Go, some Rust; but not strong pref)
25% fullstack (usually React+TS+RN)
10-15% AI/ML (backend generalists who know AI)
5% frontend