My work status hasn't changed since 2022 when I got all those recruit attempts. I log in at least once a week, thumbs up people's accomplishments and sometimes reply "Congratulations", same as I always did.
Other people I talk to said there has been a dropoff as well.
I remember Gnucleus and followed the release of Gnutella and used to read the old Gnutella Developer Forum on Yahoo where the major Gnutella clones hashed out the next steps for the network.
I agree - competition from BitTorrent lowered Gnutella's popularity.
Another thing about BitTorrent - I go to the Pirate Bay right now and look at top 100 for music, and "Pink Floyd - Discography 1967-2014" is one of the top torrents - 2.86 gigs, 131 seen seeds, 10 seen partials (seeds means they have 100% of the blob). You can download all their albums if you want, or one album, or one song on one album. Also most bittorrent clients have anti-leech constraints, so someone might start out accepting and sharing any part of that blob, making the one song they want a high priority request for them - they get the song they want quicker but they're also contributing to the torrent while they're online. So this sort of thing has all kinds of benefits for the network.
Whereas Gnutella tends to be look for and get one song at a time.
You are looking at this from your perspective, which is either pass or fail.
From their perspective, they might be interviewing, say, six people. As you say, they've already weeded out people from their resumes before they even get to the interview. From my experience, and I have heard people note this before, interviews tend to be a Gaussian curve with a normal distribution. People are weeded out by resumes and such. However, if I interview six people, usually someone slips through the cracks who knows nothing or next to nothing. That leaves the remaining five.
Of the five, four are usually interchangeable. They're like you - they get the technical questions right, or right enough. It's obvious they've been writing features for code for a company like yours. But of the five, often one person seems to not just know the easiest questions, or normal questions, but has a very good understanding of the subject matter. You keep probing how much they know, and they have in-depth knowledge about a lot of things. They know how registers on a processor work, they know about cache, they know the big O space of various algorithms, they can explain different approaches to concurrency in depth, or testing, or a lot of things. So you got the answers right, they just did better.
It could be something else - you might be just as good as someone else, but they were recommended by someone already on the team, or on an adjacent team, and they get brought in.
I guess personalities are on a bell curve as well. Maybe one out of six people fail on this. Maybe they're disorganized, or immature, or arrogant. Sometimes they miss basic social cues, or don't follow instructions, or even seem like they have a screw loose. Then four out of six people seem nice enough - professional but friendly. Then maybe one out of six just seems very sharp and smart, or avuncular, or what have you. A lot of it ties together - someone who has done the work to learn a programming language more than the other candidates, you assume is going to be hard-working on features as well, and they also seem sharp because they know so much (about IT, but other things as well).
Some things are contrasting. The hard-working person who knows the programming language in and out, and who gets a lot of feature work done is probably willing to sacrifice a little comity within the group to get a feature out. On the other hand, some people are so stubborn and argumentative, their presence would be a negative, even if they have technical skills. But some personality traits can contrast - I've working with friendly, supportive leads with great technical skills, but if they are a little bit hard charging this type of thing might be expected to come with the package of being very good technically.
I program at a non-tech Fortune 100 company. Our team is on a pilot program to try out AI-assisted programming at the company, and Cursor with OpenAI models are mostly what we are using. I have it integrated into my standard IDE workflow and try to write unit tests and the like with it.
I got a gig from who's hiring a few years ago. I also interviewed at some other places which were not a fit. Some places never got back to me. It has been a mix.
I went to a state school (cheap) and took one class a semester - usually at night, sometimes on a weekend. So I'd work until 5, then take a class from say 7 to 830 every Tuesday and Thursday.
In 2009 the economy sank and I was laid off. I was able to go back full time for a while. I was already enrolled and everything, I just started taking 4-5 classes a semester instead of 1, I was also able to take them during the day for a while.
$80k over four years is a certain amount, $80k over more years is less. I think I paid less per than $20,000 for a year's worth of classes. Some people got Pell grants and financial aid, although I just paid for it cash.
One thing I do is go to Leetcode, see the optimal big O time and space solutions, then give the LLM the Leetcode medium/hard problem, and limit it to the optimal big O time/space solution and suggest the method (bidirectional BFS). I ask for the solution in some fairly mainstream modern language (although not Javascript, Java or Python). I also say to do it as compact as possible. Sometimes I reiterate that.
It's just a function usually, but it does not always compile. I'd set this as a low bar for programming. We haven't even gotten into classes, architecture, badly-defined specifications and so on.
LLMs are useful for programming, but I'd want them to clear this low hurdle first.
I have been working in IT for over 30 years. What is happening is not new. Late 1999 was a very go-go time, early 2022 was a very go-go time. Alternatively, things were dead in 1991, in 2001, in 2009. Things were briefly dead in some ways for some people in spring/summer 2020 when Covid hit. 2022 went from go-go in the spring and summer to massive FAANG layoffs in November. Massive FAANG layoffs continue into early 2023, and things have kind of been stagnant since them. Things seem to have gotten worse at the beginning of this year, although it varies, some people with certain AI-related skills are doing well.
In 2000-2001, dot-com startups were hit harder than the rest of the economy. I worked for Internet startups and dot-coms from 1996 until the end of the summer 2000, where I started consulting for a large investment bank. I figured Internet-related startups were not going to make a comeback in the short term and I was right. The Fortune 500 was kind of starved for technical talent at the time, especially outside the Bay Area, so you could shift. There were some difficulties getting hired - I knew a lot about Red Hat Linux and Apache web servers and Java application servers, and I moved into a world of Solaris e4500 servers and NFS mounts and RAID 10 arrays and middleware. There were later shifts - for backend, things began shifting from monoliths and SOAs to microservices. Ruby on Rails was big from 2007 until 2013 until Javascript web front end began picking up more. Then native/hybrid mobile began cutting into the dominance of web front end. Now AI is coming in. So there are economic ups and downs, but what skills they are hiring for shift as well.
Unless society is entering some major transformative period like the 1930s, these shifts of the business cycle will keep happening. While the general tech market has been stagnant since November 2022, Nvidia stock has gone up 800%, as it has gone from the 15th most valuable company in the world (by market cap) to the 2nd, behind Apple. I have a strong feeling it will surpass Apple in the coming months and years as the most valuable company in the world. Programmers programming CUDA for them and whatnot, programmers programming Pytorch for FAANG and AI startups, and these kinds of jobs are open now, and in a few years companies might be offering $200k TC to people coming out of college who can program that. Or maybe LLMs will hit a wall in the short term and that won't happen. But something will happen - I've seen IT hit a slump a bunch of times and it always comes back (unless, as I said, we get into a situation like the 1930s).
> Sometimes that means making dumb business decisions like sacrificing an evening to a company that doesn't care, but IMO that sort of thing is worth it now and then.
I sacrifice an evening - but not to my company, but to studying Leetcode to move on to the next company. I also have side hustles that I devote time to.
> when layoffs come your next job often comes from contacts that you built up from the current job, or jobs before. If people know you are a standout contributor then you will be hired quickly into desirable roles. If people think you are a hired gun who only does the bare minimum that next role will be harder to find.
I am helpful to most people when they need help, and they remember this. My code is clean and well architected and well tested, and they can see this too. They also know that I know the language and platform we're using, and general programming (and business) knowledge. Few care whether I'm a "standout contributor" in terms of getting many stories done. Actually if I have a good lead or manager I might go above and beyond for them in terms of doing more.
> a company will never love you back. But your co-workers will.
Well, this is correct. I help my co-workers.
Things are situational. If I got a job helping set up LLM's or something, I might dive in and work a lot of hours just because I feel it is benefiting me too. On the other hand I can be somewhere where it doesn't make sense to work more than forty hours (if that) a week.
We say grind out Leetcode, because if someone can't do a Leetcode medium (or hard) like finding a cycle in a linked list in a few minutes, it diminishes their chances of getting into FAANG. It might be the bare minimum nowadays, but if they can't do even that, it is where they should start.
We're not telling people to grind Leetcode because we think Leetcode is great, we're telling people to grind Leetcode because this is usually one of the steps you need to do to get in.
> it’s much more realistic to start a business that is going to convince enough people to pay you enough to support yourself.
I only have to convince one place - Google Ads. Plus bring in the "eyeballs" with my free app, but I have accomplished that more than once.
> Also you have to convince companies to do business with you instead of a well known company.
Just one company in my case (actually several, but 90+% of the money comes from Google)
> Oh and to be competitive you need to have some type of funding.
I have to be competitive enough to make a few thousand a month, and with my programming (and database design, and UX, and SRE etc.) skills, I have achieved that.
> And you need to make enough to pay for health care.
In the US you do.
Corollary: This role can also be filled by someone of Asian heritage who was raised in the US, and who speaks English very well, as well as some Asian language proficiently.
I live in an apartment building and was given a fob that opens my apartment garage door and doors in the building. The fob takes specific lithium coin batteries and lately has been acting worse, I practically have to replace the batteries every day to use it. I had my Flipper Zero read the signals (the fob does one for garage door, one for the other doors) and I now use that to get into my building. Instead of having to buy two new lithium coin batteries every day, I just have to charge my Flipper Zero every few weeks. I heard the Flipper Zero had other uses, and I did scan some other things with it, but I got it in the hopes that it could handle my garage door, and it does.
I've been using ChatGPT (paid) and Perplexity (unpaid) to help with different coding stuff. I've found it very helpful in some situations. There are some instructions I give it almost every time - "don't use Kotlin non-null assertions". Sometimes the code doesn't work. I have some idea of its strengths and limitations and have definitely found them useful. I understand there are other AI programming tools out there too.
I worked in IT for a number of years without a degree, then went back to school. I had a discussion with some CS major seniors around 2011, who tended to be the more promising half of the class - I started talking about software version control. "What's that?" they said. "You know, like git or perforce or cvs" I said. "Git? What's that?" I hadn't even been programming before college, I was sliding rack mount servers into server racks and the like. I guess internships are where students would learn things like that, or independently.
On the other hand, I've worked with interns who were pretty good. One I knew had done a lot of side projects while going to school. He is now making about $300k TC, 3.5 years after his internship.
In the climate today, internships are the road to a job. People intern at a company between sophomore and junior year, and then another one between junior and senior year, and hope they have offers from at least one of the two on graduation (plus maybe a few more they applied to separately).
The IT job market has been tight since the end of 2022. I don't know what position someone who is ready is in, but just doing classes probably isn't enough. I tended to learn something in a semester, and then apply it after. Like I learned Java one semester, and during the semester started fixing bugs for a free software project that was online. Then I had a small program I wanted, and did it in Java. Similar with C++, computer graphics and other things - I learned it during the semester, then applied it during summer or winter break on little projects.
On a wider level, I wouldn't disagree the managers and owners of the field can make you work to death without caring about you and the like. On an individual level though, if people want to break in they need to do the right things, know the right things, and get a lucky break. I can say everyone I know who kept at it eventually got a break, but it can take longer than they wanted it to. Also, from late 2022 until now has not been a great time for new talent.
Something along these lines. Something with Javascript underneath. Probably React front-end.
Someone else had the right idea at looking at Linkedin and seeing what people are hiring for, but it would be difficult to become an FTE at a large company. You want somewhere willing to hire you from three months of study. One good bet is a startup that has not gotten angel/seed, but not VC funding yet, as they can't afford to pay market rates even for an SWE of average skill. Another is to work for a company that does consulting, as it is low commitment all around - they already have a place they can bill you for three months, and the billed company is getting you and a few others for three months, and at the end of that will keep whoever worked out and bounce whoever didn't. The bigger the "consulting" company you get into the better, it might be surprising how easy it can sometimes be to get in them after three months of study (although maybe not in 2022).
As others said, you have better options than these if your timeline is longer than three months.
Most shops are doing (theoretically) agile, and specifically scrum.
Where I work we are theoretically doing scrum, but it is the worst of all worlds. Tickets (I mean - stories) are very vaguely specified. While we get almost no specs for the stories, we are asked to point the stories, and are then held to those estimates. We have deadlines, even though the point of scrum is not to have deadlines. Also, the features often tend to be complex and incremental, so if I am off doing other work, no one can easily step in and work on the feature I am doing, so that there is the agileness to move me off the feature I'm working on to fix some fire, but not the agileness to have someone else work on the story.
"That's not really agile, that's not really scrum" - well, whatever. Most of the SWEs I know are in similar boats. It can depend, I did have a PM a few years ago who actually did spec out the stories more. I can get on my PM's back to spec out the stories of course, but I can also spend all day getting on everyone's back to do their jobs as well.
It's none of the benefits of waterfall, with almost all of the downsides. Plus the theoretical benefits of scrum like no deadlines or the ability to move people around like cogs is not something found either.
LLMs have been getting better - they were all pretty poor for my programming purposes a year or so ago, recently Perplexity (even the non-Pro version) and GPT4 have been helpful, and 4o is even better. I have been posting Leetcode hard problems into 4o and getting sensible outputs, something I didn't even try previously. Sometimes I do have to have it go through a few iterations, and I give it various qualifications (like keep to such-and-such time and space complexity or better). My usual instruction is to make the class or function more and more compact while keeping to the same functionality and time/space complexity.
I got 4o to give me a 33 line, relatively simple and understandable bidirectional BFS Kotlin function for this Leetcode problem which Perplexity (non-Pro) and GPT4 could solve, but not as well as 4o - https://leetcode.com/problems/word-ladder
Of course, even though these are Leetcode hard level problems, they are well-defined and relatively self-contained. I work at a Fortune 100 company and 99% of the time I can pound out the CRUD I do in my sleep - the difficulties I encounter are distractions, the CI server having some problem, the ticket/story I am working out not being fully specified and the PM is MIA that day, all teams are working on the feature at the same time and I need to find out what feature flags to have set and which test headers have been agreed on, the PM has asked me to work on something but some of what he says does not make sense in context so I have to ask for clarification etc. Then there's the meta-game of knowing what to prioritize, with one important component being what will make my manager happy so I get a good yearly review, and what I need to prioritize may differ from what my PM says to prioritize, or even more complexly, what my manager says to prioritize, but doesn't really mean.
Other people I talk to said there has been a dropoff as well.