The iPod happened. Smartphones went mainstream, gaming stopped being just for kids and men in basements. A lot changed with the adoption of tech.
The Social Network movie was indicative of a big shift in how the public felt about nerds in tech. It might not have shown Zuck in a particularly positive light, but the fascination was there. Same goes for the passing of Steve Jobs.
Felt like everybody had an idea for an app about 12 years ago, even though most of them were bad or already done! Also seemed like a lot of teens were going to college to "learn to develop apps".
The seeming accessibility of consumer technology brought down the perceived barrier of admission to doing things with tech.
I think tech is currently undergoing a long overdue culling period. I recall one in 2001ish and in 2008ish. All the people who got into it because of the money and don't particularly care for it will move on. Some people who do care for it will also get culled. It's not pretty.
One of the things that annoyed me about this field is the obsession with ones career and over-the-top manufactured enthusiasm for very mundane projects. Sometimes a job is just a job.
I don't live to work anymore, I work to live.
I still get stellar marks at work, i know my shit and i'm good at it. But the illusion has worn off for me. It's just a job. I meet deadlines, but I also push back on deadlines that require crunch time or weekend work. I push back on weekend or late time work completely now. I'm not embarrassed anymore to say "I don't want to work on the weekend, and its unreasonable for you to expect me to, so that project will get done next week".
My job is a means for providing for a comfortable retirement, and a comfortable life. I enjoy tech, but I enjoy my hobbies more. My hobbies keep me healthy and happy, work doesn't do either of those two things. Work is work, that's fine. But let's call it what it is. Let's not forget to live too.
Balls the size of spacehoppers. I love it.
Unfortunately FAANG rating systems aren't great and often reward vanity projects going nowhere over the work keeping the company afloat, so I entirely believe that's possible even while having good ratings.
There is no way these two things aren't connected.
And since they are the majority they get to decide. And they decide to choose mediocrity. Consoling themselves that "good code isn't that important", "I'll do it next week", and other excuses.
I’ve worked with plenty of people like you and some of them wouldn’t know a good product if it smacked them in the face. Most products don’t need more engineering capabilities, they need people involved with excellence in multiple skills.
Apple is an embodiment of this. None of their engineering is bleeding edge but they make categorically redefining products. People that nerd out over something like Linux wouldn’t get it.
By the way you are talking, no, you have not worked with people like me. Most products are garbage because of poor planning, poor market research and bad/rushed engineering.
Tell me you don't know anything about Apple without telling me that you don't know anything about Apple. A lot of their engineering is absolutely bleeding edge. Right now I am working on improving/adding features to a real time ray tracing renderer that works at 30+ fps on the latest iPhones 14 Pro. Most people's desktop PCs cannot do real time ray tracing and yet Apple does it on a phone. But I guess that is not bleeding edge...
I say this after doing SW development for a few decades. You can't count on "passion," "rockstars" or "10x developers." You can only count on the slogs who show up, do a good job and go home.
I got into it for the passion, but I don't have it as much as I did. I can't imagine doing something else like marketing or accounting though.
>obsession with ones career and over-the-top manufactured enthusiasm for very mundane projects.
That's most corporate places, especially in sales. One of the funniest takes is Step Brothers, "it's the Catalina wine mixer!"
I really loved tech. For about a decade I truly loved every day of work. Then I got really worn out and it took me almost 5 years to work through it. Part of this low point was a point of terrible health (mostly caused by my job and stress). When I came back out of it, I considered leaving the field, but stayed in it for the money.
I was in a management position at this point. I could go into a different field and start over, but I'd probably end up working my way up to management eventually too and its really all the same at that point. You are managing people and processes. So I might as well do that with the tech spin on it.
The obsession with over-manufactured enthusiasm is one I really laugh at now that I look back on my career. I realized that most of us in tech will work on boring stuff. I can't even tell what I am working on anymore, to the point that it is almost comical. I could be building self-driving cars or cloud billing portals. At the end of the day, you are fixing bugs or improving performance or polishing my tiny grain of sand in the huge sculpture that these platforms have become. When you are working on large-scale complex platforms nobody really understands how it all works. There is no magic, even when working on "sexy" projects. I've worked on exciting projects and boring projects and the day-to-day experience is exactly the same.
Pro Tip: "Boring" projects tend to pay better, and since its the same work and same day-to-day experience, take the boring projects. You also tend to find fewer sensationalized colleagues on those projects.
Look at it this way:
Your boring, cushy tech job only exists because the industry as a whole is grossly inefficient.
That's why so many people are doing nearly the same thing, over and over and over, day after day.
If it wasn't for that inefficiency you would need to find other work, and it would probably be a lot more difficult than your current job.
So, glass half full.
I feel we hit a crescendo with the post pandemic bubble and fed pumping money, that's when tech usage globally was of course at it's highest, but also like the sheer number of people using it everyday was massive(maybe 50-75%+ of the world). And it arguably "ate" or saved the world during the pandemic. It's fascinating, and now we're entering another cycle maybe after a brief respite, with LLMs.
I made sure not to mention that I was in a top tier guild getting server firsts. I didn’t want to come off as to weird. I mean I have three computers and seven monitors on my desk, but one have to know when to draw the line.
It felt like that, but I suspect it’s not really true.
I don't think much has changed in the attractiveness--it has been a high-paying field for fifty-years now. The sexiness comes and goes with the cycle.
And tech is cyclical on about 10-15 year cycles or so, and we have hit a downturn after a long upturn. Maybe AI will be the next uptick. Or maybe VR. Hard to predict. But I'm pretty sure it will happen.
I think it's moving more towards how engineering (mechanical, ee, etc, not software) is seen. It's a skilled and respected job that pays decent, but at the end of the day it's just another job. There will always be mechanical engineers and software engineers who LOVE it and tinker all through the night after work, but that's becoming less and less then norm for software.
My old roommate was a mech engineer who designed lighting fixtures, didn't love his job, but it paid decent enough, and the company needed an ME to design them. There are plenty of "lighting fixtures" that need to be built in the software world.
Try closer to 1%. The vast majority of us are just making software to make businesses chug along
Imo, tech is still a great place to be. But we all need to raise the bar for hires.
16 years isn't a whole lot of time in the field, but it's enough to have watched the expectations of SWE roles expand, and the demands of dumping ops ontop of an already complex job do take their tole. My original comment was tongue in cheek, but late night fixes, pages, opsing, ontop of day to day development is a recipe for burnout when you add partners and kids into the mix.
> most abandon programming proper rapidly - I'd hazard within 3 years - and
> go on to other tertiary fields (PM, DevOps, SRE, etc)
SRE is a specialized subfield of programming. Someone has to write and debug all those low-level tools (runc, systemd, etcd) that sit "below" what most people consider to be the backend stack.If someone becomes an SRE because they don't like programming, they're going to be in for a big surprise when they discover how much quality time they're about to share with the unshare(2) manpage.
Rapidly emerging profitable technologies create fortunes and the elites chase the fortunes. There's no conceptual difference between the iPhone and the steam engine or steel mill in this regard.
Is there some other definition?
None of the existing methods e.g. leetcode work well, so now we may resort to paid novel take homes e.g. write a simple device driver from scratch for the Intel E1000 in C99 over the weekend. Something you'd likely have been exposed to in CS102 type stuff.
Right secondary school grades + near perfect exams -> Right Undergraduate
Right undergraduate + LeetCode (basically an exam) -> Big Tech job " + Case interview prep -> High paying entry level management consulting job " + Right connections -> High paying entry level wall-st job " + High LSAT -> Right Law School -> High-paying BigLaw job " + High MCAT -> Right Med School -> Right Residency -> High Paying Physician Job
If you notice, tech (Googles of the World and elite startups) have now fallen inline with the path for other white-shoe industries.
FWIW, I know at least a few people from memory that had non-technical undergraduates (usually economics) but are excellent at studying for exams. Sure enough, they did enough LeetCode they could get a job at Meta or similar. Ask them what actually happens in a CPU or similar technical question and you get a blank stare.
> so now we may resort to paid novel take homes e.g. write a simple device driver from scratch for the Intel E1000 in C99 over the weekend
There are too many good candidates so you're having to... flog them harder?
God, tech hiring is weird. People in other sectors of the economy look at me like I've just announced that I have cancer, when I explain what the tech interview world looks like.
Programmers catch a lot of shit for being immature or unprofessional, but I think tech management deserves a harder look, when it comes to those things.
Thus, in lieu of a standardized framework we have to invent our own.
I very much agree though, the avg. CRUD shop could probably just ask Fizzbuzz and have the same outcome as these gauntlets.
The FAANGs and similar could easily have created such a thing, and driven wide adoption of it. They find some other value in their very-expensive process, or they'd have gotten rid of it with the snap of their fingers, if that were the only reason.
I suspect it's mainly to do with reducing turnover and, therefore, suppressing wages among their workers. Yes, despite those wages already being quite high. Wouldn't be the first time they've done it. "Solving" the problem would be trivial and relatively cheap, compared to the current processes, but it'd come at the cost of making it easier for employees to jump ship for more $$$, and none of them want that.
Why do the rest do it? Cargo-culting, mostly.
Where the hell did you go to school? When I did CS102, they were talking about linked lists and recursion. I would love to have seen device drivers, but when I was in school, everything was way more academic and impractical than that.
I am really curious to know what school has a cs 102 level class that teaches you writing a device driver?
I could perhaps see this as part of Operating systems class, where you just learned about how kernels works using a minimal OS (like xv6).
but that example you gave based on the expectation you mentioned are very extreme. This is why its hard to find talnet to hire.
History is a flat circle.
My last company was chock-full of Ivy league/Stanford/Berkeley/etc graduates with almost none being the type who actually is interested in technology. About half openly admitted to being a SWE because they couldn't get a product manager role and hoped to pivot into it from SWE after a few years. I will also say that parental pressure had a big part. Why spend 10 years of your life to be a doctor when you can make more money in big tech?
It also became fashionable for people to pivot out of high-finance or management consulting (traditional white-shoe industries) and into corporate development roles at hot companies.
I blamed it on Virginia tech’s football team making it to championships that year (1999). Oh well, still got to work with famous professors and got a very good head start on my career through my Alma mater
I think my class was the last to graduate from arts/sciences, the CS dept was moved into the engineering college.
I'm always kind of curious about these folks. Do they not communicate amongst themselves? It would seem that 50% aspiring to be product managers could not be statistically possible.
I feel like if I walked into a service bay of a dealership and asked the mechanics working on vehicles, there is no way 1/2 of them would try and claim they expect to be service advisor in 2 years.
1. The coat-rider who sees everyone doing and how can the consensus be wrong. If you read Liar's Poker by Michael Lewis, the first few chapters document his experience at Princeton in the early 80s. It's just the fashionable thing to do.
2. The ones that hope to pivot somewhere in year 2-3 to Private Equity or the Hedge fund space. After a few more years, your hours and stress dramatically improve and you earn life-changing amounts of money (1M+ USD) on a yearly basis if you are good. Very few make it this far though. Many burn out and end up in other corporate finance roles.
Group 1 moved to tech and will slowly move back to high-finance.
Everyone else was in it because computers paid well.
Not to say that people didn’t work hard or eventually become skilled. Just that money was the driving force more than anything.
probably about 10 years ago big tech got added to this list. not sure exactly why. maybe they just got big enough to start doing serious campus recruiting.
I noticed it around 25 years ago.
But I understand there have been phases of go-to prestige job that a certain class went through. Techbro didn't immediately displace, say, investment banking bro, or management consulting bro.
This is especially interesting given that Americans used to mock nerds in pop culture and in schools.
A trajectory question that always puzzles me is how fast can we really supply software engineers. Is software engineering like other ordinary white-collar jobs where supply is as elastic as it can be, or software engineering is like math that requires a peculiar personality and certain talent? I draw this question from personal observation, so it's definitely not scientific: China has been big on math education. Math whiz kids are honed like superheroes in China. Teachers and parents put great pressure on students to excel at maths. Yet in the end, only a small percentage of students can truly learn high-school math or entry-level college math. If software engineering is like math, then the supply will stay tight until the demand drops, and techies will continue enjoying good pay after the recession.
But this is also a byproduct of many tech companies valuing plumbing over good engineering and accepting or ignoring the cost.
But yes, I've met so many boot campers easily outperform their ivy college senior because the second one didn't care, barely worked and completed his daily tasks in one hour.
But in the end the first one churned more code, learned more about the business and people and was miles ahead in efficiency.
I don't think I've ever seen it. Maybe it's a location/caliber thing, where in some "best cost locales" there's a big brain drain to the valley. We just flat out stopped interviewing bootcamp grads at some point because the signal to noise ratio just became too low.
At one point, the most notorious bootcamp, Lambda (or Bloom Tech, they had to change names a few times to avoid litigation), was desperate enough they would "loan" you a new "grad" for free to try to get you to hire one [0]. And this was pre-pandemic when hiring was at it's peak.
In such an environments education doesn't really make much of a difference when you're gluing APIs together. The biggest difference between workers productivity really becomes just straight up dependent on focus and professionalism.
People that are too skilled and educated for the job often go lazy mode and do their tasks quickly and then mind their own business and their motivation goes to hell. It is very simple for bootcampers to be more productive just by being focused and professional. In the long run bootcampers also tend to learn more about the business and have a higher impact.
Point is, in most jobs your skills are in the long run secondary to your willingness to learn and do stuff. The fact that people have done tons of algo exercises or system design is quite irrelevant when your job is writing forms, lists or connecting services to databases. It's no rocket science.
> secondary to your willingness to learn and do stuff. The fact that people have done tons of algo exercises or system design is quite irrelevant when your job is writing forms, lists or connecting services to databases. It's no rocket science.
Isn't that a good demonstration that someone can learn (mastering algorithms and data structures) more than rote-learning a framework?
My previous company was involved in 3 to 6 months bootcamps and had the option to be the first to make offers to the best students. This put us in an advantageous position.
2 of the 5 we hired I think were already leaning to write software before starting the bootcamp (as in genuinely being interested in the field and having programmed some hobbyist stuff), 3 did not have such an experience.
All but one turned to be great additions, that one kept struggling but we knew he was weak since the beginning. The two hobbyists both turned great. But by far the best was a girl with no previous experience.
I was able to help her grow and push her to be curious all time to understand the whys. This combined with her huge drive, focus, and professionalism turned her in 18 months since starting to be one of the best devs in the entire org made of 100 devs. She just churned code (quality one), reviews and solved problems one after the other all day. I have been trying to convince her to join my current company 24/7 for a long time.
On the other hand many better programmers just didn't care. They spent days playing console or pc games, and just did subpar work enough to close their daily tasks asap. Hard to fire these people under Italian law, but they represented the overwhelming majority of devs.
Now, I understand this is anecdotak, the pool of talent was like a pyramid in the bootcamp, and the weakest or average ones weren't great, but the top and most motivated where better coworkers and juniors than most engineers I've met.
Hope this gives my opinion a context.
> On the other hand many better programmers just didn't care. They spent days playing console or pc games, and just did subpar work enough to close their daily tasks asap. Hard to fire these people under Italian law, but they represented the overwhelming majority of devs.
What's interesting here to consider is Italy's market for engineers.
I've met a lot of talented Italian engineers here in the valley, so the local market might already have suffered significant brain drain.
They end up in medicine, consulting, engineering, manufacturing, academic research, Wall Street, etc and often switch whole industries mid-career too.
Frankly I think its much simpler. Its a high income to effort career.
But even if we do think this is good because it weeds out people worried about prestige, why stop at 200k layoffs. Why not more? You probably don’t really want that.
This led to an influx of people who would otherwise have gone into banking or consulting or other careers similarly targeted as “elite” professions when graduating from college and to an influx of people from those professions into tech.
I think it bodes well for the sector to have less of this prestige seeking- not because these folks aren’t talented, but because rebalancing the overall tech workforce towards a mix of talent is probably more healthy for people who value working in tech because it’s an area of genuine interest for them.