I find it very funny when anyone feels confident that they've figured out agentic programming, even funnier when they're trying to teach others how to do it. I've been working on OpenCode since May of last year and I still have days (like yesterday) where I'm not even sure any of this is a good idea lol
I end up landing on "yes, these models are an incredible tool" but it's still all very confusing, lots of tangled thoughts and emotions and realities.
I badly miss the mundane coding tasks that broke up my days/weeks, the ones where you put on the headphones and just bang out 600 lines of code. But, no question, replacing those hours of my time with a few minutes of waiting on an agent is a boost and worth being excited about, despite the mixed emotions.
Then there's the distance that can creep in between you and the codebase if you start getting apathetic. I think it's pretty common at this point to make even small changes by prompting the models. It's less friction than finding the relevant code and making the change yourself. And less friction seems to win, must be some law of the universe or some shit. When most or all of your interactions with a codebase start flowing through the models, you start to lose track of where things live, which abstractions/components are carrying the weight, etc. It's a scary feeling to wake up and realizing you can't even reliably @<mention> a precise file for a change you want to make, and you have to get more vague, leaning harder on the model.
It all creeps up on you, there's an undeniable dopamine hit from using these things, and the resulting come down is predictable, like coming off a sugar high. On the positive side, it's really nice seeing other devs go through the same cycles, knowing we're all in this together and we'll ultimately figure it out.
I am very excited about AI, but to go off-script for a minute:
I built an app with Codex last week. It was very fun. Then I started asking it for ideas for new features and at least a couple of them were better than I was thinking of.
I felt a little useless and it was sad.
My manager asked how long it would take to fix the bug.
I said two weeks.
It took forty minutes.
But now I have two weeks of buffer.
That's called experience.
Here's how it works.
Every estimate I give has a multiplier. The multiplier depends on who's asking.
My manager asks: multiply by 4.
A VP asks: multiply by 6.
The CEO asks: multiply by 10 and add "dependencies."
Dependencies are other teams. Other teams are always slow. Even when they're not involved. Especially when they're not involved.
Nobody checks.
The bug took forty minutes. I fixed it Monday morning.
I didn't tell anyone until Thursday afternoon.
That's three days of buffer.
Buffer is protection. Protection from the next ask.
Because the moment you finish something fast, they ask for something else.
Finish the bug in an hour? Great, can you also look at this other thing?
Finish it in two weeks? Great, take the afternoon off. You earned it.
I earned it by lying about how long things take.
That's not how they'd describe it.
They'd call it "managing expectations."
I'm managing expectations.
My expectations are that I don't want to work that hard.
When I was junior, I gave honest estimates.
"That'll take about two hours."
My reward? Four more tasks that day.
Then I watched the senior engineers.
They said "end of week" for everything.
Everything was "end of week."
A config change? End of week.
A one-line fix? End of week.
A meeting that could've been an email? End of week.
They were never stressed.
I was always stressed.
I learned.
Now I'm senior. Now everything is "end of week."
Or "end of sprint."
Sprint is two weeks. Two weeks is forever. Forever is comfortable.
Sometimes someone pushes back.
"Can we do it faster? This is urgent."
I pause. I look concerned.
"Let me see what I can do."
Then I deliver in three days instead of two weeks.
I'm a hero.
I wasn't faster. I was honest about the original timeline.
But the compression makes me look dedicated.
"He really hustled on this one."
I didn't hustle. I just stopped lying for a moment.
Strategic honesty. Delivered at the right time. After enough fake delays.
The best part is nobody tracks this.
Nobody says, "He estimated two weeks but finished in forty minutes."
They say, "He finished ahead of schedule."
Ahead of schedule.
I set the schedule.
I beat the schedule I invented.
That's exceeding expectations.
I'm exceeding expectations.
My performance review says I'm "highly reliable" and "consistently delivers."
I am reliable.
I reliably estimate 10x what things take.
And I consistently deliver.
Right before my fake deadline.
That's called being senior.
New engineers burn out because they're honest.
I padded my way to work-life balance.
My manager asked why I always seem so calm.
I said, "Experience."
Experience means I've learned to lie about time.
Professionally.
With a straight face.
And a buffer that could fit a vacation.
That's engineering.
Last quarter I rolled out Microsoft Copilot to 4,000 employees.
$30 per seat per month.
$1.4 million annually.
I called it "digital transformation."
The board loved that phrase.
They approved it in eleven minutes.
No one asked what it would actually do.
Including me.
I told everyone it would "10x productivity."
That's not a real number.
But it sounds like one.
HR asked how we'd measure the 10x.
I said we'd "leverage analytics dashboards."
They stopped asking.
Three months later I checked the usage reports.
47 people had opened it.
12 had used it more than once.
One of them was me.
I used it to summarize an email I could have read in 30 seconds.
It took 45 seconds.
Plus the time it took to fix the hallucinations.
But I called it a "pilot success."
Success means the pilot didn't visibly fail.
The CFO asked about ROI.
I showed him a graph.
The graph went up and to the right.
It measured "AI enablement."
I made that metric up.
He nodded approvingly.
We're "AI-enabled" now.
I don't know what that means.
But it's in our investor deck.
A senior developer asked why we didn't use Claude or ChatGPT.
I said we needed "enterprise-grade security."
He asked what that meant.
I said "compliance."
He asked which compliance.
I said "all of them."
He looked skeptical.
I scheduled him for a "career development conversation."
He stopped asking questions.
Microsoft sent a case study team.
They wanted to feature us as a success story.
I told them we "saved 40,000 hours."
I calculated that number by multiplying employees by a number I made up.
They didn't verify it.
They never do.
Now we're on Microsoft's website.
"Global enterprise achieves 40,000 hours of productivity gains with Copilot."
The CEO shared it on LinkedIn.
He got 3,000 likes.
He's never used Copilot.
None of the executives have.
We have an exemption.
"Strategic focus requires minimal digital distraction."
I wrote that policy.
The licenses renew next month.
I'm requesting an expansion.
5,000 more seats.
We haven't used the first 4,000.
But this time we'll "drive adoption."
Adoption means mandatory training.
Training means a 45-minute webinar no one watches.
But completion will be tracked.
Completion is a metric.
Metrics go in dashboards.
Dashboards go in board presentations.
Board presentations get me promoted.
I'll be SVP by Q3.
I still don't know what Copilot does.
But I know what it's for.
It's for showing we're "investing in AI."
Investment means spending.
Spending means commitment.
Commitment means we're serious about the future.
The future is whatever I say it is.
As long as the graph goes up and to the right.
Parece necesario un nuevo capítulo de educación cívica y electoral. Explico PUNTO POR PUNTO las denuncias de supuesto fraude.
Les pido ayuda para difundir, el tuit de Gasulla tiene casi 3 millones de vistas! 🤦♂️
Vamos? 🧵👇
💀-"Pues nada, aquí lo ideal es usar algo tipo docker, un contenedor vamos..."
🤔-"¿Contenedor? ¿Contenedor de qué? ¿de basura?"
💀-"..."
Venga va, que hoy te preparo un pequeño hilo sobre DOCKER y todos contentos!
¡Vamos allá! 🧵🧵🧵
Soy developer de casi 50 años. Creo que bueno en lo mío.
Pero ni así evito la ansiedad por la edad. Las empresas ya no me quieren. O al menos eso es lo que yo creo. Y a veces ese pensamiento me viene de noche.
¿Y si pierdo mi trabajo actual? ¿Qué haré con mi vida?
Yo creo que si, pero entiendo que la discusion nace por que no hay un criterio estandar para el rol de un senior, asi que cada empresa lo entienden en funcion a su propia necesidad y expectativas sobre su equipo.
Por ejemplo hay empresas que necesitan expandirse y creen que ese rol debe estar sobre hombros de los mas experimentados, por lo que asocian la experiencia con su capacidad de aportar a la empresa en su expansion, es decir, entrenar personas, tener equipos a cargo, aprender a dirigir departamentos nuevos, etc ...
Pero tambien hay empresas ultra especializadas que no necesitan expandirse sino necesitan mantener una competitividad tecnica y de innovacion, donde mover expertos a roles de gestion no es rentable realmente, por el costo que significa que otro miembro del equipo tenga todo ese know how tacito y el expertise especifico, donde un senior deberia ser casi un academico, un experto y aporte en mantener a la compañia siempre en la linea de la innovacion y ya contrataran otros perfiles específicos para las necesidades de gestion.
Entonces ... pensar que SIEMPRE un senior deberia de interesarle ... o supiera como ayudar a otros a seguir una linea de carrera ... creo que es un nice to have ... pero es un skill que no es obligatorio ... pues no hay nada peor que soft skills forzados ... nada peor que tener a alguien haciendo algo que no le interesa hacer y ... personalmente creo que tener a cargo la carrera de otras personas es una gran responsabilidad que deberia ser ELEGIDA ... no impuesta, sino solo tendremos terribles mentores que solo frustraran carreras, por que gestionar personas no es algo por donde les interese crecer.
No hay desarrollo más lindo que aquel que tiene ese pequeño fragmento de código que nos llevó horas hacerlo pero que no importa desde donde lo miramos es perfecto
A guide to the Nine Circles of Hell according to Dante's Inferno.
From the sins that will land you a place in each circle (including astrology and political corruption) to how you'll be punished and who else is already there...
Se acerca un nuevo #8M y con él, los datos de las brechas.
En la industria STEM, por cada peso que ganan los hombres, las mujeres reciben 86 centavos.
Mi informe para la @TV_Publica sobre el estudio de @sysarmy 2023
https://t.co/oBuTwLKo2I
Problem: You’re using TypeScript and you don’t want to manually define types for each REST endpoint response.
Solution: quicktype.
Paste JSON into quicktype, and it generates a TypeScript type. 🔥
Quicktype supports many other languages too.
https://t.co/GlDPFQ65OK