1,071 karma · joined May 2, 2012
E.g.
if (user.user_type === 'authenticated') {
// do something with user.name because the type system knows we have that now
}But they aren't moving nearly as fast as OpenAI. And it remains to be seen if first mover will mean anything.
It is still simply too early to tell exactly what the new steady state is, but I can tell you that where we're at _today_ is already a massive paradigm shift from what my day-to-day looked like 3 years ago, at least as a SWE.
There will be lots of things thrown at the wall and the things that stick will have a big impact.
(All state is stored in localStorage so you can come back to it :) ).
...but now it'll be exciting to let them bake. We need some time to really explore what we can do with them. We're still mostly operating in back-and-forth chats, I think there's going to be lots of experimentation with different modalities of interaction here.
It's like we've just gotten past the `Pets.com` era of GenAI and are getting ready to transition to the app era.
op doesn't like nate.
I always imagined if you could have some super mind build an entire complex system, it would find better solutions that got around limitations introduced by the need to make engineering accessible to humans.
If nothing else, my workflows as a software developer have changed significantly in these past two years with just what's available today, and there is so much work going into making that workflow far more productive.
This gives us the tooling to A.) burn through those faster. B.) solve more complex problems.
If your entire job as an engineer is “take tickets with very clear acceptance criteria and turn into component / basic business logic”, I’d be worried for sure. I was initially worried myself when all this landed two years ago, but using it daily and now building enterprise scale apps with it, I know we’ve got at least another decade or two before it’s able to tackle the full breadth of an engineers role.
If you're young, early career, and don't have dependents, you should absolutely prioritize in-office.
Otherwise, the calculus varies.
- It’s still very early. LLMs have only been publicly available for 2 years, copilots a little less than that.
- It’s mostly anchored on cold starts ie I’m creating something from scratch. Leveraging LLMs in existing and mature codebases is definitely going to pick up.
- The majority of devs aren’t really using these tools or using them to their full ability. It takes a lot of fiddling to understand the limits and strengths, but when you do, you basically stop writing code and write more prose.
I will be surprised if in ten years even a quarter of your keyboard inputs will be towards code directly vs directing your friendly coding robot.
When I was first onboarding to this project, I was tasked with updating a component and simply tried to find three of the words I saw in the UI, and this was before we implemented a straightforward path-based routing system. It took me far too long just to find what I was going to be working on, and that's the day I distinctly remember learning this lesson. I was pretty junior, but I'd later return to this code and threw it all away for a number of easily greppable strings.
[1] https://nypost.com/2023/02/19/doctor-insurance-companies-wan...