Skills Needed For a Future In IT
Lucas123 writes "An increase in the pace of change in IT has created new dynamics for jobs involving the Web, mobile computing and virtualization. For those looking to enter the marketplace in years to come, 30-somethings hoping to upgrade their skills, or those who'll be winding their careers down by 2020, skill sets are drastically changing. For example, graphics chips are doubling in capacity every six months. That translates into a thousandfold increase in capacity over a five-year period — the average shelf life of most game platforms. 'We've never seen anything like it in any industry.' Colleges are in continual catch-up mode and have only recently added project management and soft skills training to computer science programs. According to one expert, 'They're about five years behind where they need to be.'"
These days, anyone that industry likes is an "expert."
College works best when it functions as (a) a qualification program and (b) a general, background, theoretical and broad study of the subject matter.
Qualification in this case means that you go to college to endure an extended test that ultimately shows how dedicated and intelligent you were. Made it through four years of Harvard? You're pretty good, usually.
A general background means that you study the theory and a broad survey of the topic, so that you understand the underlying issues and the basic methods of addressing them.
I don't think it makes sense to teach specifics in college, except vocational colleges like community colleges. That's the kind of stuff you learn on your first few jobs anyway, and it's so rapidly changing that trying to get college to teach it is a moving target no one will hit.
Futurist Traditionalism
They've been calling colleges out for being "five years behind" since the first Computer Science programs started. But truthfully they are always at least five years behind, but while true the skills most teach are already "soft" enough to transfer into the latest and greatest toys. Java? Now you can write PHP, or C#. C? Now you can write Object C, D, and C++.
There is always this interesting push between what I like to term the Computer Science Vs. Software Engineering people, in which the former always wants to play with new interesting toys, write code, and generally act like an impulsive teenager, while the latter wants to be an old man, being safe, writing plans, timetables, and those middle management bits that drive CS people up the wall.
I think when we're young (mentally) we're CS, and as we age we gradually turn into Software Engineers.
I've been working in IT for some time now, and I think that that any specialized hard-skils are pointless. Most of my success has been able to adapt to new technologies, languages, ideas, etc. IT is constantly changing (which is what attracted me to it). What you need is a solid background in IT concepts (how to program in A language, how to understand the TCP/IP stack, what a protocol is, etc), a solid understanding of interpersonal communication, and a willingness to change and adapt.
It is funny that the the future skills that you need to develop are in fact the past one, like C (only, not C++), assembler, embedded OS (uClinuc, linux), RTOS....all of them require the good old C only skills...... Funny, ain't?
> Consider, he says, that graphics chips are doubling in capacity every six months. That translates into a thousandfold increase in capacity over a five-year period -- the average shelf life of most game platforms. "We've never seen anything like it in any industry," he says.
Yes. I definitely remember my XBox 360 being 3 orders of magnitude more powerful than the XBox. I hate to cite Wikipedia, but this appears to show a 5 times increase in 4 years: http://en.wikipedia.org/w/index.php?title=Transistor_count&oldid=374101890#GPUs
> At the same time, colleges can't adapt their curricula fast enough to prepare students for the complexities of cloud computing and virtualization, not to mention specific technologies such as Microsoft SharePoint, observers say. Recent graduates also seem naive when it comes to business basics and how computing foundations apply to the real world, says David Buzzell, CIO at The Sedona Group, a Moline, Ill.-based workforce management services provider.
That's not new. Most colleges/universities do theory-heavy courses designed to let you learn the next big technology. If you want a MS certificate to say you grok Sharepoint, you can get that for a LOT less than a college degree.
> Another didn't know what an invoice was.
If you advertise for a someone with 2-5 years experience of a software package with 2007 in the name... http://seeker.dice.com/jobsearch/servlet/JobSearch?op=101&dockey=xml/0/5/0598524509067860fbf7aef52a6ae982@endecaindex&c=1&source=20
The ability to bullshit people into thinking that you know what you are doing despite the fact that half your job consists of trial-and-error attempts to work around the constraints imposed by other people that managed to bullshit people into thinking they knew what they were doing.
I've abandoned my search for truth; now I'm just looking for some useful delusions.
10 years ago when I was in college, I asked what the future of computing was going to be like. I was told that linear algebra would probably become much more important because quantum computing was on the horizon. Quantum computing still hasn't materialized, but linear algebra is looking to be more important anyway. The cool bit about linear algebra: it's always been useful. 10 years ago, we were talking about resource problems. Today those problems still exist. A good algorithm is just as important, and understanding the computability of a problem. 10 years ago, we were talking about the importance of having a deep understanding of the languages, not just knowing "C, C++, or Java". Today, a deep understanding will still help, and knowing only the fad-language-of-the-day will still get you in trouble. 10 years ago we talked about multi-processor programming. Today we talk about mutli-core programming. Multi-threaded applications have been around for a long time. Other issues: security, project management, and software lifecycle. I've yet to see a new issue, just an old one in a different way.
6 years ago, I wrote a software requirement spec, and software design spec. In it I said the web application had to be able to run efficiently on a 300MHz processor over a 56K modem. I didn't realize that in 6 years, smart phones were going to be so predominant that people would still be using 300MHz processors over 56K connections.
Today, tomorrow, yesterday; it's all about understanding the fundamentals. The details may change, but the foundation is the same.
After my latest round of interviews for an open developer spot on my team, I decided the skills I'm looking for in IT can be identified by this test:
http://www.drunkmenworkhere.org/170
Notice there's no mention of code, development methodology, or any other IT concepts.
And that's fine by me, because all those things change. I don't need a Windows IIS guru, because we're likely to switch over to Apache Tomcat next year. I don't care how l33t your PHP skillz are, I want to know how useful you are going to be when we need to move all the code over to JAVA.
Basically, I want to know how well you can answer the questions I don't yet know to ask. New technologies, new challenges, new bugs. I need to know how well you can think.
There you are. That's the skill need in IT--past, present, and future. Can you think?
Until then, it's the hard skills that most companies use as the prime determinate for whether or not a given application gets a first-level interview.
IT is one of the absolutely worst industries for pigeonholing, and your last job is the one that gets tattooed on your forehead, not the stuff you know (or think you know) the best.
Welcome to reality ... for the past 20+ years, sadly. I don't see it changing soon, as that requires an actual level of understanding on the part of those that be hiring.
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
The last thing we need is for mundane society to catch up with the trend...
Yes, what he said. Please, for the love of God, do not spread knowledge! Keep us elites strong, and let the masses rot! The last thing we want is an economy that can keep up. When the ship goes down, I want to be the rat sitting on the tallest mast.
College isn't free. The people who go to college who seek only knowledge are already elite enough to be able to pay for it. The people who educate themselves don't need to go to college to learn this stuff. So once again you assume all those college degrees have helped the economy or the internet ecosystem and they haven't. The only thing it has done was raise the barrier of entry. Now any kid who has talent and knowledge will be ignored in favor of the mediocre kid from mundane society with a degree or two.
and nowadays its more important that any knowledge of computing - once you know how to manage an outsourced team, you're golden. Who needs to know anything about actually doing anything after all.
Next week's lesson: how you never need to work again because your rising house price earns more than you do.
They come out of college knowing everything they need to be readily trained.
More importantly, they come out of college knowing people they will need to know to get job referrals.
I've abandoned my search for truth; now I'm just looking for some useful delusions.
"Well look, I already told you! I deal with the goddamn customers so the engineers don't have to! I have people skills! I am good at dealing with people! Can't you understand that? What the hell is wrong with you people?"
"I'm not a quack, I'm a mad scientist! There's a difference." - Dr. Cockroach
That's the point, sadly. They list impossible jobs, and when no one fits they can then hire on a visa or outsource to India -- much cheaper than hiring and training homegrown talent.
If you love studying CS then go to University and do it because you love it. Universities are meant to be about learning and research, not getting a career. As someone who went to a British University, studied CS and now works in an interesting software dev job I have to say that it was the best thing I ever did. If I can ever find an excuse to ditch working and go back to study further I'll do it.
But just remember, if you get there and you hate your degree, think about what you might like to do more because it's not worth wasting your time hating what you have to learn. It might turn out that switching degree or just dropping out and doing something else is what makes you happy.