Posted by: seanmalstrom | October 21, 2014

More Emails: Computer Science Regret

I still have a number of these to go through. No more emails on this subject please. Besides, its time we talk about more gaming stuff.

 

Master Malstrom,

Funny you should post those responses on Computer Science degrees being among the “most regretted”. After reading through the 2-3 emails by the detractors (not sure I could call that college guy who says he found ways to pay off his student bills a “detractor”…he hasn’t graduated yet) and the rest who more or less agreed with it, I noticed a pattern.

1) The guys who made a good living off of their CS degree and didn’t regret it may have been a bit emotionally invested in their field to realize something the others pointed out: they “APPLIED THEMSELVES” in their respective endeavors unlike most of the people whom the others say “regretted” their decision. The second guy who said the article “[contradicted] his circle of experience” is a good example. He himself described how he constantly applied wisdom in searching for career prospects. You won’t find most people doing that. Instead they’ll just go after what appears to be the safest solution out of desperation. In my country, this so happens to be working as a tech support grunt or heading abroad despite having otherwise good degrees (But note: even with the wisdom to consistently “make yourself available”, how long before you manage to be satisfied with what you’re making? You need a good deal of patience, a virtue most people don’t have).

2) Corroborating this is the fact that a couple respondents noted how they didn’t have CS degrees yet were still successful in their programming fields. Why? Proper application of business and career wisdom or “savvy”. I have a friend who hasn’t finished his Computer Engineering classes (yes, involving actual hardware including PCB microprocessing) and yet he’s making a decent living off of website coding. Why? As he himself put it, many starting businesspeople have no idea how to put together PHP, CSS or HTML, so he made himself available (side note: I once learned HTML and CSS simply by visiting websites, which makes me scratch my head at colleges making a living off of teaching it to anybody interested). Again, application of wisdom. But notice: he hasn’t graduated yet.

3) Many also noted how most jobs that look for CS degrees actually don’t involve hard, strict computer science, just grunt work server maintenance or website coding. The Grunt Work aspect is the key. How many people can stand doing this for years? They go into a field with high hopes and end up doing basic grunt work, but that even assumes they are fully capable of performing said grunt work because–well, see below.

4) Here is a more universal and considerably more tragic pattern a few friends (including the one I mentioned above) and I noticed in most universities. One or two emailers noted how a good number of those students have no idea what they want to do in life and so check out the most interesting option to them, or go with the flow and try to break into what they (or their families) believe is the most profitable for them in the short term or even in the long term (“If you graduate from school and get a good job, you’ll live a good life”–how many times have we heard THAT ruse?). But once they actually get down to business in those classes they reveal just how inept they are. Examples:

a) A friend of mine in the food service industry observed how many of his classmates back in college were so lazy they could not even take care of their own kitchen utensils properly, deduce why cooks would put salt in boiling water or determine how long it takes to proof dough EVEN AFTER THE INSTRUCTOR HAS ALREADY EXPLAINED IT IN NOT SO SUBTLE TERMS. Cue well-deserved degrading insults from the teachers. So why are they even in HRM? Simple: they wanted to go work in some foreign hotel or cruise ship and earn good money. How the heck are you going to do that if you can’t even pay attention?

b) I’ve read a few horror stories from IT professionals, including ones from emailers on this website, about how some of these fresh graduates with impressive looking degrees actually have no idea what it takes to maintain servers and company networks, up to and including using routines that could end up slowing down data transfer within the network or mishandling hardware.

c) In my own field (advertising and visual communication) there are a lot of students who–how should I put this? Let’s just say they entered the field thinking it would allow them to “express themselves” only to find that this is COMMERCIAL ART we’re talking about. They kept rambling on and on about “establishment oppression”, “freedom of expression”, “being underground” and other inane things such as wearing long hair and non-sanctioned dress to school. Many of them ended up in unrelated fields or as grunts in some tech support outsourcing company. Still more dropped out or had kids out of wedlock. And as sad as this may be, when I once tried to get some of my own artist friends into my old workplace where I worked as a lead, I discovered to my horror that when push came to shove they couldn’t actually draw a straight line even with all the tools available (they were more familiar with the childlike mentality of seeing characters in a comic book and then copying the “art style”). I was openly embarrassed when our department director approached me and quietly asked if I believed my friends really were that good, because they simply couldn’t deliver at all. Ah, the naivete of youth…

In the end, judging from what I’ve seen and heard from other people, this isn’t restricted to any single field: there are delinquents and drifters out there, even in Computer Science. You’ve pointed out again and again how automation is changing the industries of the world, and as it does so a disproportionate number of students may be entering that field because it’s the last bastion of financial hope for them. The sad truth is they may not even have the faintest clue what to do with their own selves.

 

It’s not always their fault. Young people are getting fed misinformation from two sources: their parents and from academic establishment. From the academic establishment, the ‘career counselors’ are the opposite of helpful. The parents think that if the kid does what they did in their time, then everything is OK. “Just go get a degree and everything will be OK.” Oh, and here a TON of debt on you.

 

Master Malstrom,

I can relate to that article and share my own experiences and observations. Those who follow the Computer Science career usually fit into three groups:

1- Those who wish to be “technical gods”, like hackers were portraited in the mid 90s, programing in machine code, obsessing over technical details. These soon realize the whole IT career is more business-related than technical-related and few fulfill their dreams of becoming Computer SCIENTISTS per se.

2- Those who believe Computer Science is a path torwards CG animation and videogame creation. I’ve met a few of those in college. Their souls get crushed rather quickly as reality settles down, usually for reasons you have more than once explained.

3- Those who are technically savvy enough but follow this career due to business potential as opposed to passion. I include myself in this group, as I originally wanted to pursuit moviemaking as a career and was constantly reminded of how much of a dead-end this career would be (I live in Brazil). Living in a underdeveloped country has allowed me to have a midly successful career by taking outsourced IT development jobs, and I can say it pays the bills quite reasonably, but it is far from what I envision for myself.

I guess it’s like the oil business you often talked about, and the paralels you make with the gaming industry: one is a solid career that will provide you what you need to live in a free market society, the other is a dream most have and few pursuit as it requires life skills and knowledge not usually seen in those people who PLAY videogames.

 

The ones I have seen confuse ‘technology’ to just be ‘computers’. From their vantage point in life, this is true. They see new computer technology and enjoy it. I have to laugh and tell them, “So technology doesn’t come from any other industry?” Like the shale oil revolution, that is a process of various new technologies. But it is not a CONSUMER technology like a computer or video game. There are tons of new technology advancements in medicine all the time. But no, only in ‘computers’ is there technology. I try to point out to them that their microwave has more ‘computer’ in it than the Apollo 11 shuttle. Computers aren’t the only technology. Understanding things like chemistry and pressures of gases and all that is also in high, high demand. The destruction of the space shuttle challenger was due to a gasket.

What bothers me about computer science students is that they tend to think only they deal with ‘technology’, and that everyone else is ‘stupid’ in comparison. It is that arrogance that bothers me.

I’m much too lazy to look through government surveys to see who the polling audience is and cross-reference it with the distribution of people relying on government loans for college/which colleges they go to, but more generally speaking I think it’s that Computer Science degrees are only just now being certified.

Without any oversight from a respectable outside source, which certification brings, a lot of computer science programs are either woefully behind or just more generally inadequate at teaching the basics of what you’d need to actually make a living in the field. The courses will naturally be at least a year or slightly more behind anyway, at even the best of places, but the idea is you stick to core, universally applicable concepts and if new ones pop up you get a professor interested in them to quickly open up another course the following semester or hope your student organizations find out about it and pick up the slack with projects in the meantime. But, even if you fail to do that, most ‘new’ concepts aren’t so radically new that a good student wouldn’t be able to pick them up on his/her own based on knowing the old ones, if a professor just mentions them before or after a class.

Having worked in the field for several years now, between a few different jobs, the degree has largely been meaningless in terms of ascertaining whether the new kid is going to know how to unit test or use our version control properly. At most jobs, if you somehow can’t do the second you’re garbage, can’t even contribute and might even mess things up for everybody by using it wrong, and if you’re not used to doing the first you’re going to be donkeying up the things you submit, which is worse than useless. Then you get the rare kid who must’ve learned solely from some aging man who fancied himself an elite magician since rather than document their contributions with things like input and output and purpose, they’ll leave the oldman “do not touch, you won’t understand it, it’s already fully optimized” comments, which I guess given their age makes them seem more like hipsters. It should be noted that these are all very simple, low level things, but they are also things you probably wanted drilled in from the beginning since they’re day-to-day in the real world. Anybody could technically learn them ‘on the job’, I guess, but why weren’t they drilled as habits from the beginning when that’s exactly what they should be? The good degrees will drill them.

It might also be that the Computer Science blanket is kind of broad and the average college student spends something like 5 years on their degree. I don’t know if this is the case for Computer Science, but let’s imagine the average person at least uses 4 years. Because it’s such a broad degree, you might have a student who took a course on internet security or somesuch in their second year. At the time, the course might’ve been 1 year old and then when they graduate it would be at least 3 years old, which is quite a lot. The idea would be that the concepts you learn in the course would be enough to help you quickly learn any new things that pop up in the field (if the course was good), but it is very true that you have to spend more time keeping up on things on your own time, which might make the initial learning feel obsolete or wasted even if it wasn’t. And if you weren’t interested in the field of security or the internet in general, and the course was required, you might view it as time/money wasted in general, since most CS degrees require the full range of what they cover which, again, is a lot.

The interesting thing about that, is there are trade-school-esque degrees/programs out their for computer science and I can say without a doubt that, from a hiring standpoint, most would view anybody with them as “one tool for one job” or, to put it another way, largely useless as long-term employees or even as employees in general. Any degree program for computer science operating with more focus and more like a trade school creates graduates unable to think or adapt what they’ve learned to different problems or new concepts, so they’re even more stuck with whatever was relevant at the time than the average CS graduate. Or at least that’s the general view I’ve seen where I’ve worked, with the often sited example being their inability to understand algorithms they’ve never seen before, which is painful. It’s like they went to the foreign language classes that drill or teach only specific sentences while most CS graduates went to the ones that teach actual grammar, vocabulary and structure. For some things “sentence drilling” is fine, maybe, but not for CS since it moves much too fast and the last thing you want is to be working with some schmuck constantly saying “that’s not how I learned it in school” or “that wouldn’t work (because I don’t understand it)”.

 

In the trade schools, computer programming is taught as part of a larger program. Digital Control Systems are taught to those in the oil industry. The person must be equally good with a wrench and programming via a laptop. It’s a new world. The future programmers aren’t going to be nerds in a cubicle except for specialized programmers.

The trend I am seeing… everywhere… is companies getting people to do multiple jobs. You must be an electrician too! You must be a pipe fitter too! You must be all these things! They want these guys to program and do IT too.

I also wonder about the long term future for those who just program. The question I have is: “How much programming do we need?” and “Will programming be made easier over time?” So far, the answer to these two questions is “always more” and “will keep being more complicated” because that has been the trend since the 1970s which is forty years ago. Nothing goes on forever. Eventually, we may not need THAT much programming and programming may begin to become simpler reducing the need for ‘more programmers’. The good trend for computer programming I see in the future isn’t ‘technology’ but automation. Someone has to program the machines. However, I eventually expect that role to disappear in favor of those who know both software and hardware… the person who can do multiple jobs.

I think the idea of assuming the 1990s stereotypical programmer existing forever is a foolish one. Everything changes over time (the Internet wasn’t even known by the masses twenty years ago as example). What people should do is get on the good side of automation. Computer programming, though, is only one part of doing that. You need to get into the hardware as well.

 

 

 

 

 


Categories

%d bloggers like this: