I think there is a confusion here between Coding and Programming. I think what is described here as "Async Programming" is just programming the way it should be which is different than coding. This is what Leslie Lamport pointed out a while back [1] and recently [2]. According to him programming has 3 stages:
1- Define what task the program should perform
2- Define how the program should do it
3- Writing the code that does it.
Most SWEs usually skip to step 3 instead of going through 1 and 2 without giving it much thought, and implement their code iteratively. I think Step 3 also includes testing, review, etc.
With AI developers are forced to think about the functionality and the specs of their code to pass it to AI to do the job and can no longer just jump to step 3. For delegating to other devs, the same process is required, senior engineers usually create design docs and pass it to junior engineers.
IMO automated verification and code reviews are already part of many developers workflows, so it's nothing new.
I get the point of the article though, that there are new requirements for programming and things are different in terms of how folks approach programming. So I do not agree that the method is new or should be called "async", it's the same method with brand new tools.
I was Senior before interviews, I was mainly targeting Staff level when I was interviewing.
No convincing needed, I had enough experience to get to Staff level. With Startup I asked them for level up but they said they had limited number of positions and all they can do is Senior at a higher end of it, and can't do Staff.
I worked at the startup for a few months before the other offer was finalized. So I have a chance to get to know what it feels to work at the startup as well.
one thing that stands out to me is "Senior engineer" vs "Staff engineer" position. I was in the same boat 2 years ago and had to decide between a startup who hired me as "Senior" with a lower salary with the promise of exiting big where I loved the job and there were many smart people around me, but then I got an offer from a big tech as "Staff" level with almost double the offer and benefits. I had a really hard time to decide, but ended up going with the latter even though the startup job was my passion. However, to my surprise the big tech position helped me to grow in ways that I could not even imagine.
Because it was a higher level position I had to deal with larger scope problems, I started learning about strategic thinking and dealing with large number of teams and learned to lead and be a thought leader. The people are also smart and turned out to be super nice and helpful and used every opportunity to help me grow. Now when I look back, I don't think I would be happier in the position where I thought it matched my passion, as the other unlocked a new point of view and a different perspective and opportunities. So aside from the money and benefits, make sure you are choosing the one that benefits you the most from different angles, passion and salary is just one angle.
Most SWEs usually skip to step 3 instead of going through 1 and 2 without giving it much thought, and implement their code iteratively. I think Step 3 also includes testing, review, etc.
With AI developers are forced to think about the functionality and the specs of their code to pass it to AI to do the job and can no longer just jump to step 3. For delegating to other devs, the same process is required, senior engineers usually create design docs and pass it to junior engineers.
IMO automated verification and code reviews are already part of many developers workflows, so it's nothing new.
I get the point of the article though, that there are new requirements for programming and things are different in terms of how folks approach programming. So I do not agree that the method is new or should be called "async", it's the same method with brand new tools.