> Maybe if we get very lucky, it will go back to a relatively few passionate people building stuff because it is cool?
This is a really narrow way to look at it and define it lucky. What you describe will absolutely be a shitstorm for everyone - passionate workers and non passionate alike. Management doesn't care about your passion, it cares about the bottom line. Lots of folks will get fired - passionate people as well, or see their salaries cut and their job security evaporate.
There's no winners in the scenario you described other than the employers.
Some people indeed identify too much with their jobs, but for many others getting replaced by A.I means on very practical terms - a huge hit in salary, it means possibly retraining - maybe for years, means stress to the family (mortgage, bills etc) perhaps even stress to the marriage.
I disagree that the people near you only love you or need you for your presence; they also rely on your paycheck. Your daugher may love you for you but she needs that check to the private school, that money for nice clothes and gadgets like her friends all have and paying for that apartment in the nice neighborhood.
As well, your point of view and it would seem the general default assumption in articles like this, is that people have families. We are in an unprecedented time of lonliness, there will be many people who if they lose their job they will have no support. Financial, emotional or logistical.
I know it's hard, but I guess it's a good idea to live below your means in case something happens, and also save considerably to face moments of uncertainty. People with tech salaries can do it. Most of the world (and country, independently of where you live) live with much less.
People can dehumanize you as well. I'm going through technical interviews now. While most people interviewing me are decent enough, even the nicer ones can look at their phones, get distracted/impatient or even start hazing you. Let alone how unnatural and stressful it is to start solving algorithms in front of two people. Also - the amount of constructive feedback I got from the interviews is zero, perhaps an A.I can do a better job at it.
No one really teaches people how to interview candidates and many see it as a drain on their time and do it reluctantly. In big companies the person giving you the 1st technical interview many times isnt even on the team you're interviewing for, sometimes he's not even in the same country. So it's not like you get to meet the team on such an interview, you simply go through a mostly awkward hour to hour and half solving some Leetcode question while the guy stares silently at your shared screen or worse stares at his own tabs.
I think the whole Leetcode thing can definitely be outsourced to A.I and I have no problem with it at all, in fact it might be more comfortable for candidates bombing in front of an A.I than in front of a person.
The more behavioral interviews (usually 2nd step onwards) are the interviews where there is real value in meeting the actual team (which Leetcode step is usually not part of) - has to stay human.
I have done interviews with companies that I generally thought were wholesome enough, but you can't control how individuals feel on certain days, they could be going through some dark days at home etc.
I'm not sold on AI interviews, but it could actually end up letting you fully share your experience more than a human could on average.
> Junior devs can indeed prompt better than some of the old timers
I guess? I don't really see why that would be the case. Being a senior is also about understanding the requirements better and knowing how/what to test. I mean we're talking about prompting text into a textarea, something I think even an "old timer" can do pretty well.
I've seen a few people I would consider senior engineers, good ones, who seem to have somewhat fallen for the marketing if you look at the prompts they're using. Closer to a magical "make it so" than "build the code to meet this spec, that I wrote with the context of my existing technical skills".
I'm not sure why junior engineers would be any better at that though, unless it's just that they're approaching it with less bias and reaping beginners luck.
> The majority of engineers, in my hiring experience, failed very simple tests pre-AI
Did you consider tech whiteboard / leetcode interviews are unnatural stressful environments ? Have you gone through a mid/difficult technical appraisal yourself lately ? Try it out just to get an idea how it feels on the other side...
I used to do online interviews with full access to Google or any online resource (so long as you shared your screen and I could see). Use your own code editor, no penalty at all for searching up syntax or anything else.
I always asked a simple question like here is an array full of objects. Please filter out any objects where the "age" property is less than 20, or the "eye color" property is red or blue. It was meant more as a sanity check that this person can do basic programming than anything else.
Tons and tons of people failed to make basically any progress, much less solve the problem, despite saying that they worked programming day to day in that language. For a mid level role I would filter out a good 8 or 9 out of ten applicants with it.
I would consider it a non-leetcode type of question since it did not require any algorithm tricks or any optimization in time/space.
Nowadays that kind of question is trivial for AI so it doesn't seem like the best test. I'm not hiring right now,.but when I do I'm not sure what I will ask.
Exactly my experience to, and I'm doing hiring at the moment. We used to filter out the worst with a hacker rank test, but now the idiots cheat with AI, and then we have to waste our time in an interview. It's difficult at the moment.
You're assuming the question has to even be that difficult. I've proctored sessions for senior-level webdev roles where the questions were akin to "baby's first React component" -- write a component that updates a counter when you click a button. So many candidates (who purported to be working with React for years) would fail, abysmally. Not like they were just making small mistakes; I didn't even care about best practices -- they just needed to make it work. So many failed. Lot of frauds out there.
I think some of this is probably attributed to being maintenance devs who don't build a lot of greenfield stuff. I got this way in one of my past jobs. I think us as devs really need to practice creating things from scratch from time to time. Working out those kinks is a good skill (less with AI) but also good practice for those baby components you'd need to make in an interview.
When I did tech interviews, I used to think I could just jump right in with an intermediate level question and go from there. But the reality is that most of the candidates I interviewed couldn't even answer a trivial question that just required a basic for-loop with an if-statement inside it. These are not pressure-cooker interviews where they need to balance a binary tree while having Baby Shark blasted at them on full volume. These are chill interviews where I ask them to iterate through a string and tell me where the first "x" character is.
There are so many software engineering candidates who literally cannot write the simplest code. I even had someone actually say "I don't really write code at my current job, I'm more of a thought leader." Bzzzzzt.
I've always prepared what I called level 1, level 2, and level 3 questions ready for candidates. But, I almost never even got to level 2, and never in 20 years of interviewing got to my level 3 questions.
I always wonder when people tell these stories exactly what the metric is.
I've been around the block for over 3 decades. I've had a number of high level positions across both IC and management tracks. These days I'm very hands on keyboard across a number of clients. If you asked me to write a basic for loop or if statement, there's a small chance I'd flub the exact syntax if writing on a whiteboard. Both because I bounce between languages all day and wires get crossed on the fly, but also the standard interview pressure type arguments. Whereas if the test is "does this person understand what a for loop is and how it works?", then yes, I can easily demonstrate I do.
In real life I'm not going to take an interview where there's not already that degree of trust so if that questions comes up something is already wrong. But I'm sure there are interviewers in the world who'd fail someone for that.
TBH I'm like that, but how hard could writing a React component be? I'm not even a React programmer but I can probably write working code on a whiteboard.
The best candidates would have that question wrapped up in 5 minutes. Like they're not even having to think about it, which is honestly all I cared about testing for -- do something really easy really fast so I know you're not BSing me, and then we can move on to just having a conversation about your past experience.
One of the worst guys took 20 minutes, with me having to coach him through it the entire time. It was a true exercise in patience, but I don't mind helping people learn new things. When he got his rejection email, he actually complained to the recruiter because he thought he did really well. Dude...
My version of fizzbuzz (I'm in backend/ML/NLP) is counting how many times each word appears in a string. Literally `return Counter(text.lower().split())` but it's totally fine if you want to do it in a for loop or whatever, as long as you can fluently write an incredibly simple function.
It’s been well over a decade that I’ve had to do the coding interview monkey dance and I actually turned down an offer where I did pass a coding interview because I found it insulting and took a job for slightly less money where the new to the company director was interested in a more strategic hire (2016). That was the same thing that happened before in 2014 and after in 2018 - a new manager/director/CTO looking for a strategic hire.
In fact even my job at BigTech -AWS ProServe (full time blue badge RSU earning employee) as a customer facing consultant specializing in app dev was all behavioral as well as my next full time job as a staff consultant in 2023.
I’m 51 years old and was 40 in 2014. If I’m still trying to compete based on my ability to reverse a b tree on the whiteboard even at 40, I have made some horrible life decisions.
(Well actually I did make a horrible life decision staying at my second job too long until 2008 and becoming an expert beginner. But that’s another story)
I can never get over how this became a thing. Was listening to a Brian Cox video on YouTube the other night (something about his voice helps me sleep). He said "I don't memorize formulas, it's easy to look them up."
If you ever need to reverse a b tree (in 30+ years of writing code, I never have) it's easy to look that up. It tells me nothing about your ability as a developer of real software that you spent time memorizing trivia before an interview.
I'd always heard inverting a binary tree thrown around as some kind of absurdly hard problem. I took a look at it and it was trivial. I was able to do it on the first attempt with no preparation. (And the point of these interviews is that you study for them, right?)
It's a contrived scenario, but the whole point is that it measures min(a,b) where `a` is your ability to think, and `b` is your ability to prepare (and memorize answers ahead of time). (I'd personally try to find ways to measure `a` instead of `b`, maybe by asking questions people wouldn't have heard before.)
I had an interview where I was asked to implement a data structure. I transparently told the interviewer I hadn't thought about that particular data structure since university, and that I was looking it up on Wikipedia to see how it worked before I wrote the implementation. I got that job.
Being able to reverse a binary tree isn't something you need to memorize. If you can't do that it tells me that you're not fluent in your chosen programming language.
A) how old the product is: Twitter during its first 5 years probaby had more work to do compared to Twitter after 15 years. I suspect that is why they were able to get rid of so many developers.
B) The industry: many b2c / ecommerce businesses are straightforward and don't have an endless need for new features. This is different than more deep tech companies
There’s a third one, and it’s non-tech companies or companies for whom software is not a core product. They only make in-house tooling, ERP extensions, etc. Similar to your Twitter example, once the ERP or whatever is “done” there’s not much more work to do outside of updating for tax & legal changes, or if the business launches new products, opens a new location, etc.
I’ve built several of such tools where I work. We don’t even have a dev team, it’s just IT Ops, and all of what I’ve built is effectively “done” software unless the business changes.
I suspect there’s a lot of that out there in the world.
I don't know. The idea is old and looks solid but the more I think about it the more I don't buy it; people have less good friends. Many people are estranged from family. Many people barely say hello to their neighbors. Maybe we should expend our limited energy on the people we do know instead of strangers waiting for the bus.
For me starting something with a complete stranger is draining; I need to overcome a psychological barrier (that's probably there for a good reason); so the risk is there. The reward ? I'm not sure. Some interactions could be fun, many could be boring and draining. Sure I could get better at this skill of talking to strangers with lots of struggle but the end game isn't really clear, it's not gonna flip my personality into a charismatic stranger lover. I could use the time to quietly stare at space or call my mom instead.
I think you're missing the part where interacting with strangers is also working the general socialization muscle. If you find yourself being more social in general, and give yourself the time to recharge, then you'll be better equipped to engage with those closest to you. You may even get lucky and add someone else to that circle
Yeah that's actualy part of my issue with this - socializing isn't super easy for me. It takes energy. Instead of "practicing" this muscle, I can simply use this skill on the people I'm supposed to use it on anyway - family, colleagues, friends etc. Instead of trying to get the person next to me waiting for the bus to talk to me I can call my best friend who I hadn't talked to in a month or more.
I see no point in practicing with complete strangers. But you know what, I'm 41, about to turn 42, perhaps my priorities aren't the same as young people still building their personalities. There could be real value in being less shy and not fearing rejection so much; however I would say - find a good venue. I don't think New York subway is the bests place to start practicing this...
Not only that, I have a feeling a lot of people are gonna be disappointed now they can implement their side projects in a week instead of 6 months. Finally - the thing is there, ready. And the likely outcome is
a) Almost no one but you cares and
b) Now that this has become trivial, there's no much joy in it. The struggle we had before A.I was the real joy; prompting agents for a few days and getting what you want isn't that joyful.
This is a really narrow way to look at it and define it lucky. What you describe will absolutely be a shitstorm for everyone - passionate workers and non passionate alike. Management doesn't care about your passion, it cares about the bottom line. Lots of folks will get fired - passionate people as well, or see their salaries cut and their job security evaporate. There's no winners in the scenario you described other than the employers.
reply