The Future of IT in America?
tomocoo asks: "As a young person considering various choices for the future career I'd like to pursue, IT and computer science continually reappear near the top of the list of fields I'm interested in. In fact, one of my only hesitations is the suspected ease by which programming and other related tasks can be sent to other countries for pennies on the dollar. How much of a threat do the readers of Slashdot feel outsourcing is to the American programmer? Should I and other young people be pursuing something more specialized or have I simply been watching too much CNN?"
I have been hearing about the doom of the industry for a very long time. The fact is, is that IT and Computer Science follow a cycle.
Will there be a high paying job waiting for you the moment you graduate? That is impossible to predict, but long term you are almost assured to find a healthy career waiting for you.
Proof that the offshoring is an overexagerated issue? Look at average salaries of graduates. They may not be as high as you want them, but compared with any other fields they are consistently towards the top. Even now, with so much media attention focusing on the downturn in the tech economy, I doubt you would receive very much sympathy for having to receive a starting salary of over 51k. (Starting Salaries)
Anyone complaining about the lack of jobs and low pay in the industry is an anomaly. I am not saying it is their fault, but there will be people that simply have bad luck finding a job no matter what field you look at.
In short, the reason there is so much noise is simply because some people have unrealistic expectations of both finding a job and the pay they will receive. Take that away and what you have is an industry on a whole that is actually more healthy than a lot of others.
All of that being said, it is always better to specialize if your goal is more money. Almost any job will base your pay based on your expertise in the area they are looking for. If a job is looking for a C# developer and you have a little knowledge of everything then you will get paid for having a little knowledge of C#. If on the other hand you are a Java expert and have been doing nothing but Java for the previous 5 years you may not get that C# position at all, but when you find a company looking for someone with knowledge of Java you can definitely expect a higher pay.
You're way too caught up in picking a career by the "current market trend". If you're great at what you do, there will always be a market for your skill set.
If the current trend of outsourcing has you scared, what about other adverse situations? What about the next recession; are you going to run back to school and become a CPA? I'm suspect that you have a deep love for programming. When you love development, you feel it in your bones; you think about problems on your lunch break, you stay up until 3am to get that last bug worked out. If you don't have this sort of passion for creative logistics, then maybe you should reconsider other options (because you're likely to get burned out fairly quickly).
Jim http://www.runfatboy.net/ -- A workout plan that doesn't feel like homework.
As I understand it, IT employment in the US is increasing, not decreasing; you'll have a better chance if you develop skills in things like project management rather than just being a code monkey.
I am one of those young people. I'm finishing up a stint in the Army, and going back to finish my final year of my BS in Computer Information Systems. ( I was mobilized during my senior year of college.)
I firmly believe that there is plenty out there for me -- but not in something like programming, rather I believe my talent lies in being a Systems Analyst for a business, or something both technical and managerial in nature.
Sure, the off shore folks have us beat when it comes to programminng, no doubt about that -- but that's only a problem if you want to be just a programmer.
They still need people to lead and manage these teams of programmers, and perhaps that's where the value of the American IT professional is.
War isn't about who's right. It's about who's left.
Don't worry about what CNN is saying. They're not programmers. If you're a decent programmer, you'll always have a job.
Here's the bottom line, though:
If programming is something you love to do, then do it. If it's just something you want to do because you've heard it'll earn you "big bucks", don't.
Not that you can't make a good living...you can. It's just that unless you love something, you shouldn't go into it. You might be able to handle it for 10 or even 20 years, but unless your heart is really into it, you'll regret it long term.
Good luck.
And you'll be useful to somebody. Get really good at something, and you'll be useful to everybody. Almost doesn't matter what field. Whatever it is you REALLY enjoy, there is a way to make money at it, and a way to make yourself valuable in that field. In fact, if you REALLY enjoy it, create something new and market THAT. That's the way to make real money. I don't know anybody who makes a lot of money solely based on their education credentials. I'm sure they exist, but that breed is becoming rarer and rarer.
rhY
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
Most of the programmers I see working in the US have something to go along with the CS major. Having an english degree with the CS degree, for example, makes you multifunctional and can specialize your work (real world example).
if your primary concern is writing software and getting a job making money doing so. You want Software Engineering.
I suggest you do some research into what Computer Science actually is before assuming you'd like to go to University for it, because if you think you'll spend the majority of your time programming, you'll be unpleasantly surprised (The obscenely high first-year dropout rates of Computer Science programs are due mostly to this misconception)
Parent was bit trollish, but he has a point though..
Asia is currently worlds fastest growing economical area, and knowing how to speak japanese, mandarin or hindi might be rather useful.
There are no atheists when recovering from tape backup.
Do this with your future: What you want to do with it.
Do you really feel so tied down that you have to choose your career based on current trends? The trends won't last through when you finish your degree. Do you think that people who started their BS during the dot com boom made a dime of the millions that people made hawking their crap?
Seriously, pick a career based on what you want to do. You'll be a happier person for it.
I am a hiring manager in Silicon Valley. There is a shortage of great talent among the IT work force. In the last 12 months it has gotten harder to hire great talent and there is a definite salary inflation situation going on right now because most great candidates are seeing multiple competing offers.
Do IT only if you love it.
Consistently renew your skills. Commit yourself to a lifetime of learning new tech.
Live where the jobs are (e.g. San Jose, CA or Austin , TX).
Find a business where you are excited to apply your skills.
Avoid arrogance and treat people well.
Do these things and you'll always be in a high paying job.
I wouldn't worry. Sure a lot of even development tasks are being farmed out to India or China. But there's still more than enough demand and competition for the top CS graduates to ensure a healthy and lucrative career.
My only advice is to get a good education, and build a good resume while you can. If you spend 6 months getting a certification-of-the-week, write a little text adventure in Visual Basic, then wonder why you're not getting six-figure salary offers to start, you're probably next on the list to be outsourced. If you've got a CS undergrad degree (or better yet, a master's degree) from a top school, then people are going to be literally fighting over you, and I don't see that changing anytime soon.
The best advice I can give you is have stunning writing skills. You will be writing every day. E-mail, IM, proposals, agendas, reports and presentations are part of any job, even if they are a small part. Some companies don't care if you have good writing skills, but no business will complain if your skills are higher than they want.
The offshoring problem is grossly overexaggerated and all it does is separate the men from the boys.
That being said, I would focus on doing something you enjoy regardless of money. It makes the difference in life. I bet a lot of people claim to enjoy their job on here, but I bet a lot of them are lying about it. Usually the money makes these jobs worth tolerating but working in a "the office/dilbert/office space" style environment is detrimental to the soul.
The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
Computer Science, computer engineering, and electrical engineering are far more powerful degrees. They are also much hard than IS. I took some IS classes to learn some new things at a local state college. I thought the classes were a joke. The classes were easy. There was no low level theory at all. No you will never directly use the theory, but if you understand the concepts its much easier to grab a book and learn the practical stuff on your own. The same school has very hard computer science courses.
Even if you want to be a network engineer. You will learn ALOT more with a computer science degree. You can then do a minor in information systems and take a few classes that you are interested in.
Computer engineering is probably the most valuable to employers. The reason is that the barrier to entry is higher. For a network administrator or a programmer you can learn it without school. You really can't learn computer engineering without school.
I've noticed a number of problems with IT as a career choice. Back in '97, I graduated with a degree in computer science and started working like everyone else. I hopped from job to job for a number of years. The longest I stayed at one place was about a year and 4 months. After a while, I finally realized my problem. I absolutely hate working in IT. There are a number of reasons why. I'm not saying that these will apply to you or anyone else, but if you feel they do, it might be a good indication that IT is not the field for you.
.NET is the newest example I can think of.
1) I can't stand having to work on other people's stuff. I don't like being given assignments that I'm not interested in and having to complete them. I'm sure people with stronger "work ethics" can force themselves to muddle through, but I'm not going to do it. Worse, there are a lot of mundane administrative tasks (like timesheets, etc.) that have to be dealt with. If I'm working for myself and getting paid based on those things, it would be different, but it always just seems like a waste.
2) Having to constantly keep up with new technology got kind of old for me. I like low-level programming in C. I don't really care for web apps and such. I tend to find the various frameworks overly complicated for no apparent reason. Most places I've interviewed with want to see lots of solid job experience with particular technologies, which can be difficult if you weren't working somewhere that used it.
3) "IT" type programming isn't very interesting. I would rather work on low-level stuff, simulations, academic problems, etc. I don't really care a bit about data migration, or making loan payment GUIs, or whatever. There's relatively little problem solving to be done, which is the whole reason I liked programming in the first place. Instead you get handed some half-assed specs and spend all your time chasing people down to figure out what needs to be done, even though none of them really know or have the authority to decide. That's when the meetings begin.
4) Did I mention meetings? I hate meetings. I can't decide if conference calls are worse or not. On one hand, you can mute the phone and make faces, but on the other, it's frustrating to have to listen to people you can barely hear, deal with flaky connections, etc., and you still have to pay attention because someone will certainly end up asking you a question.
5) Outsourcing. Not just to foreign countries or migrant H1-B visa holders, but to any third-party contracting group. There are several problems with this. Many times, consulting companies (Accenture) will put people on a project who have never programmed before. They don't even have degrees in programming. The consulting company will use a project to train them. It's real fun explaining what recursion and stack overflows are to someone on a major project.
6) If you ARE a contractor though, you might be in luck. You're more likely to get to work with newer technology, so it's easier to stay ahead of the curve. From what I've seen, full-time employees tend to have to work on maintenance rather than new development.
Right now I'm transitioning out of IT as a career. I'm still working, but as a training consultant. It pays enough that I can finally risk going into business on my own. (A non-IT business at that!) The only way I'll ever feel motivated to put effort into a "job" is working for myself. I'll never give up computers and programming, and will pursue it as a hobby (and possibly as an academic career in the future) for the rest of my life.
But work in IT in the modern business world? No way.
bytesmythe
Hypocrisy is the resin that holds the plywood of society together.
-- Scott Meyer
It's laudable that you are concerned about college, but you have the rest of your life to worry about job security. On the other hand the days in which you may bang 17-year-olds are numbered. Get your priorities straight.
-Peter
The final result is that, due to the free flow of services (including labor in the form of outsourcing) between the United States and India, Indian government intervention now indirectly damages the operation of the American free market (for high-tech labor), suppressing wages and diminishing working conditions.
You see a similar phenomenon in the unskilled-labor market. Mexican government intervention in the Mexican economy generates hordes of desperate labor that floods the American market for unskilled labor. The presence of Mexican illegal aliens in the American market suppresses wages and diminishes working conditions as American employers exploit a nearly limitless supply of desperate workers willing to work for slave wages in dangerous or grueling conditions.
No job in America is safe from this destruction to the free market.
You should select the job doing the kind of work that most interests you. In your spare time on the weekend, stay abreast of international news. Vote for populist politicians who support free trade between the United States and only other (relatively) free markets like Canada and Japan, not Mexico nor India. Support policies that terminate trade between the United States and (relatively) non-free markets like Mexico or India.
Also support policies that compel Washington to aggressively intervene in both the Mexican government and the Indian government. The nature of the intervention should be at least as aggressive as the Mexican meddling (by Vicente Fox and his corrupt ilk) in the American Congress. Washington should eliminate Mexican politicians and Indian politicians who promote the economic destruction that has generated hordes of desperate labor fleeing to the United States.
Do a job that you love. There are up sides and down sides to this but the up side is that you can enjoy going to work where you will spend a significant portion of you life. The downside is that your love may change and what used to be fun is now a chore. I was first a musician, and after 3 years on the road decided it was not fun anymore. I then went back to University and learned about computers. Luckily, I still love it 25 years later.
Another up side, is that if you love to do something you will get better at it. This means that you will become the craftsman that people want to have working for them. Your salary will increase and you will be employed.
A third upside is that your enthusiasm about your work will show. When you go for job interviews it will show. People feel more comfortable hiring someone who they can see has enthusiasm and a proven experience.
The nice thing about the computer field, is that it's large enough that you can partition your hobby and work into 2 different types of work, so you don't become overexposed in the one at work.
The starting salary only applies for those graduates who get jobs in the first place.
Having recently interviewed several candidates on campus, I'm starting to see why they're not getting hired. Most are unmotivated, but a lack of income will soon fix that. The real problem is that they don't have any real world skills. A university CS/CE graduate should either have enough hand-on programming experience to know which end of a compiler goes up, or enough theoretical knowledge to know the difference between the basic data structures. I'm not getting that from the candidates I'm interviewing.
Unless the universities straighten up, I think the future of university graduates is an extra year at DeVry/ITT just to get the skills to be employable.
Don't blame me, I didn't vote for either of them!
Do what you love. Be the best. The rest just happens.
My website
A university CS/CE graduate should either have enough hand-on programming experience to know which end of a compiler goes up, or enough theoretical knowledge to know the difference between the basic data structures. I'm not getting that from the candidates I'm interviewing.
I find that the quality of applicants varies enormously, even from the same school. I do see rather a lot of "grade inflation", but new CSEE graduates who had a 3.0 or better GPA are usually at least trainable.
What I try to seek out is whether a newly-minted CS degree holder likes the field, or just got steered to it by a guidance counselor. If the interest is there, the talent can generally be trained in.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
I suppose the first questions to ask yourself is why you are looking at going into IT. Are you looking for a stable career? Are you looking for fortune? Do you really enjoy computers and programming as a hobby and think it would be cool to earn a living doing something you enjoy or are you just looking for any job that you can earn a living doing?
I went into technology as a programmer/software enginner because I loved working with computers and I saw a way make a living while doing something I love. Ten years later I still love it. I've always prefered hands on development and prefer coding and on some project I like being the technical lead, but otherwise I have avoided the management-side of IT. I could make more money, but at a huge cost to my personal satisifaction.
Why do you want to go into IT?
I'm an IT director at a corporation with an IT staff of ~20 people. Our IT budget is fairly small - we typically have funds for 1-3 decent sized projects per year. But, like most companies our size, we do not have the full-time staff to continue maintenance on our existing systems AND run a dedicated project team to implement a new system. We bring in an implementation partner to staff the new projects - and members of our full-time staff generally act as the project manager and as part-time technical members of the team. The dedicated project team is primarily contractors. I worked for a while as a contractor when I was younger - and as many here can testify, it is not an easy life, and not for everyone. Traveling from customer to customer all over the country, staying in one place for only a few months at a time - and always having the threat of lay-off over your head if you don't find a spot on the next project. What's the problem? There are many. The full-time staff doesn't really get involved enough in the new system implementation - they are too busy with maintenance. Tight budgets make us push the schedules too hard - because we want the high-priced contractors gone as soon as possible. The contractors aren't in-house long enough to really refine the solution to match our business processes - they try to slam it in, get paid and move on - leaving us to clean-up the messes and deal with business users who are disappointed with 80% solutions. The real-world of corporate IT is an ugly place - full of long hours & weekends, clueless corporate execs and $500K software packages that won't even install unless you spend a thousand manhours patching and tweaking code. Schools don't teach this stuff - they show you a few theories for building data models and writing compilers and send you on your way. I'm not saying a degree is worthless - on the contrary, the discipline required to complete a university program is extremely valuable and I won't hire non-degreed script kiddies. It's just that IMO the university curriculum is completely unrelated to the world of corporate IT. One of my university professors told me something that has stuck with me for 20 years: Technical people are complete idiots. We believe we have a Holy Calling to be techies, and we like being techies so much that we would do the work even if we didn't get paid. Lawyers and accountants get paid so much because they charge you just to have a talk with them. If techies did the same thing we would all be making millions of dollars!