Why do so few people major in computer science? (2017)
danwang.co
danwang.co
Here's a concrete example to make it really obvious.
How many computer scientists are there in the Lords in the UK? I'm not sure there's any. There are nearly 800 lawyers, doctors, religious ministers, biologists, physicist, mathematicians, philosophers, business people, politicians, authors, composers. A computer scientist who defines the field for half a century is lucky to get knight bachelor.
Look at similar establishment institutions elsewhere. Are there any computer scientists in the Senate in the US? Are computer scientists often invited to lead major public bodies? How many computer scientists become deans of universities compared to other fields?
The social status of computer scientists is zero.
CS people are a tribe on their own (if I may generalize); I've not met anyone with an interest in participating in politics. They have strong opinions on politics, but not to the point where they're willing to represent.
I can't think of many others though!
It also helps against gerrymandering.
I studied psychology and communications and so much of my studies and to an extent my aspiration were in the political/communications/leadership/management field, where in my earlier teens I was I more focused on programming and anything nerdy.
After university, I realized that I didn't (yet?) want to professionally go in the direction of my studies, so I dusted off my PHP knowledge and started 'doing websites'.
Since then, it's become clear to me that I generally prefer and thrive in this world, much as I sometimes miss the 'attending x meetings, being involved with y projects, going to z meetups' side of things just a little bit.
What I've noticed is a few things: 1) these two 'worlds' seem very distinct and I can't switch between the two easily, 2) the more time I spend in 'programmer mode', the harder it is to draw from the 'political compromise' / meetings well, not just in ability but also in patience. I've had to learn to 'manage' and make sure to feed both these separate energies to do my job as a freelancer/consultant.
For example, if I know that I have a meeting with a client on Tuesday afternoon and it's preceded by a few days of serious, focused programming, I make sure to at the very least keep Tuesday empty until the meeting, and ideally some of Monday. When I don't do this the world won't end, but I notice that I'm much worse at handling the improvisational nature of a meeting. I also need more time to prepare for the various permutations of the conversation I imagine might become true.
On the other hand, if I haven't done much programming for a while, I tend to be much better at handling the vague, suboptimal, compromise-focused stuff. And perhaps I get sloppier with my code too, but I'm not sure if that is true and it strikes me as a bit too neat to be true. Still.
Well the outcome is the same either way. And if none of the institutions have any computer scientists in them now good luck to the first few people trying because they work on social connections.
There's a social ceiling to computer scientists. I won't call it a glass ceiling even because everyone can see it.
Take an institution like the NSA - where probably some of the best computer scientists and mathematicians are working doing some of the most cutting edge work with the best resources. Who leads them? A low social status computer scientist? Of course not. They get in a high social status military officer to do that job - can't trust the computer scientists and can you blame them because they won't have any influence in society to get anything done anyway!
He’s not a computer scientist, but he’s also not an English teacher they just stuck in charge because he has a star. He’s highly qualified for that job, as are most people who have been assigned there. NSA does a lot of things that are not computer science, and many senior people there do come out of the engineering and CS fields.
He is, yes. And one of his essential qualifications needed for the job is being respected by the establishment because he's come through the establishment institutions and a profession respected by society with a combat action badge, rather than a technical contributor, which society does not respect.
Having a CAB is not one of those qualifications, most NSA directors have not had one or had any combat experience.
Just as most CEOs are hired for their business expertise, not only their technical abilities.
A few opinions:
* scientists (computer, life, or otherwise) do not think their talents are best used in making public policy. There are so many other ways those talents and intelligence could be used
* perhaps worse pay (though the benefits, and opportunity for jobs after elected office, are certainly stellar)
* the process seems toxic compared to other ways to make a living
The first and last bullets seem the most important to me. Business and academia have some similarities with government, since in both cases they involve:
* writing, with the intent to better the world somehow
* raising money, whether from selling a product, grants, or donors
* using evidence to decide what to do next
The day-to-day work seems reasonably desirable, but the way that work must be done is, I think, the dealbreaker for many scientists.
At a company, everyone you work with on a daily basis is generally in step with the overall vision. Some teammates may differ on details - which language or data store, how to architect something - but the goal of the finished solution is mostly in agreement.
In government, there are at least two groups of people who publicly profess to have VERY different ideas about what the finished solution should accomplish. And even if you get elected on the team you think has the best goals, you may no get to work towards those goals directly, since the other team might have the majority of seats.
I have so many more thoughts on this, but I'll save that for a blog post. I'm curious what others think of this though.
Assuming that's true, it makes sense from a 30,000ft level. CCP requires leaders to meet some socio-economic goal and that requires competency and a loose ability to apply scientific methodology.
In the U.S. it's much more important to argue your case, sound good and wiggle your way through the rules of law to get your way.
The above is an obviously charitable view of the Chinese system, but I can't help but feel that the U.S. has become too comfortable and apart from reality which this pandemic is now checking us for.
As a result, the education level of the current Politburo members is shockingly low. For example, Xi Jinping barely finished his middle school, then went to Tsinghua as a Worker-Peasant-Soldier student[1]. Apparently he was not well-educated, as he makes so many illiterate mistakes [2] in public speeches.
[1] https://en.m.wikipedia.org/wiki/Worker-Peasant-Soldier_stude... [2] https://zh.m.wikipedia.org/wiki/%E5%AF%B9%E4%B9%A0%E8%BF%91%...
A scientist probably finds the challenges to overcome in technology much more intellectually stimulating than she finds the challenges in politics. Which makes sense because people tend to get good at things they enjoy, and scientists need to get good at overcoming challenges much like technological challenges.
Even though making laws or doing science both require writing and documentation, the challenge in a lab or on a computer is very different than coalition building amongst hundreds of very different people.
Not sure there's any conclusion to draw here, just wanted to share my personal experience.
Whatever value we assign to that background plainly weighs less, even among people who might be a natural constituency, than agreement on various issues. Which is fine, but that means we believe the background just isn’t very valuable.
I do know CS majors went through a huge boom in the 90s and then a shakeout happened after the dot com bust.
As for CS majors in Congress, well, I would not expect them to start popping up until another decade or two goes by, given the average age of a Congressperson and the relatively young age of CS as a discipline.
Most of the time when someone says they work at SAP or Oracle they get a "God I hate SAP" because they're using a GUI from 1990 that looks like ass and is not intuitive.
But you are also right as well - and you'd be surprised at how inefficient it really can be.
When I did my EE degree a friend of the family was pleased that I'd be able to use my Honours Degree and mathematical insight into Maxwell's Equations to get a good job as a TV repairman.
There's a strong class bias against people who do things. The class ideal is someone who owns things and tells others what to do in broad terms ("business strategy") and then leaves the little people to fill in the details.
One of these people asked me to contribute to a course in iOS app development. There was a lot of fluff about work ethic and marketing, and then I was supposed to come in for half a day at the end and explain to a room full of teenagers who had never done any programming of any kind how to build a complete working iOS app - "Something simple, like a map of house prices in the UK, or something like that."
But I work "in computers", and the only thing to talk about is "so, my computer has started making this funny noise..."
I find the same bias against people who do things in work life too. I have an MBA, but routinely find myself marginalised in meetings because I code. Somehow the guy from Sales who doesn't understand how the product works has a more respected opinion on our market strategy than the guy with the MBA who literally understands everything about both the market and the product (because I designed the product to meet the market). It's frustrating.
Much of what can be said about CS in the UK is true of the "technical middle class" in general.
https://en.wikipedia.org/wiki/Great_British_Class_Survey#Tec...
"The technical middle class, about 6 percent of British society, shows high economic capital, very high status of social contacts, but relatively few contacts reported, and moderate cultural capital. Occupations represented include medical radiographers, aircraft pilots, pharmacists, natural and social science professionals and physical scientists, senior professionals in education establishments, and business, research, and administrative positions.[17]
The technical middle class is relatively well to do, with an average household incomes of £38,000, average savings of £66,000 and houses worth an average of £163,000. Members of the class report the lowest number of social contacts of any of the classes, though these do tend to be high status, probably mostly other professional experts. It is relatively culturally disengaged with both highbrow and emerging culture. Women comprise about 59 percent of this class. Many of technical middle class do research or scientific and technical work; a portion of the graduates are from established and prestigious universities with strong reputations for science, such as University of Birmingham, University of Warwick, University of Cambridge, University College London, University of Southampton, and Imperial College London with degrees in science and technology. Many of the technical middle class live in South East England where scientific and technical jobs are to be found. If they live in an urban area they live in the suburbs. Many of them have middle-class origins but are less engaged socially and culturally with the arts and humanities."
Going on a tangent here, but I observed the same thing while reading Proust's "In Search of Lost Time" when I was in high-school (20+ years ago), i.e. that the "technical middle class" and even the "technical upper class" of late 19th century France were way below the aristocracy of that time.
A respected engineer who had graduated from the "École des mines" and who might have even held a job as a Government minister had no chance to attend the parties hosted by the duchesse de Guermantes. Things might have changed in the meantime, though.
(Though that might not be his primary qualification.)
I know more about medicine than the common doctor knows about computers though. Seriously, doctors in my country are selected from the best pupils and the result is mixed at best.
Judging the knowledge and context of amateurs is where most professionals fail regardless of occupation, but if you see a doctor in front of a computer you might quickly loose all faith in humanity.
That said, I don't think you need formal education in computer science, since knowledge is broadly available online. It doesn't hurt to be nudged in certain directions for a semester or two though. My university always paired physics or electrical engineering with CS. there is also a less popular option of philosophy. The latter was historically a popular combination when CS wasn't its own degree.
So it's easy to assume IT requires less skill, it's accessible to anyone. Since everybody has some knowledge of computers, they keep their computer chugging along, they assume IT is that just at a slightly higher level. They know enough to form an opinion but not enough for a good opinion. This leads to plenty of misconceptions like thinking game testers spend their days playing games and having fun, sysadmins reboot machines and reinstall some software, etc. (some, in all honesty, aren't that far from the truth :D).
An IT job is probably seen like a mechanic's, the kind of job people can't live without, can't do themselves, and will never really appreciate or hold in high regard. IT is the blue-collar of white-collar working.
I used to compete with people who got masters at same college I dropped out of. I won easily, I was forced to hire various graduates and they were nearly useless.
There are plenty of talented people from many walks of life, but statistically speaking, higher education is correlated with higher achievement and productivity in computer science. I can’t even believe it would be controversial. More advanced training and more network effects obviously lead to more opportunities and more productivity, in an aggregate sense.
There’s no mythical “diamond in the rough” formula for scouting amazing talent among dropouts.
And to be honest, a ton of real, actual value for society comes from workers fitting into standardized workplace systems, spending time on anti-harassment training, going through project management exercises that elucidate business value, and trying to absolutely get rid of false “Steve Jobs” like mentality of playing the lottery on hunches about user desires. Many people for whom university education was too structured and “too much bullshit” also lack skills and talents required to navigate that stuff in real workplaces.
In the early 2000s there was a big need for skilled developers with strong personalies. Now they prefer developers who follow orders vs skill.
In some places doing less will earn more credit. They don't fit in well in those environments.
I think this is survivor and selection bias. There were thousands of dropouts in every cycle and you'd never hear of most. For the ones that ended up being the best, school was probably the limiting factor rather than an enabler.
I see some kids these days doing the same, justifying dropping out of school because Steve Jobs, Bill Gates, Mark Zuckerberg dropped out and they're billionaires, ignoring that they dropped out because they could do better than what their universities could offer them, and they dropped out of Stanford or Harvard not community college or small town high-school.
I went to a good school and from my generation a single drop out was successful in his career. He dropped out because he wanted to develop his company and he did. I have friends who still finished their studies even while building companies with tens of millions of Euros yearly revenue. Everyone else who dropped out ended up in menial jobs. Car dealership salesman, cashiers, etc. I'm not going to argue the value of a career but the point is they were certainly not the best. I think you are the exception, not the rule.
Gate's parents had friends in high places, went to high quality schools, and he was a trust fund kid. He was in no danger of failing and didn't need to worry about money. He could always just go back.
Zuckerberg had a private tutor. They had basically already had a college education by the time they graduated high school.
Jobs was a smart, hard working dude who was in the right place at the right time. America in the 70s is a VERY different place than America now. The ladder has been pulled up.
Trying to emulate that is foolish.
Also, since we are throwing around anecdotes like "I find my untrained co-workers to be better than my trained co-workers": I have never worked with someone who does not have a college degree that I was happy with. It does not have to be in CS. I am well aware there are counter examples, but that has been my observation.
Now I would hear stories about MIT, and be impressed, but many schools had very out dated programs.
Breadboards were cool, but I wanted to learn software.
Assembly was neat, made me a better programmer. I’ve Never once used it.
Whole series of interesting but not practical skills. I ended up running school newspaper. That was super useful for getting career launched.
I always forget because I went to DePaul University which focus is on practical software development as opposed to making me take organic chem for no apparent reason.
At what point will I face the decision to be "too old or move on to management?" What separates what I'm doing from an actual "career"?
That's not to say that it isn't possible to survive past 40 as a programmer, my point was just that this is a deterrence for getting a Computer Science degree. Think about any other profession; doctor, lawyer, engineer; the perception of these professions is that they get better with age. Computer Science is totally opposite, it's a field dominated by young hotshots who spun the wheel'o'algorithms and got lucky.
When it comes to jobs mysteriously drying up: you're talking about ageism. Thanks to covid-19 almost every offer I currently have on the table is remote, and I have 6 years of remote experience under my belt already... I predict that ageism will start to fade along with traditional office work. At the very least I can fudge my resume and make it look like I am younger with less experience if absolutely necessary.
Furthermore I have known many over 60 programmers who have no issue getting a job. Ageism might be an issue in silicone valley and might prohibit one from getting a gig at a new start up, but I believe this problem is overblown. I think that some older devs just fail to keep up with the industry, lose their passion and blame their personal failures on ageism.
My comment is about the perception of older programmers and why this may affect enrollment in Computer Science.
I agree with your analysis, but this is not the perception that the general population holds.
https://studee.com/media/mps-and-their-degrees-media/
(The civil service is stuffed with PPE grads too.)
So software people look at status as a game that is 1) pointless (as Nicholas_C said here, "play stupid games, win stupid prizes"), and 2) one that is stacked against you, since you start with no status. Most software types look at that game and say "Why would I bother? I've got better things to do."
Another take: CS is in no small part just an obscure field of mathematics with only tangential contact with the real world. No wonder people don't care about it. Software engineering, on the other hand, should have higher social status.
CompSci is a very young field compared to those. It wasn't even a college subject before the 70s or so.
Did that work at all? Someone would have to be looking at your resume, skip your jobs and graduate degree and then notice what you did for undergrad.
Not true at all. They get excited because you can build their amazing app idea. It's just like facebook but for... Oh no, you won't? Oh okay. Well let me give you my card in case you change your mind.
Here in the US, you rarely study computer science to become a computer scientist but rather to be a highly paid engineer or eventually obscenely wealthy founder. The same is true for philosophers, authors, politicians and composers; increasingly, the same is true for biology, physics and even law. You study these (or any of these fields) to show some ability for abstract thought to get you into the career of your choosing.
In the US, notably, the field you actually study increasingly seems to have little to do with what you do later on in life; that all seems to do with your socioeconomic class, who you make buddies with in early schooling, who your parents know. It doesn't matter if you study law at Harvard if you don't come from wealth; and likewise, it doesn't matter if you study CS if you come from wealth. And inside the middle class to upper middle class, studying either field isn't very likely to break you into the upper class; only starting/scaling a business will.
Looking at members of the senate is also not very useful. Sure, "computer scientists" may not be represented in the Senate. But wealthy "applied computer scientists" who started companies (Bezos, Gates, etc) hire lobbying firms that essentially purchase the behavior of these senators wholesale. They have more clout than entire nation states.
Still, with that said, there's a difference between clout and high social status. But I observe that high social status is something that pertains to caste and heredity, not necessarily field of study.
That's I think where I disagree. I would say that wealth is almost always a consequence of status and influence than the reverse, with maybe the express exception of CS/tech because of US entrepreneur/startup culture -- even that is debatable, but we can at least come up with examples, in large part because tech is so young as a field. If tech is, say, 50 years old compared to common law which is 2000+ years old, to what extent should we really be drawing comparisons and to what extent should we be saying "well, the /field/ is up in the air even if human socioeconomic relations are not"?
Are computer scientists invited into the club before they have money? No. Do they get offered the opportunities that money doesn't buy? No. That's the difference.
No, because he's getting invited to join elite private social clubs and organisations. He's going to dinner parties with politicians and could use that network to start a political career if he wanted. He's meeting people with capital to invest. He's on the sports team with influential people. Etc.
There's a whole real-life social network out there, and they definitely aren't inviting the programmers.
Your examples are all from the perspective of someone inside the British political system. Are these jobs high status? Not from my viewpoint - there's no way I'd want to be e.g. a civil servant, a Sir or even a politician in the existing parties. A whole lot of people hold this class in contempt, really. If a senior British civil servant turned up at a social gathering that happened to be mostly software engineers and successful company founders, do you think they'd get much respect? People would be polite, certainly, but I don't think they'd have a circle around them hanging on to their every word.
I've visited the elite London social clubs. I've also had dinners in the back rooms of fancy London restaurants with investors, journalists and other members of the British 'elites', invited there specifically to talk to them. So I guess I find that world a bit less impressive than normal. Actually I've repeatedly visited two private clubs, both closed to programmers normally: one is for people in the arts and one is for people in finance. I've close relationships with someone in the arts and someone in finance, both of whom make lots of money and thus purchased these memberships. They can take guests, so, that's how I got in.
There are some perks. They have nice facilities in good locations. The receptionists, waitresses and many of the guests are very good looking, they must find them in modelling agencies or something. Would I pay to join one if I could? No way. They're ripoffs: you can get nice bars and hotels anywhere, and there are far easier ways to make business contacts in our world than going to those and hoping you bump into someone.
For example, if you want to meet investors in the UK I can hook you up in ten minutes. It's way easier for people like us to get meetings with investors than basically any other group. People know computer scientists can multiply money like nobody else. I'm actually surprised a lawyer would get the time of day from serious investors, it's certainly not an advantage of his social status.
In the end it's all relative.
> There's a whole real-life social network out there, and they definitely aren't inviting the programmers.
Is that really the case? Or is it just the case that they're not inviting the kind of "programmers" that GP knows/is (and for what it's worth, I consider myself an engineer, not a programmer)? For what it's worth, as a 30 year old "just an IC" in tech, I know a lot more HNI individuals and "high status" people (supermodels, executives, musicians, scions) /and/ find it way easier to get meetings with folks in /their/ network if I want to than my peers from university who were just as ambitious as I was and who went into law, management consulting, banking, or academia.
While I wouldn't say my experience is necessarily indicative of the average IC in my field or world, it is certainly not unique; indeed, my managers at previous firms took very similar trajectories. But then again, this is based on my experience in NYC. As the world is changing, I do think there is an increasingly accelerating understanding that the wheels of power are increasingly being seized by technology, and that those who utilize it to do so have the world as their oyster.
I'm not sure if someone in your position is in the right position to be making this conclusion, if only because your lack of experience of social status (or those of people who you know who share your vocation) doesn't prove the vocation has any causality on social status. If there is a real-life "social network" out there, and "the programmers" (of which you are one, presumably) aren't getting invited, what is the inference to draw there? That programming is inherently low status, or that many low status people are in the vocation?
To give a counterexample, much of my career has been "just a programmer", but I have never had issues building close friendships with investors, executives, musicians, actors, and other well connected people. But elite private social clubs and organizations? Dinner parties with politicians? That's all passé. That's what people who _want_ to signal high status but actually can't do. And all of the politicians and investors follow the trailblazers who are scaling creative collectives and entrepreneurship federations who are in...you guessed it, my friend group.
As I have gotten older, I have become increasingly annoyed with the "programming is a low status" vocation trope. It's incredibly naive and simplistic. You think other vocations are higher status? Your friend who is a barrister isn't high status. He looks high status to you because you've never seen what truly high status is. That isn't a dig at you; rather, it's an invitation. Reserve your judgment of the world and how it works until you actually meet and party with these billionaires, politicians, and inheritors of nobility/trust fund wealth.
Having gone to college with these folks and having made friends with them, I'll tell you that the way they work is a lot different than what you think. They are almost allergic to these vocations that you would think of as "high-status" because they think these people are upper-middle class try-hards who are simply lame. They want cool artists, musicians, photographers, club promoters, entrepreneurs and other exploration minded folks as friends. Money and vocation can't buy cool. And programmers can be very cool. But you'd have to try and figure out what that means. It usually means you have to follow more of the hacker ethos than the academia ethos. You have to have a little bit of a piratical penchant for creative destruction.
I disagree I think I have a unique ability to make it. I have two simultaneous careers - I'm a programmer and an Army officer. I can see what parties, clubs, dinners, social events, social connections the two versions of myself are invited to, and how both are treated socially.
I can directly compare the two experiences with all other variables controlled - background, education, accent, cultural awareness, where I live - just by changing the hat I'm wearing.
How can you make a better experiment than that?
You would need to make real, deep friendships with high status individuals over a long period of time and observe how they behave, what motivates them, what they have access to and what constrains them. And you'd need to do it while you're both still young and formative life experiences are still being made. It might be too late for you to do this because the best time to do this is as early in life as possible, through formative social experiences: high school, then college (not as ideal), then early career (under 25 -- even less ideal). At each of these points, people and their social groups are progressively more crystallized, and your likelihood of making friends with someone outside of your class decreases precipitously.
Your "experiment" (I would hesitate to call it that) is really just two separate experiences held by one person. In all likelihood, the things that are held invariant there (you, the person) including strengths, weaknesses, formative social bonds, socioeconomic class that you were born into -- all those have much more of an effect on your outcomes than anything else, and even if you do see slightly higher social status as an army officer, it's not truly high status, the way examples I gave (billionaires, investors, children of nobility, famous artists and musicians) indicate. They live differently. They inherited their already high status, and continue moving savvily to increase it further. They are the results of many generations of this. If you're not friends with them, you won't get invited to their parties and you won't see their world. You won't understand. Their world is /completely/ different than yours. Theirs is ruled by tradition. They have obscene amounts of resources. They can do whatever they want. They maintain their position. You cannot experiment in any way possible that would imply anything about the way they live their lives; to think otherwise would be very naive and simply at odds at reality.
If it seems like that's unfair and that makes it tough or impossible for you to experimentally verify: I'd say I agree with you, but that it was designed that way on purpose over thousands of years.
And don't take my word for it. Make friends with these people, if you can. See how they see their world and move inside of it. Your priors might change. I know mine did.
This is backwards - in order to see how people treat people based on their profession, you can't make friends with them... because then they aren't judging you on your profession any more, are they?
If the exact same person is treated in two different ways, and absolutely nothing changes except their profession, then the profession is the only possible cause of the difference.
You try it! Go into an environment presenting with one profession, then another, and see the difference! Book into a hotel describing yourself as 'doctor' and you'll get treated differently than when you book in as 'mister'. You can try it yourself and it's plainly obvious that society sees a difference.
> it's not truly high status
I think you're possibly lost track of where this started - I said A was lower than the B. You're trying to argue with me that B isn't the highest, but I never said that - you're arguing against something nobody said in the first place.
In essence, it's about the professions that work closely with other people. If you're high-ranking in a profession that provides an personal service that matters to socially important people, you'll have influence. Does your profession bring you into personal contacts with important people, where they are motivated (or forced) to rely on your specific personal competence? That will buy you their respect.
Not sure that this is US specific, I think this has more to do with people studying things the economy doesn’t really have a need for (which while inefficient is fine by me)
Nonsense. I was talking to my office furniture dealer tenant about a fellow hacker. This man doesn't know a computer from an air conditioner. After I said "he previously worked for Google and Facebook" his face lit up and replied with something like "Wow, he must be good then." Never underestimate the layman.
Not sure if this translates well ( not a native speaker ).
[Spoiler Alert] There's a great scene at the end of Silicon Valley's last episode where Gavin Belson, the failed tech CEO, leaves tech to become a more artsy-fartsy writer with a passion for the arts. Only then does he actually start to be noticed by organizations outside the Valley. Even the stars of the show, Richard Hendricks and gang fade into obscurity at the end of their startup journey - not even future generations of tech people have heard about Pied Piper. I think that is a brilliant portrayal of the reality of most people in tech - they have almost zero historical significance, ride on the waves of economic cycles, and even if they are obscenely rich (like Bezos), they just don't matter to progression of human culture. Even Elon Musk gets much less respect outside of technocrat circles than we think. On the other hand, everyone respects the like of Margaret Atwood, JK Rowling, or Barack Obama.
A lot of it is just grooming: Lawyers (and doctors) are groomed and almost expected to have socially prominent aspirations. Programmers have not but it's not like they really asked for it, most tend(ed) to be politically aloof.
Angela Merkel is also not a physicist. She studied physics and then published a few papers in 'quantum chemistry' but for basically her whole adult life she's been in politics. She's as close to a professional politician as you'll find.
I know it wasn't you but Rowling and Obama are odd picks for high status individuals. Rowling is well known but is currently having her reputation blown up and being stabbed in the back by the starlets she birthed, because she's not on board with "people can pick their own gender at will". Obama was high status when he was POTUS; where is he now? Does anyone know what he's up to these days? It's not Obama himself that had high status but the position.
In my experience Musk gets a lot of respect. I know a totally non-technical financial CEO who always cites Musk as his inspiration. The guy even likes to see himself as kind of like Musk which is hilarious to me, as he is slightly more likely to be struck by lightning than sit down with a pile of textbooks to learn a new technical skill. That's just not who he is.
Wow. So much to unpack here. I’m getting the impression that you sympathize with Rowling’s views. I’m a little more immersed in trans issues than most on HN, so let me assure you that Rowling is flat out wrong. For example, in her essay she alluded to (but didn’t cite) studies that have been discredited. A lot of her central points are easily dismantled when faced with reality. Her arguments are only convincing if you aren’t familiar with the issues.
You also echoed the idea that trans people casually picked their gender. If you ever talked to a trans person I’m sure you’d realize just how wrong that idea is. All the trans people I know report feeling like they had little choice. I can’t tell you how many times I’ve head trans people say things like “I would give anything to be a cis X”. By portraying it as a casual choice you’re belittling the daily struggle trans people endure. It’s not “just a choice” if transitioning is the only way to suppress suicidal urges, and suicide is rampant among trans people. The 2015 survey found that 41% of trans people had attempted suicide during their life. The percentage of people who had considered it was MUCH higher, but I don’t remember the exact number. It’s not a choice when your options are live or die.
I’m speaking not only from the experience of participating in trans groups, but also as a trans person myself.
At any rate, my point isn't about the topic of trans people. It merely illustrates that Rowling's social status, such that it is, doesn't seem especially helpful to her right now, leading to the question of whether she truly has any. Elon Musk can get high in interviews, make tweets so controversial he gets literally gets fined by the government for them and he just keeps on trucking: apparently his status is far higher than hers.
It isn't. At all. It is word for word what I'd expect from a malicious misrepresentation of what transgender activists believe and want to achieve. You may not be malicious here, but you are repeating phraseology that has been planted in the public consciousness by those who are.
There's at least three different arguments happening at the same time, all using the word "trans", making it really hard to pick apart which one any given person is using and making it really really easy for their opponents to paint them in a terrible light.
It's just that for lawyers , politics is almost part of their normal career progression: you go from law-student to law-maker. Political scientists or economists becoming politicians is similarly easy to grasp. Medical doctors and engineers less so, but what matters here is they are both regulated professions, regulated by lawmakers so there's a long-standing relationship.
This prejudice seems largely absent from health-care workers, for what it's worth.
(Nurses and nurse-adjacent professionals seem to think of doctors as much bigger jerks and sexists than programmers, whereas I think a lot of creative professionals now view programmers and various kinds of scientist / engineer as pretty much the ur-sexist-jerk).
I've never lived in SF so maybe it's different there, but in my experience in the industry the "tech bro" thing is a complete myth. Most software engineers are just quiet nerds/geeks, mostly Asian + Indian, and are the absolute last thing from being "bros" (unless the word "bro" has been redefined and I never got the memo).
As an aside, calling women 'females' is definitely something that can set off alarms cause it resembles the kind of language that certain sexist men use. Not saying that using it makes someone sexist, but that it can make someone sound like other people who are.
Of course, but that doesn't mean that "sexist quiet software engineer nerd" is a common personality type. In my experience the "quiet nerds" tend to be the most kind people.
Also I've found in America that most women seem to prefer dating outgoing men, so I'd guess that most of these women aren't dating these "quiet nerds".
> As an aside, calling women 'females' is definitely something that can set off alarms
Never realized the word had that connotation to some people. Sounds overly sensitive, but I'll use "women" if that's preferred.
Caring about what everyone else thinks is a sure way to be miserable in life... The masses in general are poorly informed and understand nearly nothing out of the world that surrounds them, it's no wonder they give more respect to the author of the book that they liked or to an insanely hyped president than to someone who made a big contribution to technological progress. In other words - do good work, but don't expect people to praise you for it. It's perhaps good enough if they don't burn you at the stake...
But not so popular writer not much respect, no name wrestler even less.
Brand is status.
I totally agree with you. I believe this is one of the factors why women hesitate to enter the field. They are more socially aware than we are.
Also, even in IT areas, technical capable people are relegated. We get good salaries but we don't get fancy titles. We are the only profession that allows to be managed by outsiders. Financial firms(and finance departments) are always headed by a experts in the field, same with lawyers, architects and finance. But we are managed by people that are not experts.
Sorry for the confusion. We as in "We men" not as in "We HN readers". I was just speaking as a man.
Is there any evidence that women are more likely to choose careers with high social prestige?
I find this doubtful, since in North America at least the traditionally female-dominated job sectors seem to be the ones with lower social prestige. Compare the prestige of a nurse with a cardiac surgeon: which is more stereotypically male?
India also has problems it seems, eg http://bwsmartcities.businessworld.in/article/Is-India-Inc-C.... I wouldn’t say any country has really solved this problem.
People in Canada at least don't do more than pay lip service to those professions. They're remunerated poorly and yes, they have low social prestige.
If you wanna pick up a girl at a bar, do you lie and tell her you're a nurse? No, you tell her you're a cardiologist.
Nobody really respects nurses and teachers. Not saying I like it, but that's how it is.
Some people get titles like "code ninja", although I suppose "fancy" isn't really the right word for that.
Like, that just doesn't look cool. I've been saying this for years. It's no wonder it doesn't look sexy nor command much respect. Especially not compared to a guy wearing a well tailored suit.
Sure, it feels good, but that's the same rationale for wearing crocs. You feel great until you look down and realize you're wearing crocs.
I think you got it wrong. That suit guy has to wear it, because his trade demands it, most likely for that image which has to be conveyed. That programmer can afford to wear that hoodie and still to demand his salary, yet nothing limits him to the hoodie outfit, you see?
And my contention was that programmers choosing to dress in hoodies and casual pants doesn't seem to help, whether they have a choice to wear it or not nor whether it has any bearing on their salary.
To put it in other words, person might see a programmer guy in a hoodie on his way to the office, and that guy might very well command a six figure salary, but that's not the observer's perception or first thought.
I'm not arguing about which is right or just, I'm just arguing about the reasons of why things are the way they are.
And maybe, you might think: who cares? Let them think that. Which, again, fair enough. But in the overall grand picture, if a lot of people have similar perceptions, it might not bode well for our profession overall. I mean, it's not just about attracting the opposite sex, it's also, as some already stated, inspiring more people to do take up computer science.
The testing or whatever tips on the toilets also felt a little invasive.
Not that it disproves your statement that the titles are uncommon, but hey, I just want to stand up and say "Hey, us professional hackers and ninjas and cowboys are REAL!"
If you want there to be a 'we', that would be called a workers' union.
'Professional' is when you have a strong union that forces companies to treat you as a human being, something they'd much rather not bother with.
The entrepreneurial disruption mentality historically has been a "we are sick of your bullcrap and trappings, you idiots haven't been listening so we'll start our own".
That it has worked repeatedly and utterly devestated many titans corporations run by "professional" men in suits effectively validated their iconoclasm and rejection of the standards of old. It may be arrogance but there were enough validating moments to understand why.
Suits have taken on a negative connotation. It is implicitly seen as hidebound dinosaurdom and an admission of form over function. Sort of an assumption that if they are wearing a fancy suit then they are an empty suit.
Totally agree. I remember talking to a girl in math class, who, while she liked the idea of using Python to solve problems, when I tried to extoll the virtues of CS to her so that maybe she'd take more courses, she regaled to me how her dad is a programmer and how miserable his job appeared to her.
That's assuming women are after social status, which is a strong claim.
Also, it's a relatively young field really, in terms of the HoL.
Lord Sugar ran Amstrad, a computer company, but he doesn't strike me as even being a programmer or electronic engineer (I could be wrong). But HoL is a sort of upper-upper management type gig AFAICT.
Should computer scientists have some special social status? I imagine it's like, Idk, soil science, people probably don't know it exists and then probably think you're a farmer (IT support/Programmer).
Likewise, you might also be coopted to reach the recognition to become a knight or a lord.
That's a steep cliff to climb in a lifetime if your work field and its impact on society are not understood by most of the population (they're definitely not).
Also I would kill for a product owner role. The idea that a programmer can get into a PO role is laughable. I've never seen even the glimmer of a chance of that happening to either myself or my peers.
Also, I think you don't work in a pure tech company. My experience in the valley is that programmers are considered first-class employees. All my managers were programmers, some programmed on side. They understood all the complexity that goes in building a software. You can try moving into one of the pure tech companies.
This really struck home for me about 15 or so years ago. I was a "principal architect" at Travelocity, which meant that I was involved in driving the most complex technical decisions of the site. I felt like I was really doing well for myself - it was the top of the "tech track" there. One day, corporate asked people who had graduated from a set of local universities to speak to graduates of those universities - since I had graduated from one, I told them I'd be interested. The woman I talked to actually seemed shocked and said (no exaggeration), "Oh, I'm sorry, I should have been more clear, we were looking for people further along in their careers".
Instead of digging your heels, and telling her your speech will be much more beneficial to both the students and the company, you did the typical nerdy thing and avoided confrontation and just left
I think OP did the smart decision.
You’ll never know if you don’t ask, and there are no stupid questions.
It's like when you learn a new language, one of the first things you learn is how to say "I don't speak X well, please slow down" in that language. Same with debate: learn how to say "I'm trying to better understand" to prime the other person for a conversation. Sometimes they'll start talking for you–that's even a common negotiation tactic, to let the other person talk to basically give you a few points to think about questioning/rebutting, or look for contradictions.
I think I'd only be able to do that if I'd had the same conversation previously. Come to think of it, sounds like just about every tech interview I've ever had.
It took years until I came around to the same realization for myself. It's significantly harder to coordinate and architect "layer 8" bullshit than it is to write apps or lay networks. And there's infinite layers of complexity in it as well.
You don't hear a whole lot of people in management claiming it's fun like you do in software engineering. That is probably a clue. Well, it was for me anyways.
Most people equate Computer Science major to code monkey / grunt. And, to be fair, in many places, that may not be far from the truth. Many CS graduates are simply working on building CRUD web apps.
And, even worse, sometimes you got the people who think a CS degree means you're a technician / computer repair person and that you can and will help them with their computer issues for free. sigh
Yet I'd say it's the pursuit of intelligence that makes a person interesting in the first place, not the pursuit of gaining social status and a lot of money. So I'm quite fine if the common folk are that dumb to think that CS is inferior compared to those degrees, as if they somehow knew the difference. A lot of course depends on the institution and the quality of the education, as the lower prestige colleges definitely produce lower quality CS graduates than their equivalent in lower prestige med or law schools. I guess social ineptitude being more heavily represented among CS folk don't in the least improve their chances.
But to make a point, yes while the common folk might think that CS graduates are nerdy Gollums who code in a dark closet all day, that is just their prejudice getting the best of them. There are a lot of very smart and diligent people graduating with CS degrees, who with better social skills would be as good or better than the doctors and lawyers alike in problem solving in positions of power (such as the house of Lords). I myself though know only a rare few who would be even remotely interested in such, so I guess the situation will remain the same into the far future. Hopefully though some get involved with their communities' politics. Shipping a piece of fragile software with many stakeholders I imagine is somewhat similar to iterating a best policy involving all constituents in question. You just have to know how to sell it and get people aboard.
Regarding the politics in a democracy (UK and beyond), yes, it's a good point to look for the political apparatus as it presents well enough the essence of the underlying game, with its public image grooming and selection, all tailored to the perceived status in the masses. But then, looking at engineering (CS and other fields), I fail to see anything detrimental to public image buildup. May it be that engineering is a gate with a higher cost for a mere pass through when one aims to politics and thus makes itself a deal-breaker to that end?
Regarding the perceived lack of social status for engineering in general, I consider it a blessing. I'm quite glad there is a field where people have to be paid well (for their hard-earned skills and due to the sheer market demand), yet the status whoring game is relatively limited. I'm only afraid that it won't last.
Say an adjunct professor who makes less would be considered higher status than a mining CEO of a multimillion dollar company. In the US the CEO would be higher status without question - even if some may frown upon their business practices.
Computer science is still a relatively young field so looking for status within the traditional framework would be a mistake akin to sneering at the pioneers of the industrial revolution for getting rich through practical means rather than conquest or rents.
1: You must overcome the immediate uber-nerd stereotype by being in relatively good shape and having basic social skills (small talk)
2: You need to give people a minute to google "average software developer salary"
Sure, you won't have the social cache of a Doctor, but I'd say it puts you pretty high in the social hierarchy based on personal experience.
To me it comes down to some CS-specific version of Mike Tyson's (perhaps apocryphal) quote "everyone has a plan until they get punched in the mouth" - something along the lines of "Everyone has fun programming until they have to start debugging".
My city has several years of programming courses at the high school. A lot of kids sign up for the first year but the numbers rapidly fall off. They start the kids off with the basics and doing simple programming exercises. Generally they have fun while they are being successful getting boxes and lines to appear on the screen, but as soon as things get the slightest bit complicated and the students get into the weeds of debugging the enthusiasm dissipates pretty quickly.
It's not that most of these kids don't have the intelligence to tackle it if they wanted to; they personally just don't find it fun at all.
Yet another advantage to home working!
The culprit was an extra build action (among ~20) that had been cut-and-pasted from Stack Overflow 1.5 years ago and worked splendidly, until an unrelated update (dev machine prerequisite, installed organization-wide) caused it to behave differently on local builds but not on the build servers. The check-in comment of the commit in question was "merge hmm", and the start time of the failure is uncertain because the project was rarely built outside of the centralized build infrastructure (where it worked fine). 10 cumulative hours of debugging across four developers was spent to figure this out.
In my experience, these kinds of "WTF" errors happen more often than the ones that make you go "wow, I am stupid". At least when you reach a skill level where the obvious problems don't show up so often.
But the point stands that this requires an uncommon kind of patience. Hooray, we solved it. Now we are finally able to modify the back-end behavior of this specific type of mutual fund order, which is what we wanted in the first place. Think the finance part of the task is more interesting than the banging your head against the wall debugging the tech stack part? Tough luck! Should have been born at the time when this happened by manually operating a terminal in the back office.
I've been working has a web developer for two years after completing a bootcamp. Peoples often ask me questions because they think about doing the same. I always say to them that this is not for everbody, you are banging your head against the wall most of the time. Off course nothing beat that sensation when you finally found the problem or even when you get closer.
But that has to be your thing.
It's a simple formula: if the gain is more than the pain, your life is changed.
This is what I tell people who want to get into bench science. It's funny, because I find programming to be an escape from the 'head-banging' of science. At least when I get stuck debugging a programming issue, I know that there is a fix, and I'll eventually find it. Compare that to science, where you might bang your head against the wall for weeks, months, or years, only to later find out that the problem simply isn't tractable, or that the problem had nothing to do with you at all.
All the while they're being sold on how they're "changing the world..." or "innovating."
I'm in IT and could probably bridge the gap to dev on my own -- did a CS degree ages ago, but don't do much coding outside of bash one-liners and some SQL -- but I'm rusty.
Plus I'm not super motivated to do hours of coding after dealing with 9 hours of BGP issues, etc.
So the bootcamp seems appealing. I'm not starting from zero, and could probably go hard for 3-6 months doing pure coding, and then run with it. I'm just not sure what my options are.
Every year I spend more time banging my head and I think it is having serious effect on my mental health.
I enjoy programming and I don't really spend a lot of time debugging. My code usually runs fine, or I am able to easily find out what is wrong.
It is the whole combined complexity of all the tools that we use. Git, Java, maven, gradle, jenkins, Oauth2, aws(ec2, s3, opsworks, cloudwatch, iam, secrets manager, etc), prometheus, elk, splunk, etc.,etc. plus the combination of all the repositories, branches, modules, versions, libraries that we use.
Nothing ever seems to work right - and because all software is written differently by different people in different companies and languages, old and new, you can't solve everything. Things just don't work, and often. Problems are ignored. Software is thrown out to users to be "updated later."
The responses were basically a) “git is the de facto standard. You can try mercurial but you’ll be missing out on a lot”, which is sadly true or b) “it’s not that bad, just really study the underlying data structures and git will get easier”.
I think the attitude of the second point is one of the reasons why writing software for a living can be so frustrating. Even the tool that saves and tracks changes in your work requires a non trivial amount of cognitive load to use correctly. It’s death by a thousand cuts. Sure, tool X isn’t rocket science but it’s also one of 20 tools I use and if it’s giving me trouble it can make the process of shipping software so frustrating.
Computer people generally design terrible computer interfaces because they are not only willing to cope with something bad, they're pleased to. - Alan Kay, Personal Computing Historic Beginnings
I hate how much time and brain space these things occupy. I can't even by lazy when working with them, there's always a ton of tiny things to read about and factor in, and often no shortcuts to just getting it over with. You have to be cautious and try to get it right the first time because most of them inevitably involve spending money, and your dumb mistakes will be quickly discovered.
Peggy Olson: And you never say thank you.
Don Draper: That's what the money is for!
My own anecdata suggests that best programmers are the craziest ones. But that’s also true for just about every other field that requires extensive self discipline to master.
That's interesting. I can see this being true for Math, Astrophysics, Genetics, etc. Somehow it doesn't ring true for Law, Accounting, or Actuarial Science
{quote}
But I had enjoyed working on the hard projects I'd encountered in my programing class back in high school. They were challenges I wanted to overcome. I changed my major and dove into college CS courses, which were full of hard problems -- but hard problems that I wanted to solve. I didn't mind being frustrated for an entire semester one year, working in assembly language and JCL, because I wanted to solve the puzzles.
Maybe this is what people mean when they tell us to "find our passion", but that phrase seems pretty abstract to me. Maybe instead we should encourage people to find the hard problems they like to work on. Which problems do you want to keep working on, even when they turn out to be harder than you expected? Which kinds of frustration do you enjoy, or at least are willing to endure while you figure things out? Answers to these very practical questions might help you find a place where you can build an interesting and rewarding life.
I realize that "Find your passion" makes for a more compelling motivational poster than "What hard problems do you enjoy working on?" (and even that's a lot better than "What kind of pain are you willing to endure?"), but it might give some people a more realistic way to approach finding their life's work.
{/quote}
Yes, programming jobs tend to pay well. So do medicine, law, and various other white collar jobs... for that matter, so do many trades.
Its not a question of "does it pay well" but rather "are you willing to do the hard work that it entails and not burn out after a year." That question isn't one that many college students or bootcamp grads have considered.
If you only enjoy creating new apps and not debugging them when something breaks - being a professional programmer may not be the proper role to be in. Not all things that are written are new apps (brownfield is much more common than greenfield) and debugging is an essential part of writing software.
This is what is meant by willing to endure the hard work. One may have a passion for computers ("I love playing games and building new computers from parts") but not enjoy programming.
You have to pay me to work on your problems, but there's a big part of me that would happily do it for free.
"If you don't enjoy computer science, please oh please don't do it. You're going to hate every waking day if this isn't fun. It's some of the worst stuff you could possibly do if you don't love it."
For most people here, CS is their hobby. So a lot of learning and knowledge acquisition happens during 'leisure' time. This is rarely the case in other professions.
If we count all the time we spend resolving environments, getting setups right, learning new tools and reading papers as work (as we rightly should), then most people in tech would be working far more than 55 hours/week.
This already ignores a lot of the quiet time people spend pondering over things and letting them stew semi-consciously. CS work is flexible, but is not easy or less-time consuming by any means.
If we try to force people into CS, then we will get what India has. A massive glut of incompetent tech 'talent' with BS in CS, but need to be retrained all over-again to even do the most mundane sweat shop coding that companies like Infosys and TCS need their employees to do. (I say this as an Indian). Millions who hate their job, earn low pay and have a very small set of nontransferable skills, because what they actually know is 'sweat shop tools' and not CS. IMO, if there is any demographic that AI/ML is most poised for eradicating, it is likely this one.
If CS in the US wants to increase participation without compromising on its present identity, then the only solution might be to foster interest and love for science/math/coding early in life and hope you can cast a wider net to capture everyone who would come to consider this profession a hobby.
Alternatively, it can go the way of every other mature profession and turn into a 9-5 boring thing you hate, but still continue doing because you need to put food on the table.
That said, I think we'd all be better off if engineers demanded collectively not to work more than 40 hours. (Tech unions/guilds could be formed and focused just on stuff like limiting hours/paying for overtime and oncall, btw.)
I've done it individually, and it has never slowed my career progression -- even when I worked at Amazon, I was adamant that my family and personal time came first, but I still was promoted regularly.
I still code in my spare time, but it's totally unrelated to work.
Developers don't have much in common with the workers who originally created unions. Some of the differences are that work can be done at home, the potential for advancement and greater salaries is very high, and that the non-physical nature of the work allows you to work very long hours. All of these factors conspire to undermine any 40 hour max set by a developer union.
As average hours worked go up, the benefit of each extra hour goes down. I'm not sure where exactly the equilibrium is, but personally, I find that over the long term, over 60 hours per week leaves me feeling a little shitty and depressed, especially if I have a commute. I think most over can boost up to 80 and be fine for a couple months though.
If there's one profession where people are expected to work more than devs it's finance. New analysts in finance are pulling 100-120 For at least their first. I've done those kind of hours for maybe one week, but it kills you, both physically and mentally.
We must have different bodies. 40 hours a week is plenty to do that for me (and I don't really work nearly enough 40 hours during the supposed 9-5). At the end of a typical workday (mostly coding), I experience quite thorough mental depletion. It is very unpleasant and makes the remaining hours of the day mostly a pointless and sucky experience, as I don't have the will to do anything (although sometimes I do recover after an evening of 3-4 hours of doing nothing and get a little energy back - however it's bedtime then).
Staying alone and being a well put together human with relationships becomes completely impossible the second I go past 55-ish hours.
> people are expected to work more than devs it's finance
Finance is toxic at a whole another level. The rampant smoking, cocaine use, work hard/play hard etc. is in some sense mirrored in similarly intensive silicon valley startups where aderall abuse is just as rampant.
I am also not sure if the finance analytics work is as creatively taxing as coding (at least the design stage), which can be a major distinction.
Either ways, I hope CS never becomes like finance, ever.
But I've never had a manager ask or pressure me to work more than 40 hours a week. In fact, they opposite is true, they've actually often discouraged me from working outside of core work hours because they don't want their developers to get burned out. Maybe I'm just fortunate that I'm smart enough, and productive enough, to get everything done in the 40 hour work week and I should feel blessed to be as smart as I am? (generally in the top 3-5% on all standardized tests throughout my life)
But to the best of my knowledge, my coworkers weren't being pressured to work more than 40 hours a week either. Or maybe they felt ashamed of having to work more than 40 hours to keep up and didn't mention it? Maybe the pressure wasn't direct pressure from management, but an indirect pressure just to keep up with everyone else?
Maybe it's the benefit of working in the Midwest?
I don't honestly know. But I can say that in my (short) time at both companies I've worked for, I've only met one developer that reported being asked or pressured to work more than 40 hours a week. So it just seems so strange to me to keep hearing it as a truism on here.
Most people choosing Uni choose from what they know. Majority of young people know little about anything CS or nerdy; They often know the end product (computers, phones, apps) but very little about the people working on it.
Compare that to doctors, managers, Wallstreet types, scientist, lawyers; they got incomparable exposure through movies, tv-shows and media in general. Even Scientist have more exposure.
Difference is that in those profession, you can see the people working in it (although often not an accurate representation) so it is easy for a young person to imagine "I can see myself wearing their suits, doing what they do". But just as no one applying for college imagine themselves in a janitors boots, there must be a observable social status in the profession too. "you will be socially respectable after 4 years here!" sells better than a salary figure. I really don't think CS majors come close to the (perceived) social status for the young, compared to the above mentioned professions.
The closet to high social status an CS gets to is the "IT/tech entrepreneur", and you don't need a CS major to get there.
It's hard to get from that to the reality developing CRUD apps.
There may be some drama, but arguments about which framework to use are not usually very cinematic.
on a tangent, this is especially bad for Architects. When I was in college I fell in with an Architecture clique, I went to all their parties and made life long friends even though I was majoring in CS and they were all Architecture majors.
They were told from day one that unless they're the next Frank Lloyd Wright (or some other world renowned architect), they're a complete failure and an embarrassment to the art. Then they graduate, get certified, and end up copy/pasting facades on Discount Tire construction plans or something else like that. It's a very bitter pill to swallow.
An interesting thing about this is that I think it's easier to show in print. I can read a book about a maverick developer and have it describe the errors and the trials and tribulations and it isn't as slow by comparison. Hollywood then feels the need to emphasize what they show with wild CGI, which is a whole other issue when it comes to entertaining portrayals. I think the only realistic portrayal I've seen onscreen is Mr. Robot, and even that goes into fiction when it's most needed for the plot.
I don't think that would look very appetizing for someone considering their career options...
To me this is the interesting part. I guess it's fair to say that you tend to see more and more films with clips of someone hacking away at a computer. Perhaps the issue is they they are rarely the star of the show. They're always the supporting act. Think of the two guys who with work with Tom Cruise in the MI series, or the technicians/magicians that assist James Bond. In the years that have elapsed, in spite of the success of FB, Instagram, Twitter, Stripe, Google, WhatsApp, even Microsoft (presumably all started by "nerds") it seems that it's not something many aspire or look up to.
I was guilty of that but I don't think I was wrong to think that way.
I decided to work in Computing when I was 10 and would like to think that I'm quite good at it, but felt that I'm not good enough at doing essay style exams to be able to pass a CS degree.
This doesn't make much sense; you'd be taking math exams, not writing essays.
Source: I have a CS degree.
Source: I failed a CS degree.
Graduating from college usually requires some essays, but there are easy workarounds for that.
Are you thinking that the only CS degree you could conceivably otherwise have passed also had a strict essay requirement?
Sometimes also things like "what is the output of a lexer?" ("A stream of tokens."), or "identify the bug in this code snippet".
I’d hazard that in the last decade or so (more than most), CS is akin to being a Digital Janitor.
Debugging/repairing things, cleaning up spills, dealing with problems the kids make, working long hours to keep the system going.
The difference is, in some markets, you can make a lot more.
- In college there were basically no women in any of my classes, like 1 or 2 in a class of 30-40. Not having an entire gender being interested in a field(generally speaking) makes numbers overall very low.
- In a Java class I took in college, it was standing room only for the first two sessions, after 3 weeks the class was 70% reduced, by the end of the class it was about 25% of its original size. CS is hard, lets be honest(for most people), to excel you have to love it or be mathematically inclined.
- People, when looking at a career don't see CS as long term choice, they hear of burnout due to extreme overwork, and blatant ageism when you hit 40's. I asked a friend who went into the medical field about CS and they said they want to work into their 60's-70's and didn't want to be forced out of work due to age bias.
- Most engineers don't have much 'clout' in a organization that isn't a pure tech company, I have been solicited by GS and other hedge funds but always pass as I know I will always be 2nd fiddle to finance folks/business majors.
Yes CS is hard. But arguably so are Maths, Physics, Psychology, Medicine, Law, Engineering, etc. I wonder what the drop out rates are for those are. And more importantly they seem to be popular in terms of the numbers of people that want to pursue those courses.
> - Most engineers don't have much 'clout' in a organization that isn't a pure tech company, I have been solicited by GS and other hedge funds but always pass as I know I will always be 2nd fiddle to finance folks/business majors.
I think you're right about this. Although you get some clout as a Quant developer in those types of places
I don't understand how a college survives 75% of their students dropping out like that?
And do they not interview and assess people going in for aptitude?
Students pay upfront.
In high school, about half my AP CS class was girls, I think.
Maybe it's not so much that "an entire gender" is disinterested but that there was a tidal wave of people who wanted to get into programming after 2000 who were mostly male and changed the culture? And a lot of people, who were good at other things besides computers, said yuck and did something else.
It's easy to assume that when a group dominates a field that they must be better on average at the required skills, but it could be more a result of their lack of other skills.
My brother did CS as well (mid-1980s). There might have been only one female in his year. There might have been more, but he never spoke about them that I can remember.
I suspect the gender bias has been around for a long time.
https://images.techhive.com/images/idge/imported/article/ctw...
There has been a gender bias, but it has been getting progressively worse over time.
I recently asked a 17-year-old high school senior who is heading to college what she's planning to study, and she said it would be mathematics, biomedical engineering, or some other kind of engineering. She's self-motivated -- says she will be studying multi-variate calculus, PDEs, and abstract algebra on her own this summer. She maxed out her high school math curriculum, which included linear algebra as an elective.
Naturally, I asked her about computer science, and she said something like this (paraphrasing):
"The kids who love computers at my high school seem to be able to spend their entire day focusing on a computer screen, even on weekends. I cannot do that. And those kids are mostly boys whose social behavior is a little bit on the spectrum."
While I don't fully agree with her perspective, it makes me wonder how many other talented people shun the field for similar reasons.
Things arguably changed in the early 80s with the rise of PCs and gaming. While programming certainly existed before that, it wasn't something that most kids were exposed to in high school and CS curricula in general were heavily theory oriented and often in the Math department.
Today, if you want to be a mechanical engineering major there's no expectation that you lived in a machine shop all through high school or otherwise spent all your spare time in hobbies related to your college major.
Whereas, a lot of CS curricula today at least implicitly assume that you're comfortable with computer command lines, basic programming, etc. And, if not, you'd better get up to speed in a big hurry. Because most people in your class are up to speed and program for fun. I went through a MOOC from MIT a while back (6.001) and I can't begin to imagine working through that from a baseline of maybe one high school course.
ADDED: And, of course, you periodically see a similar attitude reflected on forums like this one when people argue that they won't hire someone without a GitHub repo who programs for fun nights and weekends.
I graduated a CS program in 2013. In my program there was no assumption of familiarity with the command line. I specifically remember several lectures about how to navigate a file tree on a command line, how to run programs on a command line, what STDIN and STDOUT were, what pipes were, etc.
There are, of course, other courses more pitched to people with no experience at all. And presumably in person there are TAs and fellow students who can help someone who really doesn't have any background in programming, setting up programming environments, basic OS functions, etc.
Does anyone expect college music programs to be easily accessible to people who didn't play an instrument, or sing in a choir, during high school? Similarly for dance, and drama, and art. And if you're right that mechanical engineering schools no longer expect students to have been tinkering around in their spare time previously, is that actually good?
At one time, there was good reason to not assume that incoming students had any programming experience, since many of them wouldn't have had access to computers, and so would not have had the opportunity to develop computer skills, or even to know whether they were interested in computers. But today in western countries, for any but seriously impoverished kids (or I suppose, those with mis-guided parents), that is no longer true.
There remains the possibility that a toxic culture in high school has prevented some students from realizing that they are interested in computers at that point in their lives, and therefore some remedial action in college is necessary. But fixing the toxic high school environment would be preferable.
At the same time, I agree that programming (if not necessarily CS) has a sufficiently low barrier to entry these days that some exposure prior to settling on a CS degree seems like a reasonable expectation, especially at more elite schools.
ADDED:
>And if you're right that mechanical engineering schools no longer expect students to have been tinkering around in their spare time previously, is that actually good?
Certainly when I went to school, there was no expectation of any real prior exposure to STEM in hobby form or otherwise outside of high school courseware.
I would say the programming is a bit different. It is true that someone who has been working computers before they start college is likely to do better in the programming assignments. I suspect in many cases they'll be bored. They might finish in 30 minutes what others would do in 3 hours. It's a gap but in the grand scheme of things it's not that significant. Now look at someone who has been taking violin lessons and exams for 8 years compared to someone who has never touched. The gap is huge. Perhaps of greater importance is the synaptic pathways that have been developed in the musicians brain coupled with the muscle memory and intuition developed over a prolonged period of time. I'm not saying that the programming knowledge acquired before college is worthless but that much of it can be acquired by new comers into the field over a relatively short period of time.
As to the toxicity of the high school environment I wouldn't be able to say. At college I certainly encountered the "nerd" times. As far as I remember they were not toxic at all. If anything many were either shy or generally awkward in social settings. Otherwise they were great to hang out with.
But, yes, I'm pretty sure that making up for not having hacked around with Python code in high school is a way lower bar than making up for never having taken piano or violin lessons.
I take some issue if the characterization is "the nerds" are the toxic ones here. It's been a while, but the high school culture was overall toxic if you were not attractive and popular, and computer geek types were frequently targets for their interests. Young women were as bad as the males in the shunning.
That is rather refuted by the rather notorious bullying in Japan, which is about as far away from individualistic culture as you can get.
Any kid that was weird and had no "redeeming" qualities (strength or wealth) was likely to be bullied. Don't tell me your class was one big happy family and that you didn't have that one kid that no one cared about.
Really good point. As someone who grew up with computers and programming, despite loving all of it, there is a bit of pressure to continue to work on side projects constantly. In reality, I don't think that the majority of developers do (at least in my experience with coworkers), but maybe it's more of a vocal minority. Nevertheless, that pressure is still there.
My mechanical and electrical engineering classmates work on a side project from time to time, but it does seem like there is a lot less of a focus on lots of projects being completed.
There's a huge class divide in engineering between designing the the thing and making the thing, despite the fact that the two activities might require equal skill in different ways, or that sometimes making a thing to spec might be harder than doing the design work.
The best engineers have mechanical and process sympathy.
I absolutely can and have done that. Many times. In fact, it used to be most of the time.
But I'll admit that the majority of the programmers (or other IT, for that matter) I've worked with didn't seem like people who went home and played on the computer all night and all weekend.
There's probably at least some analog to majoring in music. Sure, you'll probably spend a lot of your time in college learning about musical history and theory but it would probably seem a bit odd--and you'd probably be at a significant disadvantage--if you'd never had any music lessons or otherwise learned anything about music.
Young teens are more obsessive about hobbies so if you're really into computers at that age, that's all you do.
In the real world though, for every person like that, there's ~10 who either don't think about code after 5pm or aren't nearly as obsessive. But it's definitely a thing in our industry!
The question for which I don't have a good answer is, why did your niece have the same opinion despite so much firsthand evidence to the contrary?
There is probably some connection with video games, in that boys overwhelmingly play games where girls do not. I don't think the games cause the disparity; whatever it is that draws boys to VGs is what draws them to CS as well.
The profession isn't very old yet, but it's coming. My oldest son is also planning on becoming a third-generation programmer.
Most people don't enjoy computers.
Most geeks don't enjoy people.
I find this interesting. In this day and age I get the impression that whichever STEM field one goes into there will be considerable time spent in front of a computer screen. Whether researching, writing programs, running calculations/models, writing papers, proofs, looking for exo planets, etc. Computers are everywhere :-)
That was true in the 1990s, too.
And wasn't only true of STEM.
It's sort of a similar situation for lots of engineering too, especially those who study fields with tighter labor markets (aero, biomed, nuclear). Lots of young people set their sights on NASA/Boing/GM and end up not making the cut. I've worked with lots of these people during my career.
That being said, I'm realizing now that doctors spend a ton of time in front of a screen as well..as are many professions now a days.
What they're really saying is: Programming is boring.
I'm not a SW engineer by training or profession. However, that I can deal with computers/programming at all has been a mixed curse/blessing for me. Typically, if a computer problem comes up, I'm the one to deal with it, simply because no one else can.
That means I've learned 'enough' about a lot of obscure topics to really get into trouble.
Honestly, I hate it at the time, but in the long term, it means my career is pretty alright. Still, I agree with the young lady's dislike of staring at yet another incomprehensible screen for weeks on end. It's not why I got into what I did and it's a bit of a waste of my attention.
> And those kids are mostly boys whose social behavior is a little bit on the spectrum
I a lot of us are on the spectrum, more-so than other humans.
It's that puzzle gene in us that makes us want to obsess until we figure out the problem.
I've also noticed more cases of bipolar disorder and depression depicted here than in other communities.
There's so few of us compared to others because we are wired differently.
The real magic is in the ideas, the thought processes, and the algorithms that makes the programs come alive. You can scratch this out on a chalkboard, if you want.
You’re like a magician, that is able to synthesize something, from really nothing, except a bunch of bits organized together to mean something.
On the flip side, these folks spend hours on their iPhones reading their depressing Facebook feeds.
What knowledge could be worth the risk to your social life, computers!? You'll make more money and meet more interesting people elsewhere. Even just across the hall, the math class looks like they're having much more fun.
CS 101 should be cracking the enigma machine and defeating the damn nazis, not writing Python (Bleegh!).
The wage data in this article is meaningless because it ignores the fact that the few places with the 100k+ wages are all in ridiculously expensive cities. Those wages bring up the "average", making it seem high.
No sane person dreams of sitting at a computer all day doing harder things than everybody else sitting at the computer and making average pay. Not only that, but most employers would rather pay a person $5 an hour to make their app from somewhere in yemin then they would hire a local person.
You also never get to be part of any kind of inner circle within the company. You will be paid less than some random useless person who "knows somebody high up" and is in charge of "managing" you.
That's a huge exaggeration. In what other field can a bright kid take a 12 week bootcamp and get a job that pays $80k?
They did specify "outside of a couple of tech giants in the USA". Here in Europe, €30K would already be a good starting salary. Personally, 10 years in, I don't expect to reach €80k.
Maybe it's a Europe vs US thing but it's definitely not the case that salary is poor outside of tech giants.
That's on par with engineers in any other discipline. Except those have a Masters, not just a bootcamp.
A bit arrogant to assume that your job is harder than everybody else's - most people feel that way. And pretty much any office job can be at risk of being outsourced, not just programming.
I'll still take software engineering over being a lawyer (3 grueling years of $40k/yr tuition and 12+ hour days) or doctor (a decade of expensive school) even if they make more money.
Trades are cool and underrated... but they also ruin your body and also aren't as high paying as people think (at the beginning it might be close to minimum wage).
Well, you're right, but 18-year-old high school graduates don't know that, at least not yet. That's not what's driving them in selecting a major (or skipping college entirely).
The reason is because it is a terrible job. Unlikely 90% of other jobs, you have to mentally burn your brain out each day, constantly learn new things, and focus intensely, supposedly for 8 hours.
Yes, and I can't imagine working a job where you do the same thing over and over, day after day, year after year. Data entry, accounting, 1st and 2nd level support, driving a taxi, hell, even flying a jumbo jet.
The first point I think has born out fairly well, even if it was probably a bit arrogant. Certainly when I'm interviewing grads I'm not actually that interested in if they did a CS degree (though that might be more because I didn't do one...). We don't really do early stage training so we're looking for evidence that the grads can actually code, whether its by pair programming, via questions or looking at personal projects, etc, its the people who have done it as a hobby that tend to shine there.
The second point is highly subjective and obviously quite personal, but equally if people know they can get into software engineering without a CS degree then I think they're more likely to do a course that really interests them. After all, if you it doesn't effect your job prospects that much then why wouldn't you? There is a fair argument to be said that the industry should be better at hiring CS and code camp graduates and doing on the job training, but that's not where we're at currently, alas.
If anything I tend to view CS as the academic arm, and software engineering as the practical/vocational arm. In the same way e.g. law works (at least in the UK), where actually most lawyers haven't done law as their first degree and do a conversion course after instead (often getting a contract before doing the conversion cause and then having the firm fund it). Really, its the classic argument about how much university degrees should be academic vs vocational.
Computer Science is largely concerned about things like algorithms and complexity, theory of automata, and stuff like that. They're doing research.
Software developers care about those algorithms, but we decidedly do not want to be implementing them. I've got libraries, where somebody already took care of coding the hashing or binary-tree-rebalancing algorithms, or databases with the same. There's really no reason I need to be able to explain how quicksort differs from bubblesort.
But what we DO care about is how to gather requirements, how to perform proper modeling and design, and stuff like that. Yet those are classes in the engineering school, and not required of CompSci majors (at least not back when I was in college).
The result is that folks with a CompSci degree are ill-prepared for a career in software development. They never use at least half of what they were taught, while on the other hand, at least half of what they do wind up needing was never taught to them.
I love working as a software engineer, and had been tinkering with web development independently since high school -- and it didn't really occur to me to major in CS. Other than both involved working with computers, I didn't see the connection. I had dismissed CS as irrelevant to my interests, too esoteric, boring, dry.
In the course of my current work, there are some things I do wish I'd learned more about, but not enough of them to make me regret not majoring in CS.
I guess the explanation for 2000 is that the dotcom bubble was still alive and well, the explanation for the popularity of 2009 must have been the credit crisis that made lots of people pursue the job certainty of a CS degree.
Storm clouds were on the horizon by late in 2000. But there was probably some delay, even maybe post 9/11, until the full scope of the carnage was obvious--and by then most students who entered in 2000 or even 2001 were more or less committed.
https://nces.ed.gov/programs/digest/d19/tables/dt19_322.10.a...
I went to a big state school in the 90s. The first two years were a hazing, with a brutal curve designed to drop class size from 1000+ (CSI 200) to about 80 graduates.
It was sink or swim and awarded grit. The only major worse was biology where organic chemistry weeded out the frat boys from premed.
I was under the impression that they didnt care about your background, but you had to slave away on leetcode to have a chance to pass the interviews.
I terms of working for a FAANG, in order to pass the interview, you have to first get the interview. If you attend Stanford, Berkeley, MIT, etc, FAANG's will have career fair booths, and lots of other opportunity for internships and networking. You will be at the top of the pile and you're almost guaranteed a look.
Contrast that to attending a school like SUNY Buffalo. FAANGs don't generally recruit from schools like that. When I worked for Google, I offered to help with recruiting from SUNY Buffalo (which they called a "long tail" school). Their response was, rather than send people to the school, they set up a giant hangouts/meet video chat with auditoriums of kids from 4 different schools. The especially irritating thing to me was that my alma mater was not even included in the session that I led.
I think this sucks because I went to SUNY Buffalo because they offered me a much, much better deal financially than the "elite" schools did. I could have attended one of the favored few, but decided that I'd rather graduate without massive debt. Some of the smartest people I know I met there. They definitely weren't the rule, but a lot went on to get PhD's from places like Stanford and Caltech. So its not like big state schools have no qualified candidates. Its just hard to get the FAANGs to see that.
If you evaluate candidates yourself, you don't need to be interested in their credentials.
That's not the point of an interview. The problem isn't that SUNY has no qualified candidates, it's that the hiring process doesn't distinguish the qualified ones from the unqualified ones.
Actually my anecdotal observation is that it's a little bit worse than that: they rank CS graduates from the top-10 schools at the very top, the next tier are the "gritty, self-taught boot-camp graduates" and after that are the graduates from any of the other thousands of universities. So if you don't get into MIT or CMU, you're actually better off skipping college entirely, at least if you're considering programming.
Is your "CSI 200" a general-interest course? I went to a fairly large university's computer science program, but even the intro course for the majors was probably only about 200 people/semester, which at this particular institution, meant taking the "200" level courses as a freshman. The 100-level courses were the courses the department taught to the rest of university for general requirements of other degrees. Those were easily in the thousands, but they were not majoring in CS. The gulf between a 100 and 200 course was still fairly large, but it wasn't a "hazing", it was similar to the difference you'd see in any department offering general courses and specialist courses like biology or physics.
I don't we particularly had "hazing", but just like any other major, it isn't for everyone, and there is a certainly baseline you're going to need to be able to succeed. This is not unique to computer science, or even engineering. If your school had a music program, did you ever ask them what they were expected to do? I minored in music and I was grateful for how much free time I had relative to the ones majoring in it.... and CS was no slouch with the homework, obviously.
The 3xx entry point class was 400 people, the next 3xx mandatory class was 250 and the 400s were typically 20-50 students.
I think one issue was they didn’t gate by GPA or other metrics. So you had many students who just couldn’t hack the math or didn’t have the drive early in the cycle. That decision tainted the professors... you were an idiot until proven otherwise.
I dual majored in history and it was night and day. Similar workload, but a totally different outlook. I still exchange Christmas cards with a couple of my history professors.
Our CS Dept is good. They are not slave drivers, or doing crazy stuff. They run a standard Java class doing very reasonable things and give a perfectly typical range of grades. And the students who say these things to me are not just the poor ones.
Is it inherient in the material? Is it the way the intro is typically approached in standard texts? I don't know. And I admit that I only have anecdotes. But the article didn't mention it, so I'm mentioning it.
Most people see that reality.
Oh, if only...
Funny enough when I was a teenager I wanted anything but to become the latter guy, I even had my own unrealistic goals to avoid it. Unfortunately reality would kick in not too much longer later and I was forced to resign to that life.
Today, the only downside of this seems to be that I never learned all the binary tree stuff (BTrees haven't played any role in the type of coding I've been doing for the last three decades), so I don't fare well in employment exams.
Otherwise, I'm actually thrilled at the way my software development education has gone. My hardware background has stood in good stead, in developing things like drivers and async stuff.
Few companies will rebuild B-trees in the day to day job. Interview for the job your candidates will be expected to do, instead of giving them a college/uni exam question. Have them validate a form field and yeet it through a REST API into a database, like 99% of their job will be [1].
--
[1] this may just be representative of my job. Somehow yeeting a form field into a database hasn't gotten much easier during my career. Why is input type number still broken?
Also, I have many, many articles on Medium, and on my own sites. These tend to explicitly and unambiguously cover my development methodologies, design ethos, and personal philosophies.
There should be no question at all about my technical ability, methodology, creativity, or team integration.
But it is my experience that the portfolio is immediately ignored by hiring managers.
After a few instances of that, I just gave up looking to work for others, and started doing my own thing.
Yes, but note that I used "quotes." It wasn't anything as close to an "institution," as it has been for the last couple of decades.
It comes with low intrinsic social status and even stigma attached.
The skill set and personal characteristics that it thrives on are nearly opposite of those that do well in corporate or societal careering.
It may not have been an all time high but it felt like everyone was taking CS. The 101 classes were incredibly oversubscribed. Maybe not many people graduated with the major but a ton of people started down that road and many people pursued the minor.
That theory doesn't speak to the 2005 peak and subsequent decline however. [ADDED: Which is probably more related to the dot-com bubble bursting.]
[1] https://www.aei.org/carpe-diem/chart-of-the-day-the-declinin...
Regular programming/software programmes were in the engineering faculty, as well as some software development being covered to some extent in all the eng programmes. I also recall CS + computer eng made up a large fraction, about as much as all the other math depts and more than physics + biology combined.
The title suggests that there aught to be more and I'd agree that grads going into computer science fields should be better prepared but I don't think that has to be via a CS degree.
It's like getting a physics degree to become a civil engineer.
I don’t know what “practitioner program” could get you close to a guaranteed spot at a top software firm. I’ve been out of school for a few years and figure this stuff has been changing fast though, so that perception may be out of date.
Never even heard of a software engineering degree. Only computer engineering or computer science, either of which may include some software engineering courses.
Though I doubt the content is that different to courses in other countries
(I'm stretching the truth a little here because I also did a Maths major in addition to Comp Sci, but that was not part of my Comp Sci requirements so I think it's still valid to the point I'm trying to make, that the two degrees are functionally identical with different names)
I mean on the one side I agree with you because there's so much you can learn online right now, but the same is true for other branches of engineering and STEM as a whole.
Is it though, my understanding is that for a lot of engineering programs and science courses, much of the value comes from labs and hands on experience with equipment that a consumer cant get access to.
Asked the other way around, what would you suggest as education for someone who wants to be a software engineer?
We use mostly Python and Go btw, which I think might affect things a bit. Graduate schemes for those computing degrees tend to be at big corporate dot net shops.
The analogy is apt for exactly that reason. Some knowledge in physics is fundamentally required, but for the civil engineer it's only professionally relevant to the extent that they can apply it to solve practical problems. A solid understanding of physics (and indeed how to come out wiser after reading a paper relevant to your field) is just one part of their expected skill set.
Edit: To be clear, I want the field to mature and develop into something similar to other engineering fields like EE, but it's not there yet.
Requirements management, information security, software architecture, all the big picture topics that are applied and not theoretical in nature.
Sure, some courses could be up-to date but ultimately they'll be out of date in a couple years. Core concepts like OO are a bit more stable but you can be taught this in an applied sense or a theoretical sense and both are covered in a good CS course anyway.
Industrial economy, ethics, engineering professionalism, development methodology seem rather universal. Then, depending on specialization you could pick up anything from signal theory to control engineering to human anatomy.
> and couldn't be covered in a module?
That's a pair of very, very narrowly placed goalposts. Of course you could cover anything in a module and call it computer science, but where would you go then if you have a legitimate interest in computer science and not a bunch of courses that really have nothing to do with it?
SE students tend to miss fundamental parts of creating good applications while they study how to do so (security, privacy, performance (!), etc). This gap creates a liability in the job markets they saturate, as well. This culture of companies that hire SE majors and SE degree programs is pretty lax when it comes to the stuff that isn't arbitrary software framework knowledge. Frankly, the 'optimization' of CS has been a disaster. Buggy software can cause just as many damaging or long term effects as poorly designed buildings or machines, but in none of the programs that would output people capable of creating those do we see a movement supporting 'practical' knowledge over the basics. It's incredibly short-sighted, and at the very least, it means smaller CS programs.
At the end of the day, the curriculum is really what matters for a person. Actually, you can even argue that "computer science" is not even a real science (similar with many other studies that have "science" in their name). Heck, I'd say software engineering is closer to actual "engineering" than computer science is to actual "science".
Other than it being annoying to explain the situation if someone asks, this has not ever set me back in any way I know of.
If, in the future, I feel like it would improve my abilities/position to write a Master's thesis and get a diploma, I might look into taking the last year. But so far, I have gotten way more leverage out of the additional industry experience.
Moreover, university departments tend to only tighten their entrance requirements with increased interest in a field.
Article also conflates "earned degree" with "majored".
I didn’t mind working hard in school, but I definitely wanted to explore things outside of coursework.
I also already knew how to program, and I didn’t need a CS major to get programming work. The benefits of a CS degree just didn’t seem to be worth that much at the time (this was decades ago, so it may be different now).
- What is the point of getting a Computer Science degree when the people sitting besides you are also Tech Team Leads or Sr. Developers or Architects without a computer science degree?
- Why bother spending so many years going through theoretical computer science courses when you could have gotten through some bootcamps, youtube vids, Leetcode, and spent time creating github portfolio? Ultimately its the frameworks (and sometimes certs.) which gets you the money. There is a reason why even Google dropped the 'degree' requirements for their Software Engineering positions.
- When it comes to corporate IT: Among the most glorified of CS/IT career is that of a Software Developer (coding). And if I was to be biased, I would say those who didn't get CS degree and instead went to Community College for programming diplomas tend to better at picking up frameworks and churning out code. It seems that their minds are less cluttered with useless technical details which nobody in Corporate IT cares about.
- Frankly speaking, Programming and even other CS fields (including niche ones such as Data Science / AI / Machine Learning) suffer from absence of licensing requirements. I am not advocating for one but from what I have seen, just about any office job outside of IT has set of licensing requirements (PEng, LLB, CFA, CPA, Securities course, etc.) and atleast in Canada, they want the "Canadian version" of CPA, CFA, etc. -- this ensures that new immigrants can't just walk into such Canadian jobs and safeguards them against offshoring to an extent.
Despite all this, I am still glad that I have my CS degrees because that is just me, it's fits my thought process and personality. I really didn't do it for the money. I just feel I couldn't have done any other degree besides a CS degree - it's not about harder or easier.
1. I'm never going to finish this damn thing because I keep failing or almost failing math courses (and it happens the three required courses I have left are gated by math courses). All it does at this stage is make me feel inferior. (I do suck at thinking mathemetically, but I guess I've sucked at it for long enough I can deal with it in practice. Alas, they aren't buying it :b).
2. The only required course that remains which I'm really interested in doing is about writing a compiler, but I could do this myself. I'd miss having the excellent prof who teaches it, but that isn't worth the tuition until then. I already found my way into the others. There were some good ones which I'm really glad I did.
3. Upon graduating, my job prospects wouldn't change. Things are going fine. I might regret not having the piece of paper if I want to switch fields, but…
4. Outside of two or three excellent CS courses, the courses I have most enjoyed and grown from have been humanities and archaeology electives. They have a more interesting, diverse range of students; heaps of opportunity for cross-discipline thinking; and content I genuinely know nothing about, would like to learn about, and have no idea where to start. If I decide at some point I'd like to finish my degree, I'd probably take more of those courses and try to find an applicable degree than suffering through more CS.
The trouble with CS is (as a job training program, as opposed to a program about science and mathemtics), if you're the type of person who's doing the degree program because you're already doing this stuff, there's a decent chance you could find a relevant job while you're still at school. And that job _also_ provides educational opportunities, because that's how our field works. Unless you are in a place where that four year full time degree thing works for you, it makes itself irrelevant.
I don’t know what you’re struggling with but maybe retake a previous Calc 1 class to pass calc 2. Audit calc 3/statistics so it’s just practice.
Obtain a different book and do the entire thing on your own, not only the even or odd problems.
I had to hate math and the embrace the suck to start enjoying it. Wolfram Alpha is a good friend in math.
Annectodal (sample size 1):
I went to a top university in Florida for Computer Science. The classes were either simple, useful or nintendo hard. Data Structures and Discrete Math were the courses most likely to have transfers out to IT or Business degrees.
Two good friends ended up dropping because they just found a job and said "Screw it" and just went into the industry. A couple of others went into IT because the coursework was "too hard and I can get the same job with an IT degree"
Computing has become a part of every major industry and computer science by itself is closer to applied math and such fields, valuable but by itself not very useful.
Most professionals in most industries need to know quite a bit of computing skills to be effective.
Exactly what I've been facing for the past few months. I graduated as a CS Major last year, and I've already started doubting it.
No clue how to deal with it
No way CS Department is worse than Laws Department.. It's hard to pinpoint the Women in IT issue, but last years there are a huge movement trying to make everything more gender neutral in IT... Which other branch is investing more on that that ours?
It makes sense to reach out to build diverse CS talent, but I'm not sure that it makes sense to reach out for greater numbers.
eg. There was a major linux conference at the local university.... Full of cutting edge real world OS / HW stuff.
The CS department didn't bother to attend.
Are wages that high though? I don't know much about the UK, but I feel it's lagging behind Switzerland, for example, and that only London is the high paying spot because of inflated cost of living.
In Amsterdam, where I live, a junior developer isn't paid that much more compared to a junior business analyst or a junior marketeer. What is way more noticeable is that a lot more developer vacancies seem to exist compared to the other two, even for junior developers.
> I consider this a puzzle because I think that people who go to college decide on what to major in significantly based on two factors: earning potential and whether a field is seen as high-status. Now let’s establish whether majoring in CS delivers either.
In The Netherlands it's either whether something is interesting. Or it is whether something is interesting and it's good for one's career. It's almost never only for career.
> Are wages high? The answer is yes. The Bureau of Labor Statistics has data on software developers. The latest data we have is from May 2016, in which the median annual pay for software developers is $106,000; pretty good, considering that the median annual pay for all occupations is $37,000.
The comparison should be made for different categories from university. I wonder how business studies is doing as that major was a lot easier, in my experience. But I'm pretty sure that the pay isn't lagging behind (disclaimer: I don't have data, I can be wrong).
I've never seen someone join a field of study for social status and I asked the "why do you study xyz" question a lot. I have met a few people who started studying <insert_female_dominated_program> for finding a girlfriend, which usually worked. In most cases, they were also at least kind of interested in the content.
---
Here is my partial guess. I have two factors.
I believe that there are more computer science people that are interested in math and physics than the other way around. So there is a crowding out effect.
In The Netherlands, CS suffers from a negative stereotype among Dutch women, which is truly evidenced at my uni by the amount of international female students versus Dutch female students (a good amount versus 0 in some years). Heck, I even met very traditionally feminine women in my computer science classes (caring about fashion, aesthetics/beauty and caring for people), but they were all non-Dutch. Of course, there were also non-Dutch women with other gender identities (I've seen integrated as well). The gender identity of Dutch women was either "not male and not female" (do they call this non-binary?), male, or integrated. So this might play a role in England as well?
Of course, my observations are limited, they're simply based on 8 years of walking around at the two universities of Amsterdam and talking to quite a few students.
- Computer science to me sounded way more fun than it actually was. I loved building things and programming, but that's not what CS is. CS is theory. I was bored to tears learning about sorting algorithms and binary search trees.
Same applies to machine learning and AI. The reality of studying it was way less fun than the idea. Even my AI professor acknowledged that.
- As someone who'd always taught myself programming on my own, I didn't see the point in dedicating my 4 years of study to something I felt like I could teach myself. Since there was a good chance I'd probably end up working as a software engineer anyways, I thought it'd be smarter to study something I probably wouldn't otherwise ever teach myself on my own.
- This is rude and shallow, but I didn't like my CS classmates. There was such a disproportionately high amount of weirdos, and I didn't want to be surrounded with those people all day and god forbid become one of them. I vividly remember studying in the CS lounge and having to stop myself from face-palming. If I was a sociable kid it probably wouldn't matter, but as a socially awkward kid it would be too easy to only be surrounded like similar people the rest of my life and never evolve.
- Software engineering seemed boring, just being stuck in a cubicle all day. I did an internship as a programmer, and although it was relatively easy, moderately interesting, and stress-fee, I was terrified of the thought of spending the rest of my life in that cubicle.
- I wanted more money and status. At the time (almost 10 years ago), it seemed that finance was the highest paying and most prestigious field to go into. Finance sounded more exciting, and I liked the idea of their being no ceiling on compensation, whereas software engineering seemed capped at $200k/yr. Of course now things have changed, and tech comp at big corporations tops out at more like $500k/yr (or more if you get equity and win the startup lotto), and tech is way more respected than before. High finance still pays the most, but those jobs are basically limited to Ivy League graduates, the hours are insane, authoritarian work cultures, no remote work, and IMO the work is extremely boring and utterly meaningless, even moreso than software engineering where at least you're actually creating something.
Of course my views nearly a decade since graduating have evolved. I gave in and took on a career in software engineering, which I've attempted to leave at times but always ended up returning (though once I'm financially independent you better believe I'll be gone for good). But at least at the time those were some reasons why I dropped my CS major despite being convinced since high school that that was my calling.
Computer Science is by far the most popular stem major all around the world!
If somebody have numbers showing opposite, I would like to see them.