Computer Science as a Major and as a Career
An anonymous reader writes "IBM DeveloperWorks is running an interesting Q&A with Director of IBM's Academic Initiative, Gina Poole. In the article she talks specifically about taking computer science as a major and ultimately as a career. From the article: 'There are a couple of reasons [for the decline in science and engineering degrees]: one is a myth, believed by parents, students, and high school guidance counselors, that computer science and engineering jobs are all being outsourced to China and India. This is not true. The percentage of the total number of jobs in this space is quite small -- less than 5%. According to a government study, the voluntary attrition in the U.S. has outpaced the number of outsourced jobs to emerging nations. Further, for every job outsourced from the U.S., nine new jobs are actually created in the U.S.'"
I see a sort of natural selection at work, where those that have the "soft" skills and people skills tend to be more successful, and those that don't get stuck on a more "standard" career path. Maybe where you work it's that way, but at IBM (at least in Austin), things are different.
Having worked a contract at one of IBM's places in Austin, I want to chime in and say this is completely correct. At IBM you need the "soft skills" all right. If you don't ass-kiss and boot-lick, you're not going anywhere.
That was the only place I was actually glad they cut my contract short, as it was obvious they weren't interested in keeping someone who focused on getting the work done, as opposed to sucking up to the right people.
I would advise anyone who is not brilliant at development to seek another path.
Consider it if you are really love coding, and are extremely good, and confident enough in your skills to job jump, or set up your own consulting buisness etc. Unless this is true. Run, don't walk to another faculty.
Here is the reality of working as a developer in a big corporations. Crushing deathmarch deadlines. Tons of off hours solo work, and continual outsourcing. So much process overhead that it will suck any of the joy out of design/coding that ever existed for you. A process that is now vain as there exists a multi-million LOC monstrosity that is always ready to collapse.
Your interactions will consist mainly of mind dulling staff meetings, early morning, barely intelligible conference calls to far off lands attempting to keep outsource staff up to speed (good luck with that) while the real work will be long solo hours staring at a machine (evenings and weekends if need be).
I have always considered myself pretty good, but not the best. The only ones who really get much out of this job are the best.
I could go on, but hey it is a beautiful sunny Saturday and I have to go into work.