Unless there's a fundamental change in how the technology works, it'll never get to the point you're talking about. We're still waiting on our self-driving cars, remember.
Also, when it comes to music, who are the people in the rock and roll hall of fame? Those who can play the guitar real good? Or those who crafted songs that people love? AI will never be able to do the latter. But, AI can play power chords better than any session guitarist. That session guitarist is going to have to learn how to compete in another way than his guitar playing skill.
I don’t think it’s a craft thing, I think it’s a speed thing. Senior engineers are faster in their existing workflows.
I’ve found ai tools most valuable for:
1. Quick “how to do x in y” language
2. Large scale refactorings that are mostly mechanical.
This still takes a bit of guidance to get the right output (and breaking down the refactoring an into multiple steps). But it does speed things up when I would touch 40-some files. I still review all the code.
Use onshape, it’s so much nicer to use something browser based than desktop based. If you’re a student it’s free.
Watch 2-3 onshape tutorial videos and then just dive in trying to make parts for yourself.
If you’re new to 3d printing you’ll soon learn that what you design doesn’t always print right. Welcome to creating things in the real world. This is part of the learning experience (and why you need to learn by doing).
Onshape also has a bunch of public cad designs, so you can look at how other people made things to learn (sort of like reading source code to learn).
I might be missing your point, can you elaborate? If you want to write an if statement you just do it at the end of a component, after the hooks. It's a common pattern.
Well, you can even block event loop in `async def` if you are not careful. When you are using `async def` you need to do all your IO (disk, network) operations asynchronously or your are blocking the event loop.
Engineers _should_ have leeway in how they resolve issues. As I read, though, you have a company policy which explicitly disallows the action you needed to take to fix the problem (if I misread, my apologies). Getting the stakeholders involved is the responsible thing to do when policies need to be broken.
Ideally, the way this kind of situation gets handled should be documented as part of a break-glass policy, so there’s no ambiguity. If that’s not the case, though, the business should get to decide, alongside the policy maker (e.g.: security), whether that policy should be broken as part of an emergency fix, and how to remediate the policy drift after the crisis.
If you’re all tight enough that you’re allowed to make these kinds of decisions in the heat of the moment, that’s great, but it should be agreed upon, and documented, beforehand.
There’s also folks that pair because they’re a crutch for one or two other engineers. The other engineers never improve or are let go, but softly slow down the team.
There’s also the folks that pair because their code doesn’t make sense on its own. Or they have some config files they’ve refused to check into the repo, etc.
> There’s... folks that pair because they’re a crutch for one or two other engineers [who] never improve.
I can imagine this happening if neither pair is all that good a communicator, and if the seniormost never employs a little Socratic dialog every now and then.
The tools are going to get better, and it’s going to lift everyone while doing so. But it will vary across task.
The bottom tier of engineers will have improvements to their code.
The top engineers will move faster. Top engineers will still be great at what they do.
—-
The same thing is happening in music. Everyone gets lifted but on different dimensions.
reply