But a degree in Spanish results in (presumably) speaking Spanish. Whereas "business" is what exactly? (There are already degrees in finance and accounting for specific business skills).
I agree with your point but given how often a computer science degree doesn't actually result in the graduate knowing how to program (technically it's not the primary focus employers just conflate that it is) I wouldn't be surprised if a lot of people with degrees in Spanish can't order food in the non-touristy parts of Mexico.
I disagree. A hammer is more practical than an NFT in the same way nursing is more practical than philosophy. I would argue that practicality is probably best measured by how much the major contributes to meeting the necessities of life - food, clothing, housing, and medical care - and less about what it sells for on the market. So farming > coding > business > philosophy on the practicality level.
I’m suggesting two things here. Primarily, that many people mean something different by practicality than how well something sells on the marketplace. And second, I think capitalism distorts what is practical in the first place as it mediates how value is created and understood. So of course in a capitalistic society, your self-referential measure of practicality is indeed completely controlled by supply and demand on the market. (Your demand on the market is how you personally survive). I’m talking about this in a way that isn’t self-referential and isn’t using the logic of the market. Nobody survives without farmers.
I'd suggest that humans learn to catch mice and other small, tasty rodents before branching out into songbirds, lizards and the like, but I really don't need the competition.
When the apocalypse comes (and we all know it will), I'm going to go find the practical people - a farmer, a machinist, a welder, and a hunter. I don't know what they are going to do with me, but maybe I can convince them they need a manager.
If you measure practicality as just the rate of conversion to employment and average comp, OK. I think of practicality as whether the degree a) prepares me to do a specific job, and b) is an informal or regulatory requirement for employment in a related field.
You can become a programmer by reading a few books and asking questions on Stack Overflow. You can study political science and get a job at a big consulting firm. You cannot, however, casually become an architect or an engineer. That requires a degree and specific technical skills.
Edit: Also, my original comment was just snark. I did a big-name MBA and was not impressed with that whole institution...
But I've seen people say it is and I remember every business major I met at uni saying they picked it because it is "practical". Someone is convincing these people it is that.
It’s been stock/standard advice to 18 year-olds for generations now. The roots of it probably pre-date the advent of the huge growth of college enrollment in the post-war era. Parents who grew up during the Depression feared their kids, probably the first in their family to go to Uni, would succumb to youthful idealism and major in something useless. Since the degree premium was still very real and the economy was booming it was a safe choice. My wife’s family and many others I knew were all in that boat. It’s basically a kind of tradition. That a BA in biz is scant protection against being laid-off or fired by a downsizing corporation wasn’t something that occurred to anyone. Things are so much better now that Uber is available as a Plan B.
The galling aspect of "learn to code" was when it was thrown at unemployed older workers. Like it's an easy retraining option, and tech firms are just racing to hire 53 year olds.
Meanwhile the competition is every programmer in India and China: one element of work from home since covid is firms realizing "home" can be Bangalore.
I once took a very basic introductory coding class in college. It was supposed to be for freshmen to help them kinda learn what coding is and how it works on a rudimentary level.
That class was so ridiculously hard for me I had to study my ass off just to pass. And by pass I mean get a D in the class. It felt like learning Klingon in Braile.
Halfway through I knew I was in trouble and asked the teacher about tutoring. He just looked at me with this concerned stare and said, "This is an intro class, we don't have any tutors for it." As a further gut punch he added, "No one has ever asked for a tutor for this class."
Coding is not a universal skill everyone can learn. It just isn't.
I mean, it's probably true that most humans can learn to code in a couple of days in the same way that I learned the Korean alphabet well enough in a week to sound out the language.
Of course, knowing what a word sounds like is not the same thing as comprehension.
I think your friend sounds like he's full of shit, nobody can learn to code in a few days. Maybe you can learn some basic stuff like writing a for loop or doing a Fibionacci sequence but that's barely even scratching the surface. It's like saying "anyone can learn to draw in a few days" after being able to draw stick figures.
I'm not trying to say your friend isn't a good coder, he probably is, but he's also probably hugely downplaying either his previous knowledge before coding or setting the bar so low that after having "learnt to code" they can't do anything useful.
I learned to make a PID controller for a beer brewer and a few other fun things on an Arduino in a weekend, but that was all if, else with basic algebra and functions and a few simple logic operators in C. You can learn enough coding to think you know something in a few days. The field is very susceptible to Dunning-Kruger effects.
Well feedback is a powerful thing...even dubious implementations tend to work (thankfully).
At least they work for a while. How did you choose your gains? How did you prove stability? Which numerical differentiator and integrator are you using? High enough sampling rate on your sensor readings to allow for averaging to get rid of noise? What's the complexity of the various functions in the loop?
I just plugged in the PID equation and matched the variables to what people were saying matched my heating element online and was in the libraries. I set up all the inputs and variables as functions and was careful to avoid "magic numbers" like a pro, lol. And then added a bunch of code mostly copied for the lcd screen and then wrote my own code for the program. I originally got the Arduino because I wanted to use the PWM feature to adjust my electric heating element like a dial but the relay didn't have enough response time. This was about 8 years ago so I don't remember the specific values and about three years ago it died and I just swapped out for a basic Inkbird unit. The hardest part was actually doing the debounce for the buttons and getting input from the thermocouples. The buttons/interface never worked well and I would end up just setting the values for the day through my computer. I originally planed to use a pt100 element but found it was too hard to get to work with the Arduino so swapped for thermocouples which did have a lot of noise I can't remember exactly but my relay was set to half second delays and I think I set the sampling to match, so maybe 5 10 readings a second set to average the last 5? It was never adequately adjusted for. It would maintain my heat exchanger bath within 1C so it worked.
Nobody can learn to code in a week. Maybe you can learn to make a website. Extremely smart people go to MIT and study comp sci for 4 years. Anything that can be learnt in a week will pay minimum wage, by definition.
People *can* learn to code in a week, but that type of coding isn't likely to get you an IT job. Modern business-level coding is complex and as Katrina said, your competition is everyone, not least offshore consultants and even teenagers who've been coding in their bedrooms for years for fun.
As someone who teaches students programming who have already had one semester of programming experience, at a top 25 university in electrical and computer engineering no less, I can assure you that people (even your friend) don't learn to code in a couple of days.
Your friend likely knows how to code already and can therefore acquire enough knowledge about a new computer *language* in a couple of days to do something useful. Just about any competent programmer can do this. Something like LISP or the vagaries of PERL may take a bit longer and it helps if you know an object oriented language.
C++->Java->python is an easy transition, though there are details/language-specific traits that can make things difficult (e.g., iterators).
Of course Freddie had to post this right before finals when I'm trying to prepare an exam. My students get to implement treaps!
Yeah "retraining" current employees to match the work demands has been a recent mantra that admin folk like to use where I work. The older employees just have this baffled look on their face, like "I'm 5-10 years from retirement and you want me to learn a new language for work?" I consider coding akin to learning a new language, but harder or easier depending on your innate talent for it.
I also think that the pace of change, especially with tech itself, is significantly contributing to this rapid increase in traditional careers becoming obsolete or low-wage jobs. I mean, something like the change from hand-woven to machine-made textiles took generations to happen, which gave young people a really clear outlook for the industry and could plan accordingly. Nowadays, some jobs that maybe didn't even exist when you were born have not only already blossomed into popular careers, but some have already started to go away. Tech itself has made job opportunities rapidly change, and it's hard for a single person to keep up without constantly having to 'retrain' themselves. That's something that didn't really exist 100, or even 50, years ago.
All these things have moved fast but our social conditioning hasn't. We think of someone at 60 as "about to retire", a needle that hasn't moved since the New Deal, even though life expectancy has increased markedly. I'm not saying we should aspire to work people til the grave, but our assumptions of "past it" do need to be reassessed.
Yeah but the longer lifespans we now have are not very viable years for work anyway. I mean it's not prolonging youth, it's prolonging old. If anything, ideally retirement should be lower not higher.
I would argue, in a perfect world, the point of retirement is not to stop working because you can't anymore. But rather to stop working so you can enjoy the rest of your life before you get so old and frail to do so. Retirement should be the point in life that you can stop working because you've already worked so hard and long that you get to relax now...and do so while still a fully able-bodied and hale person. It's the time of your life you're supposed to spend time with your grandkids, or devote more time to hobbies, or travel around the country and world. It's supposed to be the time you get to enjoy the fruits of your labor, and not the beginning stage of dying.
That's great, but I'm talking about people who want to retrain or reenter the workforce being treated as useless because they're too old. There are DEI campaigns to make sure that a team is of various demographics, the one they never mention is age. Tech firms will publicly recruit women and minorities, but not job seekers over 50.
Yes ideally we could all retire at 42 with enough to live on. But we've got gen x and millennials who had careers jacknifed by industrial changes, the 2008 crash, now covid. We should be helping people who want to work. Saying "you should be able to be retired by now" is not much help for someone with a mortgage or rent to pay.
I remember 15 years ago having a conversation with a guy about how there was no real future in web design when it was clear the CMSs were going to be the default and he was all like "they can't automate art". I saw a student using a block coding app and mySQL workbench to make programs the other day and was impressed. Even coding won't be coding in a few years.
When I started my undgrad in engineering in 1990, computer sciences were a minor for electrical engineering students. Graphic user interfaces were just becoming a thing for the nascent internet. All 4 of my roommates were in various engineering disciplines at the time. Only 2 stayed in engineering with a focus on computer sciences and coding. But back then the focus was learning systems and networks as much as it was basic coding. The successful and stably employed comp sci guys I know are the admins maintaining the systems and networks, less so the code jockey writing 1000s of lines of code a day.
An interesting example of what you're talking about:
One of my good friends got his PhD in German several years ago. For whatever reason, this doctorate program had a minor boom in the early 2010s, with many universities opening their own German PhD programs. This seemed ideal for him!
So he went in, got into a program at a prestigious university, did the work, defended his dissertation, and got the paper. Of course, by the time he was finishing his doctorate, this minor boom was already crashing, with German doctoral programs closing at many universities. Fortunately for my friend, his advisor warned him about this, because the available jobs for someone with a doctorate in German rely on there being many German programs that need professors. His advisor believed his own job would be safe because he had had it before the boom happened.
And so my friend, somewhat ironically to this post, learned to code and eventually stumbled into a job at Hulu.
His advisor, about a year ago, asked HIM for career advice.
This is askew of Freddie's point, but I also wonder what technologies like ChatGPT are going to have on the programming market (or any job, honestly). I've asked it to generate some code for me and while it often is missing something to make the code run correctly (a variable declaration or loading a package, for example), it often does a passable job, and it's only going to get better.
I was wondering the same thing. It seems like ChatGPT and its ilk will particularly hit the six-month coding camp graduates. The people doing the really complicated, sophisticated work probably have a few more years of good times ahead of them.
I don't expect any of the large language models (like GPT-x) nor GitHub's co-pilot to have a negative impact on the software development labor market. Instead, these AI technologies are more likely to be force multipliers for human developers.
As a twenty-five-year veteran of the industry, these tools only touch 5-10% of my work, which mostly involves analysis and creative design work, by which I mean identifying and refining important domain concepts and orchestrating workflows. It involves disambiguating requirements, prioritizing features, reconciling mutually-exclusive requests and performing archeology on long-lived codebases. Moreover, this has always been the bulk of my work, even when I was a novice.
These tools are amazing, and GPTChat is great, but even if they were reliable enough to count on (as I assume they will eventually be), they would just allow me to do more and enable my company to add more more features / expand our offerings.
Architecture is hard. Coding is easy. The spin on AI is that for the next few decades it's going to improve human productivity but as a replacement? Not on the horizon.
I think the answer from those calling for more to enter the field is that even after sustained growth "computer science majors still have enviable outcomes in the job market."
I buy the evidence you lay out here, but I'd also argue that demand isn't fixed. Cities and countries can build up industrial clusters with spillover benefits. That's not going to negate the effects of greater supply, but can mean an industry collectively can grow, and limits on labor availability can be an obstacle to that growth. I'd say this can also be true for the pharmaceutical worker you cite elsewhere. Yes the premium will slide a bit, but this would be a great time for that sector to grow and diversify to accelerate the vaccine development process to respond to new strains and go after longstanding scourges of humankind.
Of course, sectoral demand is entirely outside of the hand of any individual and future growth or reduction can be difficult to predict. That's a place where those calling for people to go into any given profession should absolutely be held to account. Do they know what they're talking about or are their predictions for fields no better than chance?
Demand might not be fixed, but it most likely will not expand infinitely. Code is a way to automate something that a human would do, so the value of the code can't actually be higher than the value of the human labor that would do the action instead.
As an aside, Freddie was referring to the pharmacist profession, not pharmaceutical development. There was a meme maybe 5-10 years back that people should go for pharmacy because it was a good and well-paid job. I don't think that's true anymore.
Both of these cases are a kind of arbitrage - profession X has a better-than-normal set of trade-offs between pay, responsibility, working conditions, and difficulty of acquiring the job. The problem is that if you need mass media to tell you this, then it's already too late to take advantage of the arbitrage.
"... the value of the code can't actually be higher than the value of the human labor that would do the action instead."
One of the arguments for high software engineering salaries is that the opposite is true: because software can do an action thousands or even millions of times in the time it would take a human to do it once, the software is actually more valuable than the human labor. It's not that the engineer's job is more valuable to society than the manual worker's but that it provides a much larger return on investment to their employer. I'm not saying this is necessarily true all of the time but software scales really well which is a big part of why it has historically been so lucrative.
(I think that getting vaccines out into communities is part of the challenge, so we don't just benefit from research pharmacists there, but fair point that the profession is much larger than that).
I'd say calling it arbitrage pre-supposes that it is a highly temporary state. That's true for financial arbitrage because moving money is highly fungible. Education isn't highly fungible even if people were blank slates it would still take time and training. But Freddie's other arguments about the limits of the pool of students that would thrive in any given profession help establish why the number of people in any given profession does not simply grow until wage differentials are wiped out.
If someone has the potential aptitude to be a programmer, even today, I'd say they'd be well founded in thinking that it may be a prosperous option for them even if their entering class shifts the balance a bit more towards demand. The broad category of software developer, analyst, and tester has a $109k median salary and expected 25% growth 2021-2031 ( https://www.bls.gov/ooh/Computer-and-Information-Technology/Software-developers.htm ).
This is all true and was a big part of the reason I went into accounting. It's estimated that something like 70% of CPAs will retire in the next decade. The MBA degree has been peeling people off for a long time because you tended to make more money and it was easier. There's scarcely a week that goes by where a recruiter or employer doesn't contact me unsolicited now talking about a job, and I haven't even finished the degree yet (but am close). After more than a decade of taking it on the chin as an English major and accepting whatever lousuly bottom tier office job people would throw me, it's a relief. I'll sure as hell never be in that position again. I can also quit and get hired again at the drop of a hat, which was the entire point.
When I was getting my accounting degree 15 years ago, we were told the same 'Every CPA is about to retire' story as well. Good luck to you, maybe this time it will be different.
They've been saying that about humanities professors for literally 40 years. A bunch are still hanging in there, and the rest were replaced by adjuncts.
You may very well be correct. I have no way of verifying any of those statistics. On an intuitive level matches my experience too. Although I might have distorted expectations from all my years trying to find work with an English degree.
For once, the NYT article is pretty good and doesn't just focus on elite universities -- that article either covers normal schools, or schools that are only elite for CS and not in other fields. The students are trying to gain skills to have a financially well-remunerated career.
There's a different thing that happened at elite universities about 10 years ago, where computer science shifted from a small major for weirdos to a "legitimate" path on the upper-middle-class prestige track. Getting a job at Google or Facebook became as respectable as McKinsey or Goldman. I don't know that the money and perks have improved, but the social acceptability has.
Previously there was a heavy selection in CS majors of people who didn't like to play the prestige career game, or couldn't manage the polish/social skills to succeed. Now there's much more representation of the same kind of smart ambitious person as in every other lucrative field. You can see the shift in Silicon Valley over the last 10 years.
Twenty-odd years ago. elite law firms, banks, etc. were in a panic as students from top universities were shunning them for rolling the dice with the dot.coms.
I think it's a bit older than that; I remember seeing it described in articles from 2010-ish as resulting from the reputation loss finance took after the 2008 crisis, and the generally sanguine outlook people had for tech in the mid-oughts. That gave rise to the "brogrammer", "alpha personality" types who picked coding over finance.
I have a good friend from my undergrad days who was an EE major w/ a minor in CS. This was 1990-94 so right as Web1.0 was taking off. He rode that early start-up boom until it busted then taught himself several new programming languages. He then ended up taking a job w/ Ball Aerospace heading a network team that did all the backend and frontend systems for the company. He's still there and says he never missed "coding" at a start-up. He liked having a stable, well paying job with a company that wasn't going to go broke in a year or twi after burning through the VC money.
I think a lot of young CS people get caught up in working at some startup that will be the next unicorn instead of finding companies that, while might not be sexy, will be paying them well for the next 10-15 yrs.
I can understand your friend's perspective, but in a world where winning is not just the best thing, it's the only thing, I can also understand why young people might want to take their chances.
I have a stable, high paying job now but in my 20's I worked at a startup and looking back it was definitely one of the best things that ever happened to me. Not in terms of financial remuneration since it went belly up after a couple of years but in terms of the experience and knowledge I got
I would liken the experience to joining a cult. You show up in the morning, work, get lunch with your co-workers, work, get dinner with your co-workers, work, go out and hit a bar at 10 pm with the sales guys, and then go in on Saturdays. Plus there's lot of sleeping under your desk.
But obviously all that work is great for rapidly picking up the knowledge required for a successful career. And the social aspects were a lot of fun too: a lot of drunk Wednesdays with the sales department plus some insane practical jokes that would undoubtedly get you fired in the current day.
Yeah. The company my friend worked for was like that in a way. Lots of ridiculous perks and salaries. They even had some ridiculous super bowl party just to watch the ad they bought. Like all things like that, it can be a great experience if you learn something from it.
worked at a design firm that was like a start-up in some ways. Lots of after work activities, hitting the clubs several nights a week, ordering food for late night work sessions for deadlines. But it wore thin over time.
Yes! I did the same. It was more like joining a frat or a cult than a company but it turned out to be one of the most exciting eras of my life thus far. I don't think I'd join a startup now but in my early 20s it was thrilling. I didn't make a dime off my equity but I had a damn good time, made some great friends, and learned a lot about work and life in general. There was no shortage of hijinks that would get you fired and/or cancelled today and the company was so young that instead of bring your kids to work day we had bring your parents to work day (I don't think there was a single employee over 35 when I started). Wild times.
The book Uncanny Valley by Anna Wiener very accurately captures that vibe as well as the feeling of becoming disillusioned with it as you grow up a bit. Or you could just watch Silicon Valley on HBO, it's shockingly accurate.
“And there’s a natural cap on the number of people who can enter the field: it’s hard to code. Not everybody can do it. It takes a certain degree of talent, and most people don’t have it. It’s a cognitively-loaded field in world where not everyone has the same cognitive gifts. “
My anecdotal evidence of being a college tutor and corporate trainer for a variety of STEM topics is that this is more true for coding than for many other things. Either that or I’m just better at teaching other things... but I’ve seen this story told by enough other people I think there might be something to it.
I've helped a number of people who have been learning to code. Even people that should be a natural fit like my friend who's got a BS in Math, MBA, very good at practical engineering and he straight up couldn't wrap his head around it.
I'm a nitwit comparatively and do alright with it. There's a certain something else that's required.
Somewhat similar to art, you can teach me to follow an outline or do a course and I'll look okay. Will I ever actually create art? Unlikely.
i tortured myself through maybe 2/3 of a camp before i finally accepted that every lecture was straight up charlie brown teacher noises to me and it wasnt going to get better
I'm absolutely awful at math and anything math-related (barely passed my one math class in college) yet I picked up coding like it was nothing. I have a humanities degree and I'm the furthest thing from a natural fit for the profession. I have always been really really good with foreign languages, though, and I suspect that skillset helped me out a lot. I definitely won't ever be working on any machine learning algorithms but I've been surprised by how easy it has been to build a career in software engineering with minimal math aptitude. I'd be a complete disaster as an accountant, though!
Um...I guess I'm decent enough at math to do that? I just never took AP calculus or any difficult math class in college and nobody would ever accuse me of having any particular aptitude for math. I can do algebra and basic arithmetic and stuff. Just much more of a humanities person than a math person overall.
Hah I guess you're right, but I was always a good student with perfect grades in most subjects and math was my one obvious weakness. I suppose I am probably still better than average at math but I definitely wouldn't consider myself the kind of person who appears to be naturally suited for a STEM career.
Well, yes, but there is also the issue that with more graduates in computer science we will get more code written, which is a good and necessary thing, and frankly *the* reason we wanted more people to go into CS in the first place, no?
I think one fact that skews the data is that supply and demand is also based on quality. For example the demand for coders who are highly skilled is different from the demand for coders who are not highly skilled. When an industry is in a boom, then even moderately or lowly skilled workers are in demand. But when the industry is in a slump then the demand for the less skilled coders plummets much faster than the demand for the highly skilled coders.
You can substitute "well connected" or "dedicated" or "willing to work extra hours" for "skilled". When you do statistics on a heterogenous group as if it is homogeneous then you can get results that are quite invalid for certain subgroups. This is what leads to arguments. People will say your analysis is not valid because they know people to whom it doesn't apply.
People who say that supply and demand does not apply to various professions usually are pointing to subgroups and not the profession as a whole. If you are in one of the subgroups then the general analysis may not apply to you, but people often assume they belong to a more attractive subgroup than they really do.
It's also the fact that getting a comp science degree and learning to code aren't exactly the same thing. For the last two decades hiring managers have complained about graduates that know nothing about practical coding or even how to code at all.
This gave rise to tests like FizzBuzz (google it if you're not familiar) and other simple programming assessments that still trip up and disqualify people that have graduated from an accredited university's comp sci program.
Knowing how to actually code in a relevant language along with some very minor systems and networking knowledge will continue to pay disproportionately well where as the odds of graduating from school and getting a 6 figure job out of the gate with few practical skills will continue to decline.
There's also the fact that programming/tech work isn't all Bay area startups and the FAANGs which everyone seems to think. Lots of boring companies require competence to build and more importantly maintain their increasingly complex digital infrastructure. That's almost a whole other discussion though.
Of course. Right now quant traders make TEXA$, but if everyone knew how to design the latest trading algorithms to capture maximum alpha, just one of those things you learn by the time you're in middle school, then quant traders wouldn't make much more than burger flippers.
The folks who say "just learn to code!" know all that already, or at least they should, if "learn to code" were anything other than a smug PMC excuse to avoid having to anything about the fact that poor people are still poor.
I don't know how true this is for other fields, but junior engineers are difficult to make significantly net positive earlier than ~1 year of experience and the productivity to pay ratio dramatically improves continually from year 1 through about 4 years of experience. As entry level salaries went up dramatically over the past several years, it's created circumstances where now that there isn't as much free capital floating around companies are really looking at costs rather than just output and juniors look really bad.
There is so much more to a career than just having some hard skills. There are so many soft skills required to be successful in your career, and over the years, I've seen more and more people coming into the job market without these skills. This applies to programmers and engineers (and other positions requiring technical skills) as well as people with business degrees, or non-technical backgrounds. In my experience, the people that have these soft skills do better (relatively) than the people that don't.
When I was a kid (late 70s/early 80s) there were all kinds of jobs that I could do - mowing lawns, shoveling walks before I was 10, paper route from the time I was 10 through 17. I got paid to do these jobs (good for me), but more importantly, I learned the soft skills needed to be a successful employee.
I had to get paid by my customers face-to-face, and most of my customers were not shy about criticizing my performance. I learned that I could be resentful of the criticism and have to listen to more complaining every week (ugh), or improve my performance and start getting praise (yay), but more importantly more work or better pay.
By the time I had my first real job (with a W2 and a pay check) I already knew how to work. I didn't have any hard skills yet, but I knew what work meant. It was not super fun playtime - it was work. I went to work, did my job, and got paid. If I did my job, I got more hours, and more money. If I didn't do my job, my hours were cut, and I got less money. (Needless to say, I'm not a big fan of the anti-work movement).
After college, in my first professional job (1985 or so), I started seeing a pattern. People that had worked through high school and college were much more prepared for their career than the people that didn't have jobs before.
And this is not a "kids these days" rant. This is an "adults these days" rant. Part of the problem is that we as adults made it virtually impossible for kids to get the kinds of experiences I was lucky to have.
There are no paper routes for kids any more, they are all car routes done by adults.
For the most part, kids can't mow their neighbors lawns anymore because we have landscaping companies that have taken on all of that work - same with shoveling snow. Even if that's not the case, there is a reluctance to let kids do things like this on their own.
I was able to work for a couple of different businesses when I was 13 and 14 (light janitorial work -emptying the trash, vacuuming the offices). That is nearly impossible these days.
The only opportunity that I see for young kids these days are the mandatory "community service" hours required for school. Unfortunately, most of these opportunities result in a bunch of kids pretending to contribute, while some adults do the real work.
And again, it's not the kids' fault, the adults won't let them do anything by themselves, and immediately take over if they see anyone struggling, so the kids never get to learn anything.
This is something that I think we need to figure out.
Mowing lawns isn't mining coal, and having a part time job is not akin to parents expecting their kids to financially contribute to the family. One of the reasons we can't fix a damn thing anymore is this black and white thinking, where if kids aren't coddled royalty, they're slaves.
Please refrain from being nasty in the comments section. The quality of commenting here is relatively high, and it takes work from all of us to keep it that way.
When I was about 5, I asked my dad for one of those toy lawn mowers that made noise and blew bubbles ( IIRC) for my birthday. Instead of getting me a toy lawnmower, he bought a used one and cut the handles down so I could push the mower. Subsequently I was now in charge of mowing the lawn instead of playing. It's an amusing anecdote for people but I can't imagine many parents doing that today. Of course I had a paper route and mowed lawns in the summer until I turned 14 and could get a "real" job a the local Burger King. Worst 8 months of my life. But it convinced me to never want to work in fast food again. I worked all through HS and did 30hrs/wk in college because I had to in order to pay for my rent, food and books.
I think quite a lot of Gen Z and Millennial adults were spared the necessity of getting a HS job by well-meaning parents that didn't want them to have to do the things they had to do.
I'm a middle class Millennial (I'm in my early 30s) and pretty much all my friends had part-time jobs in high school. The only friends who didn't were the ones with rich parents, which has always been the case.
I did an ad delivery route when I was a kid, but gave up on that pretty quickly because the effort:pay ratio was so low. Likely with media and ads moving to the internet, that job doesn't exist to the same extent anymore. But other jobs my friends & I held in high school definitely still exist, and I see kids in my parents' neighbourhood shovelling snow for money every winter.
Yeah I'm in my early 30s and I babysat from age 12 and got a real job as soon as I was able to. My brother was a camp counselor for several years. I grew up in a wealthy area and even then nearly all my classmates had jobs except for a couple of the kids with strict immigrant parents who were forced to go to math camp over the summer and spend all their free time studying after school. However, I kept in touch with several of the families I babysat for and it was interesting seeing what happened as the kids grew up - almost none of those kids went on to have any kind of job or even to babysit when they were in high school! I was only about 10 years older than them but the way they were growing up already seemed pretty different from what I had experienced in the 90s and early 2000s.
Another aspect is that not all coders are CS majors. For example, my physics professor/engineer (optics) husband codes in several languages and just taught himself Python so he could write the software for an optical device he's working on. Some people just pick up coding skills and languages as part of their skillset.
I have seen this first hand. I am retired. In 2018, out of interest, with no plans to leverage this into a job, I took a three year coding diploma at a junior college in Ontario. There were several in the program who were there to "get a job". We also had some really talented coders who had been coding on their own for years (many of my classmates had been in the work force, but not necessarily in IT jobs).
From what I know of them, the great coders had little problem being hired, many by the people with whom they did their work placement. One fellow I know, after a year with one employer, was offered double his salary at another firm. Others have not been as fortunate. I know at least one who still does not have a job and others who looked for up to a year before finding something.
You are right. Not every one can code and those who do it well are even more rare. A Comp Sc degree is no longer a ticket to a great job.
Update: Coincidentally, earlier today, I ran into one of my classmates who, a year and a half since graduating, is back at the Chinese restaurant where he worked before he began the program. He was a big time gamer and a computer enthusiast. I would have put him at least in the top third of our class. We did not get a chance to talk, so I am not sure why he was not in the field.
I can assure you that business is not a practical major.
But this is the whole point - there is no such variable as "major practicality." It's an empty construct. It means nothing
It's always "No True Scotsman."
But a degree in Spanish results in (presumably) speaking Spanish. Whereas "business" is what exactly? (There are already degrees in finance and accounting for specific business skills).
I agree with your point but given how often a computer science degree doesn't actually result in the graduate knowing how to program (technically it's not the primary focus employers just conflate that it is) I wouldn't be surprised if a lot of people with degrees in Spanish can't order food in the non-touristy parts of Mexico.
I disagree. A hammer is more practical than an NFT in the same way nursing is more practical than philosophy. I would argue that practicality is probably best measured by how much the major contributes to meeting the necessities of life - food, clothing, housing, and medical care - and less about what it sells for on the market. So farming > coding > business > philosophy on the practicality level.
I’m suggesting two things here. Primarily, that many people mean something different by practicality than how well something sells on the marketplace. And second, I think capitalism distorts what is practical in the first place as it mediates how value is created and understood. So of course in a capitalistic society, your self-referential measure of practicality is indeed completely controlled by supply and demand on the market. (Your demand on the market is how you personally survive). I’m talking about this in a way that isn’t self-referential and isn’t using the logic of the market. Nobody survives without farmers.
but don't waste time painting figures on the wall
And yet we don’t need more than a relatively tiny number of farmers. Go figure.
We need to bring back serfdom
I'd suggest that humans learn to catch mice and other small, tasty rodents before branching out into songbirds, lizards and the like, but I really don't need the competition.
When the apocalypse comes (and we all know it will), I'm going to go find the practical people - a farmer, a machinist, a welder, and a hunter. I don't know what they are going to do with me, but maybe I can convince them they need a manager.
"Manager as servant" is an enlightened ideal.
If you measure practicality as just the rate of conversion to employment and average comp, OK. I think of practicality as whether the degree a) prepares me to do a specific job, and b) is an informal or regulatory requirement for employment in a related field.
You can become a programmer by reading a few books and asking questions on Stack Overflow. You can study political science and get a job at a big consulting firm. You cannot, however, casually become an architect or an engineer. That requires a degree and specific technical skills.
Edit: Also, my original comment was just snark. I did a big-name MBA and was not impressed with that whole institution...
But I've seen people say it is and I remember every business major I met at uni saying they picked it because it is "practical". Someone is convincing these people it is that.
It’s been stock/standard advice to 18 year-olds for generations now. The roots of it probably pre-date the advent of the huge growth of college enrollment in the post-war era. Parents who grew up during the Depression feared their kids, probably the first in their family to go to Uni, would succumb to youthful idealism and major in something useless. Since the degree premium was still very real and the economy was booming it was a safe choice. My wife’s family and many others I knew were all in that boat. It’s basically a kind of tradition. That a BA in biz is scant protection against being laid-off or fired by a downsizing corporation wasn’t something that occurred to anyone. Things are so much better now that Uber is available as a Plan B.
As a hiring manager, let me let you in on a little secret: college degree has literally nothing to do with who gets laid off or fired. Nothing.
The galling aspect of "learn to code" was when it was thrown at unemployed older workers. Like it's an easy retraining option, and tech firms are just racing to hire 53 year olds.
Meanwhile the competition is every programmer in India and China: one element of work from home since covid is firms realizing "home" can be Bangalore.
Are you saying all these aging truck drivers might not have the skills required to build software?
Even if they do acquire the skills, which is a challenge, ageism on the job market is real.
A friend of mine tells me that humans can learn to code in a couple of days. A week, tops.
I have to remind my friend that *he* can learn to code in a couple of days. The rest of humanity, not so much.
I once took a very basic introductory coding class in college. It was supposed to be for freshmen to help them kinda learn what coding is and how it works on a rudimentary level.
That class was so ridiculously hard for me I had to study my ass off just to pass. And by pass I mean get a D in the class. It felt like learning Klingon in Braile.
Halfway through I knew I was in trouble and asked the teacher about tutoring. He just looked at me with this concerned stare and said, "This is an intro class, we don't have any tutors for it." As a further gut punch he added, "No one has ever asked for a tutor for this class."
Coding is not a universal skill everyone can learn. It just isn't.
I mean, it's probably true that most humans can learn to code in a couple of days in the same way that I learned the Korean alphabet well enough in a week to sound out the language.
Of course, knowing what a word sounds like is not the same thing as comprehension.
I think your friend sounds like he's full of shit, nobody can learn to code in a few days. Maybe you can learn some basic stuff like writing a for loop or doing a Fibionacci sequence but that's barely even scratching the surface. It's like saying "anyone can learn to draw in a few days" after being able to draw stick figures.
I'm not trying to say your friend isn't a good coder, he probably is, but he's also probably hugely downplaying either his previous knowledge before coding or setting the bar so low that after having "learnt to code" they can't do anything useful.
I learned to make a PID controller for a beer brewer and a few other fun things on an Arduino in a weekend, but that was all if, else with basic algebra and functions and a few simple logic operators in C. You can learn enough coding to think you know something in a few days. The field is very susceptible to Dunning-Kruger effects.
Well feedback is a powerful thing...even dubious implementations tend to work (thankfully).
At least they work for a while. How did you choose your gains? How did you prove stability? Which numerical differentiator and integrator are you using? High enough sampling rate on your sensor readings to allow for averaging to get rid of noise? What's the complexity of the various functions in the loop?
Beer will probably be fine, though.
I just plugged in the PID equation and matched the variables to what people were saying matched my heating element online and was in the libraries. I set up all the inputs and variables as functions and was careful to avoid "magic numbers" like a pro, lol. And then added a bunch of code mostly copied for the lcd screen and then wrote my own code for the program. I originally got the Arduino because I wanted to use the PWM feature to adjust my electric heating element like a dial but the relay didn't have enough response time. This was about 8 years ago so I don't remember the specific values and about three years ago it died and I just swapped out for a basic Inkbird unit. The hardest part was actually doing the debounce for the buttons and getting input from the thermocouples. The buttons/interface never worked well and I would end up just setting the values for the day through my computer. I originally planed to use a pt100 element but found it was too hard to get to work with the Arduino so swapped for thermocouples which did have a lot of noise I can't remember exactly but my relay was set to half second delays and I think I set the sampling to match, so maybe 5 10 readings a second set to average the last 5? It was never adequately adjusted for. It would maintain my heat exchanger bath within 1C so it worked.
Like the people who can just "pick up" a new language in a summer.
Nobody can learn to code in a week. Maybe you can learn to make a website. Extremely smart people go to MIT and study comp sci for 4 years. Anything that can be learnt in a week will pay minimum wage, by definition.
People *can* learn to code in a week, but that type of coding isn't likely to get you an IT job. Modern business-level coding is complex and as Katrina said, your competition is everyone, not least offshore consultants and even teenagers who've been coding in their bedrooms for years for fun.
As someone who teaches students programming who have already had one semester of programming experience, at a top 25 university in electrical and computer engineering no less, I can assure you that people (even your friend) don't learn to code in a couple of days.
Your friend likely knows how to code already and can therefore acquire enough knowledge about a new computer *language* in a couple of days to do something useful. Just about any competent programmer can do this. Something like LISP or the vagaries of PERL may take a bit longer and it helps if you know an object oriented language.
C++->Java->python is an easy transition, though there are details/language-specific traits that can make things difficult (e.g., iterators).
Of course Freddie had to post this right before finals when I'm trying to prepare an exam. My students get to implement treaps!
Yeah "retraining" current employees to match the work demands has been a recent mantra that admin folk like to use where I work. The older employees just have this baffled look on their face, like "I'm 5-10 years from retirement and you want me to learn a new language for work?" I consider coding akin to learning a new language, but harder or easier depending on your innate talent for it.
I also think that the pace of change, especially with tech itself, is significantly contributing to this rapid increase in traditional careers becoming obsolete or low-wage jobs. I mean, something like the change from hand-woven to machine-made textiles took generations to happen, which gave young people a really clear outlook for the industry and could plan accordingly. Nowadays, some jobs that maybe didn't even exist when you were born have not only already blossomed into popular careers, but some have already started to go away. Tech itself has made job opportunities rapidly change, and it's hard for a single person to keep up without constantly having to 'retrain' themselves. That's something that didn't really exist 100, or even 50, years ago.
All these things have moved fast but our social conditioning hasn't. We think of someone at 60 as "about to retire", a needle that hasn't moved since the New Deal, even though life expectancy has increased markedly. I'm not saying we should aspire to work people til the grave, but our assumptions of "past it" do need to be reassessed.
Yeah but the longer lifespans we now have are not very viable years for work anyway. I mean it's not prolonging youth, it's prolonging old. If anything, ideally retirement should be lower not higher.
I would argue, in a perfect world, the point of retirement is not to stop working because you can't anymore. But rather to stop working so you can enjoy the rest of your life before you get so old and frail to do so. Retirement should be the point in life that you can stop working because you've already worked so hard and long that you get to relax now...and do so while still a fully able-bodied and hale person. It's the time of your life you're supposed to spend time with your grandkids, or devote more time to hobbies, or travel around the country and world. It's supposed to be the time you get to enjoy the fruits of your labor, and not the beginning stage of dying.
You work to live, you don't live to work.
yes
That's great, but I'm talking about people who want to retrain or reenter the workforce being treated as useless because they're too old. There are DEI campaigns to make sure that a team is of various demographics, the one they never mention is age. Tech firms will publicly recruit women and minorities, but not job seekers over 50.
Yes ideally we could all retire at 42 with enough to live on. But we've got gen x and millennials who had careers jacknifed by industrial changes, the 2008 crash, now covid. We should be helping people who want to work. Saying "you should be able to be retired by now" is not much help for someone with a mortgage or rent to pay.
I remember 15 years ago having a conversation with a guy about how there was no real future in web design when it was clear the CMSs were going to be the default and he was all like "they can't automate art". I saw a student using a block coding app and mySQL workbench to make programs the other day and was impressed. Even coding won't be coding in a few years.
When I started my undgrad in engineering in 1990, computer sciences were a minor for electrical engineering students. Graphic user interfaces were just becoming a thing for the nascent internet. All 4 of my roommates were in various engineering disciplines at the time. Only 2 stayed in engineering with a focus on computer sciences and coding. But back then the focus was learning systems and networks as much as it was basic coding. The successful and stably employed comp sci guys I know are the admins maintaining the systems and networks, less so the code jockey writing 1000s of lines of code a day.
An interesting example of what you're talking about:
One of my good friends got his PhD in German several years ago. For whatever reason, this doctorate program had a minor boom in the early 2010s, with many universities opening their own German PhD programs. This seemed ideal for him!
So he went in, got into a program at a prestigious university, did the work, defended his dissertation, and got the paper. Of course, by the time he was finishing his doctorate, this minor boom was already crashing, with German doctoral programs closing at many universities. Fortunately for my friend, his advisor warned him about this, because the available jobs for someone with a doctorate in German rely on there being many German programs that need professors. His advisor believed his own job would be safe because he had had it before the boom happened.
And so my friend, somewhat ironically to this post, learned to code and eventually stumbled into a job at Hulu.
His advisor, about a year ago, asked HIM for career advice.
This is askew of Freddie's point, but I also wonder what technologies like ChatGPT are going to have on the programming market (or any job, honestly). I've asked it to generate some code for me and while it often is missing something to make the code run correctly (a variable declaration or loading a package, for example), it often does a passable job, and it's only going to get better.
I was wondering the same thing. It seems like ChatGPT and its ilk will particularly hit the six-month coding camp graduates. The people doing the really complicated, sophisticated work probably have a few more years of good times ahead of them.
Except after that coding camp grad gets a job, he/she learns quickly lots of new, more in-depth stuff.
I don't expect any of the large language models (like GPT-x) nor GitHub's co-pilot to have a negative impact on the software development labor market. Instead, these AI technologies are more likely to be force multipliers for human developers.
As a twenty-five-year veteran of the industry, these tools only touch 5-10% of my work, which mostly involves analysis and creative design work, by which I mean identifying and refining important domain concepts and orchestrating workflows. It involves disambiguating requirements, prioritizing features, reconciling mutually-exclusive requests and performing archeology on long-lived codebases. Moreover, this has always been the bulk of my work, even when I was a novice.
These tools are amazing, and GPTChat is great, but even if they were reliable enough to count on (as I assume they will eventually be), they would just allow me to do more and enable my company to add more more features / expand our offerings.
Architecture is hard. Coding is easy. The spin on AI is that for the next few decades it's going to improve human productivity but as a replacement? Not on the horizon.
I think the answer from those calling for more to enter the field is that even after sustained growth "computer science majors still have enviable outcomes in the job market."
I buy the evidence you lay out here, but I'd also argue that demand isn't fixed. Cities and countries can build up industrial clusters with spillover benefits. That's not going to negate the effects of greater supply, but can mean an industry collectively can grow, and limits on labor availability can be an obstacle to that growth. I'd say this can also be true for the pharmaceutical worker you cite elsewhere. Yes the premium will slide a bit, but this would be a great time for that sector to grow and diversify to accelerate the vaccine development process to respond to new strains and go after longstanding scourges of humankind.
Of course, sectoral demand is entirely outside of the hand of any individual and future growth or reduction can be difficult to predict. That's a place where those calling for people to go into any given profession should absolutely be held to account. Do they know what they're talking about or are their predictions for fields no better than chance?
Demand might not be fixed, but it most likely will not expand infinitely. Code is a way to automate something that a human would do, so the value of the code can't actually be higher than the value of the human labor that would do the action instead.
As an aside, Freddie was referring to the pharmacist profession, not pharmaceutical development. There was a meme maybe 5-10 years back that people should go for pharmacy because it was a good and well-paid job. I don't think that's true anymore.
Both of these cases are a kind of arbitrage - profession X has a better-than-normal set of trade-offs between pay, responsibility, working conditions, and difficulty of acquiring the job. The problem is that if you need mass media to tell you this, then it's already too late to take advantage of the arbitrage.
"... the value of the code can't actually be higher than the value of the human labor that would do the action instead."
One of the arguments for high software engineering salaries is that the opposite is true: because software can do an action thousands or even millions of times in the time it would take a human to do it once, the software is actually more valuable than the human labor. It's not that the engineer's job is more valuable to society than the manual worker's but that it provides a much larger return on investment to their employer. I'm not saying this is necessarily true all of the time but software scales really well which is a big part of why it has historically been so lucrative.
Pharmacist salaries still seem pretty good, though with a job outlook of slow growth: https://www.bls.gov/ooh/healthcare/pharmacists.htm
(I think that getting vaccines out into communities is part of the challenge, so we don't just benefit from research pharmacists there, but fair point that the profession is much larger than that).
I'd say calling it arbitrage pre-supposes that it is a highly temporary state. That's true for financial arbitrage because moving money is highly fungible. Education isn't highly fungible even if people were blank slates it would still take time and training. But Freddie's other arguments about the limits of the pool of students that would thrive in any given profession help establish why the number of people in any given profession does not simply grow until wage differentials are wiped out.
If someone has the potential aptitude to be a programmer, even today, I'd say they'd be well founded in thinking that it may be a prosperous option for them even if their entering class shifts the balance a bit more towards demand. The broad category of software developer, analyst, and tester has a $109k median salary and expected 25% growth 2021-2031 ( https://www.bls.gov/ooh/Computer-and-Information-Technology/Software-developers.htm ).
This is all true and was a big part of the reason I went into accounting. It's estimated that something like 70% of CPAs will retire in the next decade. The MBA degree has been peeling people off for a long time because you tended to make more money and it was easier. There's scarcely a week that goes by where a recruiter or employer doesn't contact me unsolicited now talking about a job, and I haven't even finished the degree yet (but am close). After more than a decade of taking it on the chin as an English major and accepting whatever lousuly bottom tier office job people would throw me, it's a relief. I'll sure as hell never be in that position again. I can also quit and get hired again at the drop of a hat, which was the entire point.
When I was getting my accounting degree 15 years ago, we were told the same 'Every CPA is about to retire' story as well. Good luck to you, maybe this time it will be different.
They've been saying that about humanities professors for literally 40 years. A bunch are still hanging in there, and the rest were replaced by adjuncts.
So are you retiring or not? JH wants your job and your butt is in his future desk chair!
I have a pension and get to work from home three days a week now. They'll have to pry it from my cold, dead hands.
You may very well be correct. I have no way of verifying any of those statistics. On an intuitive level matches my experience too. Although I might have distorted expectations from all my years trying to find work with an English degree.
For once, the NYT article is pretty good and doesn't just focus on elite universities -- that article either covers normal schools, or schools that are only elite for CS and not in other fields. The students are trying to gain skills to have a financially well-remunerated career.
There's a different thing that happened at elite universities about 10 years ago, where computer science shifted from a small major for weirdos to a "legitimate" path on the upper-middle-class prestige track. Getting a job at Google or Facebook became as respectable as McKinsey or Goldman. I don't know that the money and perks have improved, but the social acceptability has.
Previously there was a heavy selection in CS majors of people who didn't like to play the prestige career game, or couldn't manage the polish/social skills to succeed. Now there's much more representation of the same kind of smart ambitious person as in every other lucrative field. You can see the shift in Silicon Valley over the last 10 years.
Twenty-odd years ago. elite law firms, banks, etc. were in a panic as students from top universities were shunning them for rolling the dice with the dot.coms.
I think it's a bit older than that; I remember seeing it described in articles from 2010-ish as resulting from the reputation loss finance took after the 2008 crisis, and the generally sanguine outlook people had for tech in the mid-oughts. That gave rise to the "brogrammer", "alpha personality" types who picked coding over finance.
I have a good friend from my undergrad days who was an EE major w/ a minor in CS. This was 1990-94 so right as Web1.0 was taking off. He rode that early start-up boom until it busted then taught himself several new programming languages. He then ended up taking a job w/ Ball Aerospace heading a network team that did all the backend and frontend systems for the company. He's still there and says he never missed "coding" at a start-up. He liked having a stable, well paying job with a company that wasn't going to go broke in a year or twi after burning through the VC money.
I think a lot of young CS people get caught up in working at some startup that will be the next unicorn instead of finding companies that, while might not be sexy, will be paying them well for the next 10-15 yrs.
I can understand your friend's perspective, but in a world where winning is not just the best thing, it's the only thing, I can also understand why young people might want to take their chances.
I have a stable, high paying job now but in my 20's I worked at a startup and looking back it was definitely one of the best things that ever happened to me. Not in terms of financial remuneration since it went belly up after a couple of years but in terms of the experience and knowledge I got
I would liken the experience to joining a cult. You show up in the morning, work, get lunch with your co-workers, work, get dinner with your co-workers, work, go out and hit a bar at 10 pm with the sales guys, and then go in on Saturdays. Plus there's lot of sleeping under your desk.
But obviously all that work is great for rapidly picking up the knowledge required for a successful career. And the social aspects were a lot of fun too: a lot of drunk Wednesdays with the sales department plus some insane practical jokes that would undoubtedly get you fired in the current day.
Yeah. The company my friend worked for was like that in a way. Lots of ridiculous perks and salaries. They even had some ridiculous super bowl party just to watch the ad they bought. Like all things like that, it can be a great experience if you learn something from it.
worked at a design firm that was like a start-up in some ways. Lots of after work activities, hitting the clubs several nights a week, ordering food for late night work sessions for deadlines. But it wore thin over time.
Yes! I did the same. It was more like joining a frat or a cult than a company but it turned out to be one of the most exciting eras of my life thus far. I don't think I'd join a startup now but in my early 20s it was thrilling. I didn't make a dime off my equity but I had a damn good time, made some great friends, and learned a lot about work and life in general. There was no shortage of hijinks that would get you fired and/or cancelled today and the company was so young that instead of bring your kids to work day we had bring your parents to work day (I don't think there was a single employee over 35 when I started). Wild times.
The book Uncanny Valley by Anna Wiener very accurately captures that vibe as well as the feeling of becoming disillusioned with it as you grow up a bit. Or you could just watch Silicon Valley on HBO, it's shockingly accurate.
Is this an argument for immigration restrictionism?
“And there’s a natural cap on the number of people who can enter the field: it’s hard to code. Not everybody can do it. It takes a certain degree of talent, and most people don’t have it. It’s a cognitively-loaded field in world where not everyone has the same cognitive gifts. “
My anecdotal evidence of being a college tutor and corporate trainer for a variety of STEM topics is that this is more true for coding than for many other things. Either that or I’m just better at teaching other things... but I’ve seen this story told by enough other people I think there might be something to it.
I've helped a number of people who have been learning to code. Even people that should be a natural fit like my friend who's got a BS in Math, MBA, very good at practical engineering and he straight up couldn't wrap his head around it.
I'm a nitwit comparatively and do alright with it. There's a certain something else that's required.
Somewhat similar to art, you can teach me to follow an outline or do a course and I'll look okay. Will I ever actually create art? Unlikely.
i tortured myself through maybe 2/3 of a camp before i finally accepted that every lecture was straight up charlie brown teacher noises to me and it wasnt going to get better
I'm absolutely awful at math and anything math-related (barely passed my one math class in college) yet I picked up coding like it was nothing. I have a humanities degree and I'm the furthest thing from a natural fit for the profession. I have always been really really good with foreign languages, though, and I suspect that skillset helped me out a lot. I definitely won't ever be working on any machine learning algorithms but I've been surprised by how easy it has been to build a career in software engineering with minimal math aptitude. I'd be a complete disaster as an accountant, though!
Similar here although I've been taking an interest in math as I've gotten older.
How do you estimate the complexity of your code without being OK at math?
Um...I guess I'm decent enough at math to do that? I just never took AP calculus or any difficult math class in college and nobody would ever accuse me of having any particular aptitude for math. I can do algebra and basic arithmetic and stuff. Just much more of a humanities person than a math person overall.
Then you're not so bad at math. =)
Hah I guess you're right, but I was always a good student with perfect grades in most subjects and math was my one obvious weakness. I suppose I am probably still better than average at math but I definitely wouldn't consider myself the kind of person who appears to be naturally suited for a STEM career.
Well, yes, but there is also the issue that with more graduates in computer science we will get more code written, which is a good and necessary thing, and frankly *the* reason we wanted more people to go into CS in the first place, no?
I think one fact that skews the data is that supply and demand is also based on quality. For example the demand for coders who are highly skilled is different from the demand for coders who are not highly skilled. When an industry is in a boom, then even moderately or lowly skilled workers are in demand. But when the industry is in a slump then the demand for the less skilled coders plummets much faster than the demand for the highly skilled coders.
You can substitute "well connected" or "dedicated" or "willing to work extra hours" for "skilled". When you do statistics on a heterogenous group as if it is homogeneous then you can get results that are quite invalid for certain subgroups. This is what leads to arguments. People will say your analysis is not valid because they know people to whom it doesn't apply.
People who say that supply and demand does not apply to various professions usually are pointing to subgroups and not the profession as a whole. If you are in one of the subgroups then the general analysis may not apply to you, but people often assume they belong to a more attractive subgroup than they really do.
It's also the fact that getting a comp science degree and learning to code aren't exactly the same thing. For the last two decades hiring managers have complained about graduates that know nothing about practical coding or even how to code at all.
This gave rise to tests like FizzBuzz (google it if you're not familiar) and other simple programming assessments that still trip up and disqualify people that have graduated from an accredited university's comp sci program.
Knowing how to actually code in a relevant language along with some very minor systems and networking knowledge will continue to pay disproportionately well where as the odds of graduating from school and getting a 6 figure job out of the gate with few practical skills will continue to decline.
There's also the fact that programming/tech work isn't all Bay area startups and the FAANGs which everyone seems to think. Lots of boring companies require competence to build and more importantly maintain their increasingly complex digital infrastructure. That's almost a whole other discussion though.
Of course. Right now quant traders make TEXA$, but if everyone knew how to design the latest trading algorithms to capture maximum alpha, just one of those things you learn by the time you're in middle school, then quant traders wouldn't make much more than burger flippers.
The folks who say "just learn to code!" know all that already, or at least they should, if "learn to code" were anything other than a smug PMC excuse to avoid having to anything about the fact that poor people are still poor.
"Let them eat cake!" for yuppies.
I don't know how true this is for other fields, but junior engineers are difficult to make significantly net positive earlier than ~1 year of experience and the productivity to pay ratio dramatically improves continually from year 1 through about 4 years of experience. As entry level salaries went up dramatically over the past several years, it's created circumstances where now that there isn't as much free capital floating around companies are really looking at costs rather than just output and juniors look really bad.
There is so much more to a career than just having some hard skills. There are so many soft skills required to be successful in your career, and over the years, I've seen more and more people coming into the job market without these skills. This applies to programmers and engineers (and other positions requiring technical skills) as well as people with business degrees, or non-technical backgrounds. In my experience, the people that have these soft skills do better (relatively) than the people that don't.
When I was a kid (late 70s/early 80s) there were all kinds of jobs that I could do - mowing lawns, shoveling walks before I was 10, paper route from the time I was 10 through 17. I got paid to do these jobs (good for me), but more importantly, I learned the soft skills needed to be a successful employee.
I had to get paid by my customers face-to-face, and most of my customers were not shy about criticizing my performance. I learned that I could be resentful of the criticism and have to listen to more complaining every week (ugh), or improve my performance and start getting praise (yay), but more importantly more work or better pay.
By the time I had my first real job (with a W2 and a pay check) I already knew how to work. I didn't have any hard skills yet, but I knew what work meant. It was not super fun playtime - it was work. I went to work, did my job, and got paid. If I did my job, I got more hours, and more money. If I didn't do my job, my hours were cut, and I got less money. (Needless to say, I'm not a big fan of the anti-work movement).
After college, in my first professional job (1985 or so), I started seeing a pattern. People that had worked through high school and college were much more prepared for their career than the people that didn't have jobs before.
And this is not a "kids these days" rant. This is an "adults these days" rant. Part of the problem is that we as adults made it virtually impossible for kids to get the kinds of experiences I was lucky to have.
There are no paper routes for kids any more, they are all car routes done by adults.
For the most part, kids can't mow their neighbors lawns anymore because we have landscaping companies that have taken on all of that work - same with shoveling snow. Even if that's not the case, there is a reluctance to let kids do things like this on their own.
I was able to work for a couple of different businesses when I was 13 and 14 (light janitorial work -emptying the trash, vacuuming the offices). That is nearly impossible these days.
The only opportunity that I see for young kids these days are the mandatory "community service" hours required for school. Unfortunately, most of these opportunities result in a bunch of kids pretending to contribute, while some adults do the real work.
And again, it's not the kids' fault, the adults won't let them do anything by themselves, and immediately take over if they see anyone struggling, so the kids never get to learn anything.
This is something that I think we need to figure out.
Mowing lawns isn't mining coal, and having a part time job is not akin to parents expecting their kids to financially contribute to the family. One of the reasons we can't fix a damn thing anymore is this black and white thinking, where if kids aren't coddled royalty, they're slaves.
Hey kid,
Go out and play. The grownups are talking ;-)
I don't understand the problem. I bring my dog to the groomer every few months, nobody gives me a hard time.
Your neighborhood sounds wierd.
Please refrain from being nasty in the comments section. The quality of commenting here is relatively high, and it takes work from all of us to keep it that way.
When I was about 5, I asked my dad for one of those toy lawn mowers that made noise and blew bubbles ( IIRC) for my birthday. Instead of getting me a toy lawnmower, he bought a used one and cut the handles down so I could push the mower. Subsequently I was now in charge of mowing the lawn instead of playing. It's an amusing anecdote for people but I can't imagine many parents doing that today. Of course I had a paper route and mowed lawns in the summer until I turned 14 and could get a "real" job a the local Burger King. Worst 8 months of my life. But it convinced me to never want to work in fast food again. I worked all through HS and did 30hrs/wk in college because I had to in order to pay for my rent, food and books.
I think quite a lot of Gen Z and Millennial adults were spared the necessity of getting a HS job by well-meaning parents that didn't want them to have to do the things they had to do.
I'm a middle class Millennial (I'm in my early 30s) and pretty much all my friends had part-time jobs in high school. The only friends who didn't were the ones with rich parents, which has always been the case.
I did an ad delivery route when I was a kid, but gave up on that pretty quickly because the effort:pay ratio was so low. Likely with media and ads moving to the internet, that job doesn't exist to the same extent anymore. But other jobs my friends & I held in high school definitely still exist, and I see kids in my parents' neighbourhood shovelling snow for money every winter.
Yeah I'm in my early 30s and I babysat from age 12 and got a real job as soon as I was able to. My brother was a camp counselor for several years. I grew up in a wealthy area and even then nearly all my classmates had jobs except for a couple of the kids with strict immigrant parents who were forced to go to math camp over the summer and spend all their free time studying after school. However, I kept in touch with several of the families I babysat for and it was interesting seeing what happened as the kids grew up - almost none of those kids went on to have any kind of job or even to babysit when they were in high school! I was only about 10 years older than them but the way they were growing up already seemed pretty different from what I had experienced in the 90s and early 2000s.
Another aspect is that not all coders are CS majors. For example, my physics professor/engineer (optics) husband codes in several languages and just taught himself Python so he could write the software for an optical device he's working on. Some people just pick up coding skills and languages as part of their skillset.
FWIW, my now internet-famous friend (now owner of a coding shop) never graduated high school.
Then again, he found it hard to understand that not all seventeen year old humans have patent portfolios.
I knew a guy who fabricated a CS degree for his resume. He coded C++ for some well-known Wall Street firms! Never got caught.
I have seen this first hand. I am retired. In 2018, out of interest, with no plans to leverage this into a job, I took a three year coding diploma at a junior college in Ontario. There were several in the program who were there to "get a job". We also had some really talented coders who had been coding on their own for years (many of my classmates had been in the work force, but not necessarily in IT jobs).
From what I know of them, the great coders had little problem being hired, many by the people with whom they did their work placement. One fellow I know, after a year with one employer, was offered double his salary at another firm. Others have not been as fortunate. I know at least one who still does not have a job and others who looked for up to a year before finding something.
You are right. Not every one can code and those who do it well are even more rare. A Comp Sc degree is no longer a ticket to a great job.
Update: Coincidentally, earlier today, I ran into one of my classmates who, a year and a half since graduating, is back at the Chinese restaurant where he worked before he began the program. He was a big time gamer and a computer enthusiast. I would have put him at least in the top third of our class. We did not get a chance to talk, so I am not sure why he was not in the field.