I dislike the question intensely. Let me give the boomer answer, since nobody else has.
Study what you are interested in. Do what will make you happy. If money is the thing that will make you happy pick a third option like sales or bank management or plastic surgery.
Good point, although I'm seeing a lot less people go into computer-related fields for the money. Like you said, if you like something enough, you'll find a way to make money with it. It just got a little crazy back there in 2000 or so when everyone was rushing to cash in on this "new, hot" field of IT.
I guess I kind of wish that I had been of working age during the late 70s/early 80s when computers were these brand-new, scary things and printing people's paychecks or making airline reservations on a computer system was considered a black art. However, I'm definitely finding that we keep re-solving the same problems over and over even as the technology improves. Seriously, if you like IT, there's no reason why you can't make money from it.
It's not what's in demand...never chase a fad in IT because you'll get burned every time.
There are a couple of points that your question brings up.
First, don't forget that unless you're going into one of the professions (law, medicine, accounting, etc,) what you do in school isn't going to matter in a few years. Especially in IT, the actual technology in use today could be gone a few years from its start date. The most important thing in my opinion is to develop your ability to creatively solve problems. Whether you're writing software, fielding support calls, managing servers or doing what I do (systems integration, i.e. make everything work with everything else RIGHT NOW) the abiltiy to troubleshoot will save you every time. I have a science background, so I take that approach to just about any IT problem as well. "Regular" engineers are trained like this, and I believe that IT will eventually morph into an engineering discipline once the wild west era dies down.
Second, although what you learn in school won't matter, what you learn as you go matters a lot. I'm not just talking about the latest programming language...you pick up the ability to do big-picture thinking while working on day-to-day tasks as well. Especially in production environments, thinking about something you do in terms of "What far-flung system will break when I do this?" is a very useful skill.
Finally, I know you're in CS, however you must find time to develop your writing and communications skills. There are at least 10^6 replaceable coders in India and other countries who will be more than happy to take the nose-to-the-grindstone development and support jobs. In this part of the world, the IT people that keep their jobs will have at least something of a business focus, be able to write and speak very well, and be able to deal with customers.
These tips have served me very well...I've managed to stay employed since graduating nearly 10 yrs ago, and they were taught to me by various mentors on various jobs along the way. Good luck!!
It's nice to see good engineering work finally get the recognition it deserves. I seriously think that one of the main reasons people are turned off from engineering/science is that they see it as non-rewarding. Most business professionals get a lot more recognition for their work, even though it's less challenging. Everyone is aspiring to be that "celebrity CEO" type rathen than focusing on doing their best in a job that's less visible.
That said, I wonder if it would even be possible to pull off something like this in the US anymore. With such low interest in math and science, and a low level of education, how would we find people qualified enough to think through things like this?
Selecting the sex of your child may wind up being a problem because of the uneven split you might get. However, being able to breed out genetic abnormalities is a great thing. Imagine what will happen when we're able to manipulate the chromosomes deterministically. We could get rid of a lot of the neurological diseases, genetic mutations, etc. Society will be better off not having to waste resources on inferior people.
One thing that a lot of open-source developers don't seem to realize is that the "corporate" world of IT is very different from the "tinkering in your garage" world. Companies expect reliable products with good support and documentation. Silly comments in the source code aren't a big deal (lots of commercial software has this) but comapnies want the security of knowing that when something breaks, they don't have to rely on what they perceive to be a bunch of 14-year-olds.
I work in big, bureaucratic environments where everything has to have full support, documentation, etc. to be released into production. We're just starting to look into the open-source world. There are some great projects as well as some really lousy ones. The last thing the CIO wants to hear is that the people who write a core piece of software decided to stop maintaining it and left you hanging. THe way to avoid this, of course, is to go with professional outfits that will be around for a while.
I think Firefox is great, but now we have to make sure the team sticks around to support it in a professional manner.
Wish I had mod points, because your post was very good.
The bottom line is this: the only IT jobs that are going to be left in this country in a few years are going to be the ones where you deal directly with people. Most of the "geek locked behind the server room door" jobs are going overseas (programming) or are being relegated to lower-paid maintenance jobs (local sysadmin for an outsourcer.)
Unless you're the _one guy_ who keeps your entire company's core business up and running, no one is exempt from the people skills requirement in IT anymore. That used to be the case, but no longer. The insurance company I used to work for had some pretty anti-social mainframe programmer types...I don't think they'll survive the next wave of outsourcing.
Looks like Apple is trying to capitalize on IT departments' relative unhappiness with Windows. I actually have a Mac at home, and I think it's a great desktop machine. From an admin point of view, you can lock down anything you want, and it's stable. Of course, any advantage regarding spyware and viruses will go away once enough people start using MacOS...right now most hackers can't be bothered. One of the biggest problems we deal with is Windows patch management and virus/spyware control.
Plus, the good thing about MacOS is that the desktop/window manager is fully mature. Recent advances in the Linux kernel really help the whole plug-and-play thing, but it seems like a unified set of desktop apps or an accepted One True Window Manager is a ways off. It's going to take a Red Hat or an IBM clamping down on feature creep and version control to make that happen.
I wouldn't be surprised if Apple managed to sneak a few XServes in as departmental file/print servers or other low-end tasks. MacOS is very cool under the hood as well as on the surface.
Well, IBM did this with Lexmark ages ago, and it seemed to turn out OK. However, selling off a core business to a commodity box-builder may be a little different. Everyone has mentioned the ThinkPad...it would totally suck if this new company WalMart-ized the design to save a few bucks. ThinkPads are legend for their reliability. I still have an old Pentium 60 somewhere in the lab at work (running OS/2, believe it or not.)
Lots of companies are selling off xore pieces of their business to "focus on services." It's a fad, just like the whole dotcom thing, and (hopefully) the outsourcing wave. True, manufacturing in the US is completely impossible with foriegn competition. Also, PCs are definitely a commodity now. IBM's desktop machines haven't been anything special lately, but some of them have neat case designs. However, I think some companies will look back in a few years and wish they hadn't cashed out of the "acutally producing physical things" market.
There's no doubt that IBM has tons of other stuff it's producing...software, servers, mainframes, POS systems, etc. But I'd hate to see them become another one of the buzzword-compliant consulting firms. There are only so many clients left to employ fresh college graduates as "expert" SAP and PeopleSoft deployment project managers.:)
Linux' strength (versatility) is it's achilles heel when it comes to the desktop market.
Yup...that's what still has a lot of IT people turned off of a Linux desktop. Luckily, in a corporate environment you can force your users to do things one way. However, who's to say that the "one way" will be available to you 4 years down the road? A commercial software company (like Sun) can provide direction, and a sane migration path from the old way to the new way. The old argument against Linux was that you couldn't get support from a bunch of hackers. Now the argument is that there are thousands of ways to do things. How many Linux programs are named "Yet Another..."?
Red Hat and SuSE have gotten better at this lately, but they still include way too many things out of the box. If I were building a desktop distribution, I would pick ONE window manager, bundle in enough hardware support to make things as plug-and-play as possible, put in ONE office suite, and a few other useful apps. Then I'd make the system easy enough to tweak later on, so anyone who wants to can grab components and install them as needed.
Linux would really benefit by having a few vendors back one set of standards. It would be easier to train sysadmins as well as end-users.
VOIP will obviously take over standard PBXs, but the equipment manufacturers are going to slow it down as long as they can. All that proprietary hardware is extremely expensive/proftitable. Just like residential customers will continue to have traditional landlines for quite some time, businesses will take a while to convert.
One of the things that VOIP requires is a good knowledge of business phone service. You almost have to have a PBX guy on staff in addition to the IT department just to design/manage the dial plans, voice mail, etc. As much as the vendors insist, it's _not_ a simple drop-in-a-server-and-some-phones proposition.
This is going to be interesting to watch. The US has been de-emphasizing education for so long that I don't think we could catch up to a rapid growth spurt like this without serious intervention. I don't blame companies for reasoning that China probably has 100 times the well-trained engineers/scientists who will work for less.
One of the major problems is that we don't have enough people who are willing to pursue basic research, or who are intellectually up to the task. Someone has to step up and explain to students that science and engineering aren't dead end career paths! Not everyone can be a lawyer or investment banker, and almost no one can be a rock star or sports hero. Unfortunately for us, China still has central planning, and can dump everything into a project that it can (see the Great Leap Forward for an example.) Communist countries are well-known for forced industrialization efforts. The government could let the peasants starve for a few years and become the number one science power on the planet if they wanted to.
I think that one of the reasons customer service has dropped is because of a fundamental change in who does tech support.
Way back in the Dark Ages of the early 90s, my first job during school was helpdesk work. (Picture starting during the first year your university offered dial-up Internet access. Evil stuff...) It was sometimes very frustrating, but it sure beat all the other student jobs like working in the cafeteria or driving the espresso machine at Starbucks. It was also how I found out that an IT job was right for me, so it served as a training ground.
The landscape has changed somewhat now...back then, everyone in support was at least somewhat tech-savvy. Now with fewer domestic entry-level support jobs, and fewer people willing to go into IT, the call centers have to settle for lower-level workers. It's also a vicious cycle...the low skill frustrates the customers, the workers' bad attitudes frustrate the company, who moves the jobs offshore, only to get the customers angrier.
My solution to this problem would be to have US companies (a) raise support salaries by enough to keep the workers happy and their bills paid, and (b) to locate call centers in cheap areas of the country so they could still make the same profit margin. My Rust Belt city really got a boost in the 80s/90s when companies started locating their support functions there...it practcically rebuilt the middle class after the factories died!
That's a good point. I'm a sysadmin, so my work programming is limited to scripts and stuff. However, I took a look at the current state of SW development lately, and there is no clear entry point like their was with simple languages and systems.
It's not impossible to write a simple VB program, but anything beyond a single dialog box with a few controls takes huge amounts of effort. More importantly, it takes even more effort to do it well.
The sad truth is that all science and engineering jobs that can be will be sent overseas. It's a major strategic problem for our country as a whole, and IMHO it could lead to us losing our world status. However, if anyone's complaining, they're not doing so loudly enough. It's very hard for CEOs to resist the temptation of 90% labor cost savings.
One thing I remember hearing a year or so ago is that "Americans will have two jobs in the future, CEO or janitor." Otherwise smart people are being forced into management as the only choice to move up in an organization. I'd much rather use my brain all day long instead of writing e-mails and having endless conference calls.
If I were president, I'd do something similar to what Kennedy did in the 60s. He set a deadline for a mission to the moon, and backed it up with federal resources. Imagine what would happen if whoever ends up running things in November mandates that we end our dependence on foriegn oil in 10 to 15 years. Instant end to the middle east problem, and a great boom for science!
The problem I found is that a lot of web apps are coded for IE's "extensions" that don't translate over to Firefox. We have a few internal apps at work like that, but there are public examples too. E.g, my power company paid some contractor to put together an online bill pay system for them, and obviously they're not interested in fixing it. Open the page in IE, and it works fine. Open it in Firefox, and you get a blank screen.
A lot of people dismiss companies when they say the research pool is better overseas, but I think they're right. I'm sure anyone who's been through school recently remembers that (a) studying and getting good grades is hazardous to your social standing, and (b) there are very few American faces in advanced science programs.
If we ever want to regain our foothold in the research world, we have to import some of China/India/Japan's culture. Most kids in these cultures are pushed hard to study, and it's considered shameful to fail at something. I went through a bachelors program in science, and saw people who did nothing but study from the time they started school.
I propose the following: Split the school system into two tiers. One can be the elite educational track, where students are challenged. The other can babysit the "oxygen thieves" until they're 18. This way, both camps are happy.
The author describes a lot of what's wrong with software development right now. Being on the admin side of things, I've often had to deal with very buggy stuff custom-written by an internal IT department. Lots of key systems at large companies are still running on either the original hardware or upgraded versions of the platform. (There was an article a while back about VAX finally being killed by HP...that should tell you something.) Any improvements are hindered by the original framework (think screen-scraping apps, multiple file format translations, etc.)
Civil engineers also run into this problem. For instance, take any large city whose highway system was built more than 50 years ago (NYC and Boston come to mind immediately.) No one ever dreamed that everyone would have their own car and stop using the trains/buses/ferries to commute to work. Therefore, overcapacity was never seen as a problem, and the rush hours just get longer every year as everyone tries to stagger their commutes. And since the roads are right next to buildings, in-place upgrades are very rare.
I think that once the whole IT labor market shakes itself out, software engineering will become another branch of traditional engineering. Just like power plants, dams, airports, etc., we're now dependent on computers, and it's time to put some standards into place. Software needs to be built such that it's portable, easily understood by a similarly-trained engineer, and conducive to improvements. In other words, it needs to be able to outlive the coder.
The other thing that I noticed from VMS in Windows (but not well-implemented at all) was file-versioning. I remember that VMS would save n versions of any file you edit, with n being a settable number. Microsoft has metadata streams in "newer" NTFS filesystems that amount to a versioning trail, but it looks like it's mainly for "undo" purposes.
I do miss "real" computing environments...unix is about as close as we get these days, but adminning or even doing tech support for VMS was a challenge.
I remember working on OpenVMS on VAX and (later) Alpha systems. The OS was pretty cool for its time...it looks like Microsoft lifted a lot of its security features for NTFS in Windows NT.
HP is really keen on getting rid of their older inherited platforms...DEC systems are known for their reliability, and I know a lot of hospitals, etc. that use them for daily production work. It's definitely a minority now, but they were huge back in the day. Qualified VMS people will be very well-paid as migration consultants in the next few years as HP slowly pulls the plug on the Alpha line...they've already got OpenVMS running on Itaniums. (Side note: I SERIOUSLY hope that HP is planning on restoring their Intel server quality to what Compaq was before they were bought out...otherwise the VMS, Tru64 and HP-UX customers are not going to be happy. All the new ProLiant stuff we're getting from them seems to be cursed.)
The one thing I remember most about VMS was the _extremely_ long command lines with DOS-style switches. You could shorten them, of course, but the DEC manuals had the full text of the line written out.
I've been looking at XP SP2's release canadidate for a couple days now, and it's pretty obvious that it will cause nightmares for Windows admins for quite a while. However, it looks like they're making steps towards better security, which will be better in the long run.
Anyone who works in Windows shops knows the proliferation of COM-based software that was thrown together in Visual Basic, and this software often performs critical functions. It will take lots of testing/planning to make sure SP2 doesn't break these extremely fragile apps. There are many, many in-house applications that are still chugging along, even in compatibility mode, because they simply can't be replaced easily. Unfortunately, Microsoft can't test these in-house apps.
Sysadmin jobs for smart people who know a wide range of systems will still be around. However, expect some changes, including the following:
Very few sysadmins can afford to be the geek hiding behind the server racks. You'll be expected to interact with users, understand their needs and generally function as part of the business. If you're the _one guy_ who knows absolutely everything about the main system that your company uses to make its money, then you're the exception. Otherwise, those social skills are going to come in handy!
The outsourcing thing is going to hurt for the forseeable future. If your job doesn't get sent overseas, it's pretty likely that permanent IT staff positions will be transferred to third parties. This leads to wage compression as the outsourcer tries to squeeze every last profit dollar out of their deals.
Knowing one OS isn't going to cut it anymore. I'm a Windows sysadmin by trade, but know Linux relatively well (the problem is getting into a Linux shop after working in Microsoft shops...I swear I must have a big red "M" tattooed to my forehead.:-)
The days of the paper MCSE are numbered, and it's a small number. Lots of Microsoft sysadmins aren't bothering to learn things like scripting, task automation, etc. that are essential on every other platform in the world. That's what separates the paper MCSE from the qualified windows admins.
There's very little opportunity to "break in" like there was in the 90s. IT employers are becoming much more impatient with new hire ramp-up time, and it's getting harder to find entry-level IT work that doesn't involve fixing computers at Best Buy.
Back in the day, systems were extremely complex and needed an army of people to look after the basic functionality. Now that's changing...sysadmins will be around, but adaptation is required.
The other thing that I see happening is formation of a common set of procedures. Civil engineers rarely design faulty bridges, airports, train stations, etc. The reason is that they use tested methods, and "new cool stuff" goes through complete peer review before becoming generally accepted. Systems people, OTOH, build stuff that routinely crashes and fails to work as advertised. Once companies get out of the "outsource everything and pay the absolute minimum for the work" phase, I think it will be time to form a real governing body similar to the professional engineering organizations.
Thinking like this stagnates the industry. Copying existing technology is easy money, but don't forget that some aspects of PC design are nearly 25 years old. The market is ripe for something new...and the company that comes up with something other than a variation on a theme will make lots of money in the long run.
This is the same kind of thinking that has CIOs everywhere shipping jobs off to outsourcers; they figure one sysadmin is much like the other. Technically they are, but if you train your staff well, they learn much more about your core business than any outsourcer would.
Especially in tough times, it's tempting to cut R&D budgets. However, comapnies that abandon basic research do so at their own peril!
If these are end-of-high school exams, no wonder the Indians are taking all of the technical jobs! The amount of math and science knowledge they're expected to have is amazing compared to what it is here. Take a look at the New York regents exam content and compare it to the samples on the Indian website:
http://www.nysedregents.org/testing/hsregents.ht ml
When I have a kid, I'm turning it into an education robot...it will do nothing but study from pre-school onward. It's the only way for us to stay competitive.
Study what you are interested in. Do what will make you happy. If money is the thing that will make you happy pick a third option like sales or bank management or plastic surgery.
Good point, although I'm seeing a lot less people go into computer-related fields for the money. Like you said, if you like something enough, you'll find a way to make money with it. It just got a little crazy back there in 2000 or so when everyone was rushing to cash in on this "new, hot" field of IT.
I guess I kind of wish that I had been of working age during the late 70s/early 80s when computers were these brand-new, scary things and printing people's paychecks or making airline reservations on a computer system was considered a black art. However, I'm definitely finding that we keep re-solving the same problems over and over even as the technology improves. Seriously, if you like IT, there's no reason why you can't make money from it.
There are a couple of points that your question brings up.
First, don't forget that unless you're going into one of the professions (law, medicine, accounting, etc,) what you do in school isn't going to matter in a few years. Especially in IT, the actual technology in use today could be gone a few years from its start date. The most important thing in my opinion is to develop your ability to creatively solve problems. Whether you're writing software, fielding support calls, managing servers or doing what I do (systems integration, i.e. make everything work with everything else RIGHT NOW) the abiltiy to troubleshoot will save you every time. I have a science background, so I take that approach to just about any IT problem as well. "Regular" engineers are trained like this, and I believe that IT will eventually morph into an engineering discipline once the wild west era dies down.
Second, although what you learn in school won't matter, what you learn as you go matters a lot. I'm not just talking about the latest programming language...you pick up the ability to do big-picture thinking while working on day-to-day tasks as well. Especially in production environments, thinking about something you do in terms of "What far-flung system will break when I do this?" is a very useful skill.
Finally, I know you're in CS, however you must find time to develop your writing and communications skills. There are at least 10^6 replaceable coders in India and other countries who will be more than happy to take the nose-to-the-grindstone development and support jobs. In this part of the world, the IT people that keep their jobs will have at least something of a business focus, be able to write and speak very well, and be able to deal with customers.
These tips have served me very well...I've managed to stay employed since graduating nearly 10 yrs ago, and they were taught to me by various mentors on various jobs along the way. Good luck!!
It's nice to see good engineering work finally get the recognition it deserves. I seriously think that one of the main reasons people are turned off from engineering/science is that they see it as non-rewarding. Most business professionals get a lot more recognition for their work, even though it's less challenging. Everyone is aspiring to be that "celebrity CEO" type rathen than focusing on doing their best in a job that's less visible.
That said, I wonder if it would even be possible to pull off something like this in the US anymore. With such low interest in math and science, and a low level of education, how would we find people qualified enough to think through things like this?
Selecting the sex of your child may wind up being a problem because of the uneven split you might get. However, being able to breed out genetic abnormalities is a great thing. Imagine what will happen when we're able to manipulate the chromosomes deterministically. We could get rid of a lot of the neurological diseases, genetic mutations, etc. Society will be better off not having to waste resources on inferior people.
One thing that a lot of open-source developers don't seem to realize is that the "corporate" world of IT is very different from the "tinkering in your garage" world. Companies expect reliable products with good support and documentation. Silly comments in the source code aren't a big deal (lots of commercial software has this) but comapnies want the security of knowing that when something breaks, they don't have to rely on what they perceive to be a bunch of 14-year-olds.
I work in big, bureaucratic environments where everything has to have full support, documentation, etc. to be released into production. We're just starting to look into the open-source world. There are some great projects as well as some really lousy ones. The last thing the CIO wants to hear is that the people who write a core piece of software decided to stop maintaining it and left you hanging. THe way to avoid this, of course, is to go with professional outfits that will be around for a while.
I think Firefox is great, but now we have to make sure the team sticks around to support it in a professional manner.
Wish I had mod points, because your post was very good.
The bottom line is this: the only IT jobs that are going to be left in this country in a few years are going to be the ones where you deal directly with people. Most of the "geek locked behind the server room door" jobs are going overseas (programming) or are being relegated to lower-paid maintenance jobs (local sysadmin for an outsourcer.)
Unless you're the _one guy_ who keeps your entire company's core business up and running, no one is exempt from the people skills requirement in IT anymore. That used to be the case, but no longer. The insurance company I used to work for had some pretty anti-social mainframe programmer types...I don't think they'll survive the next wave of outsourcing.
Looks like Apple is trying to capitalize on IT departments' relative unhappiness with Windows. I actually have a Mac at home, and I think it's a great desktop machine. From an admin point of view, you can lock down anything you want, and it's stable. Of course, any advantage regarding spyware and viruses will go away once enough people start using MacOS...right now most hackers can't be bothered. One of the biggest problems we deal with is Windows patch management and virus/spyware control.
Plus, the good thing about MacOS is that the desktop/window manager is fully mature. Recent advances in the Linux kernel really help the whole plug-and-play thing, but it seems like a unified set of desktop apps or an accepted One True Window Manager is a ways off. It's going to take a Red Hat or an IBM clamping down on feature creep and version control to make that happen.
I wouldn't be surprised if Apple managed to sneak a few XServes in as departmental file/print servers or other low-end tasks. MacOS is very cool under the hood as well as on the surface.
Well, IBM did this with Lexmark ages ago, and it seemed to turn out OK. However, selling off a core business to a commodity box-builder may be a little different. Everyone has mentioned the ThinkPad...it would totally suck if this new company WalMart-ized the design to save a few bucks. ThinkPads are legend for their reliability. I still have an old Pentium 60 somewhere in the lab at work (running OS/2, believe it or not.)
:)
Lots of companies are selling off xore pieces of their business to "focus on services." It's a fad, just like the whole dotcom thing, and (hopefully) the outsourcing wave. True, manufacturing in the US is completely impossible with foriegn competition. Also, PCs are definitely a commodity now. IBM's desktop machines haven't been anything special lately, but some of them have neat case designs. However, I think some companies will look back in a few years and wish they hadn't cashed out of the "acutally producing physical things" market.
There's no doubt that IBM has tons of other stuff it's producing...software, servers, mainframes, POS systems, etc. But I'd hate to see them become another one of the buzzword-compliant consulting firms. There are only so many clients left to employ fresh college graduates as "expert" SAP and PeopleSoft deployment project managers.
Yup...that's what still has a lot of IT people turned off of a Linux desktop. Luckily, in a corporate environment you can force your users to do things one way. However, who's to say that the "one way" will be available to you 4 years down the road? A commercial software company (like Sun) can provide direction, and a sane migration path from the old way to the new way. The old argument against Linux was that you couldn't get support from a bunch of hackers. Now the argument is that there are thousands of ways to do things. How many Linux programs are named "Yet Another..."?
Red Hat and SuSE have gotten better at this lately, but they still include way too many things out of the box. If I were building a desktop distribution, I would pick ONE window manager, bundle in enough hardware support to make things as plug-and-play as possible, put in ONE office suite, and a few other useful apps. Then I'd make the system easy enough to tweak later on, so anyone who wants to can grab components and install them as needed.
Linux would really benefit by having a few vendors back one set of standards. It would be easier to train sysadmins as well as end-users.
VOIP will obviously take over standard PBXs, but the equipment manufacturers are going to slow it down as long as they can. All that proprietary hardware is extremely expensive/proftitable. Just like residential customers will continue to have traditional landlines for quite some time, businesses will take a while to convert.
One of the things that VOIP requires is a good knowledge of business phone service. You almost have to have a PBX guy on staff in addition to the IT department just to design/manage the dial plans, voice mail, etc. As much as the vendors insist, it's _not_ a simple drop-in-a-server-and-some-phones proposition.
One of the major problems is that we don't have enough people who are willing to pursue basic research, or who are intellectually up to the task. Someone has to step up and explain to students that science and engineering aren't dead end career paths! Not everyone can be a lawyer or investment banker, and almost no one can be a rock star or sports hero. Unfortunately for us, China still has central planning, and can dump everything into a project that it can (see the Great Leap Forward for an example.) Communist countries are well-known for forced industrialization efforts. The government could let the peasants starve for a few years and become the number one science power on the planet if they wanted to.
I think that one of the reasons customer service has dropped is because of a fundamental change in who does tech support.
Way back in the Dark Ages of the early 90s, my first job during school was helpdesk work. (Picture starting during the first year your university offered dial-up Internet access. Evil stuff...) It was sometimes very frustrating, but it sure beat all the other student jobs like working in the cafeteria or driving the espresso machine at Starbucks. It was also how I found out that an IT job was right for me, so it served as a training ground.
The landscape has changed somewhat now...back then, everyone in support was at least somewhat tech-savvy. Now with fewer domestic entry-level support jobs, and fewer people willing to go into IT, the call centers have to settle for lower-level workers. It's also a vicious cycle...the low skill frustrates the customers, the workers' bad attitudes frustrate the company, who moves the jobs offshore, only to get the customers angrier.
My solution to this problem would be to have US companies (a) raise support salaries by enough to keep the workers happy and their bills paid, and (b) to locate call centers in cheap areas of the country so they could still make the same profit margin. My Rust Belt city really got a boost in the 80s/90s when companies started locating their support functions there...it practcically rebuilt the middle class after the factories died!
That's a good point. I'm a sysadmin, so my work programming is limited to scripts and stuff. However, I took a look at the current state of SW development lately, and there is no clear entry point like their was with simple languages and systems.
It's not impossible to write a simple VB program, but anything beyond a single dialog box with a few controls takes huge amounts of effort. More importantly, it takes even more effort to do it well.
The sad truth is that all science and engineering jobs that can be will be sent overseas. It's a major strategic problem for our country as a whole, and IMHO it could lead to us losing our world status. However, if anyone's complaining, they're not doing so loudly enough. It's very hard for CEOs to resist the temptation of 90% labor cost savings.
One thing I remember hearing a year or so ago is that "Americans will have two jobs in the future, CEO or janitor." Otherwise smart people are being forced into management as the only choice to move up in an organization. I'd much rather use my brain all day long instead of writing e-mails and having endless conference calls.
If I were president, I'd do something similar to what Kennedy did in the 60s. He set a deadline for a mission to the moon, and backed it up with federal resources. Imagine what would happen if whoever ends up running things in November mandates that we end our dependence on foriegn oil in 10 to 15 years. Instant end to the middle east problem, and a great boom for science!
The problem I found is that a lot of web apps are coded for IE's "extensions" that don't translate over to Firefox. We have a few internal apps at work like that, but there are public examples too. E.g, my power company paid some contractor to put together an online bill pay system for them, and obviously they're not interested in fixing it. Open the page in IE, and it works fine. Open it in Firefox, and you get a blank screen.
A lot of people dismiss companies when they say the research pool is better overseas, but I think they're right. I'm sure anyone who's been through school recently remembers that (a) studying and getting good grades is hazardous to your social standing, and (b) there are very few American faces in advanced science programs.
If we ever want to regain our foothold in the research world, we have to import some of China/India/Japan's culture. Most kids in these cultures are pushed hard to study, and it's considered shameful to fail at something. I went through a bachelors program in science, and saw people who did nothing but study from the time they started school.
I propose the following: Split the school system into two tiers. One can be the elite educational track, where students are challenged. The other can babysit the "oxygen thieves" until they're 18. This way, both camps are happy.
Wild guess...a disaster-recovery hot site/hot system for a bank/stock exchange?
The author describes a lot of what's wrong with software development right now. Being on the admin side of things, I've often had to deal with very buggy stuff custom-written by an internal IT department. Lots of key systems at large companies are still running on either the original hardware or upgraded versions of the platform. (There was an article a while back about VAX finally being killed by HP...that should tell you something.) Any improvements are hindered by the original framework (think screen-scraping apps, multiple file format translations, etc.)
Civil engineers also run into this problem. For instance, take any large city whose highway system was built more than 50 years ago (NYC and Boston come to mind immediately.) No one ever dreamed that everyone would have their own car and stop using the trains/buses/ferries to commute to work. Therefore, overcapacity was never seen as a problem, and the rush hours just get longer every year as everyone tries to stagger their commutes. And since the roads are right next to buildings, in-place upgrades are very rare.
I think that once the whole IT labor market shakes itself out, software engineering will become another branch of traditional engineering. Just like power plants, dams, airports, etc., we're now dependent on computers, and it's time to put some standards into place. Software needs to be built such that it's portable, easily understood by a similarly-trained engineer, and conducive to improvements. In other words, it needs to be able to outlive the coder.
Microsoft now releases their security patches on Tuesdays, so that might have something to do with it...
The other thing that I noticed from VMS in Windows (but not well-implemented at all) was file-versioning. I remember that VMS would save n versions of any file you edit, with n being a settable number. Microsoft has metadata streams in "newer" NTFS filesystems that amount to a versioning trail, but it looks like it's mainly for "undo" purposes.
I do miss "real" computing environments...unix is about as close as we get these days, but adminning or even doing tech support for VMS was a challenge.
I remember working on OpenVMS on VAX and (later) Alpha systems. The OS was pretty cool for its time...it looks like Microsoft lifted a lot of its security features for NTFS in Windows NT.
HP is really keen on getting rid of their older inherited platforms...DEC systems are known for their reliability, and I know a lot of hospitals, etc. that use them for daily production work. It's definitely a minority now, but they were huge back in the day. Qualified VMS people will be very well-paid as migration consultants in the next few years as HP slowly pulls the plug on the Alpha line...they've already got OpenVMS running on Itaniums. (Side note: I SERIOUSLY hope that HP is planning on restoring their Intel server quality to what Compaq was before they were bought out...otherwise the VMS, Tru64 and HP-UX customers are not going to be happy. All the new ProLiant stuff we're getting from them seems to be cursed.)
The one thing I remember most about VMS was the _extremely_ long command lines with DOS-style switches. You could shorten them, of course, but the DEC manuals had the full text of the line written out.
I've been looking at XP SP2's release canadidate for a couple days now, and it's pretty obvious that it will cause nightmares for Windows admins for quite a while. However, it looks like they're making steps towards better security, which will be better in the long run.
Anyone who works in Windows shops knows the proliferation of COM-based software that was thrown together in Visual Basic, and this software often performs critical functions. It will take lots of testing/planning to make sure SP2 doesn't break these extremely fragile apps. There are many, many in-house applications that are still chugging along, even in compatibility mode, because they simply can't be replaced easily. Unfortunately, Microsoft can't test these in-house apps.
We'll see what happens...
Sysadmin jobs for smart people who know a wide range of systems will still be around. However, expect some changes, including the following:
Back in the day, systems were extremely complex and needed an army of people to look after the basic functionality. Now that's changing...sysadmins will be around, but adaptation is required.
The other thing that I see happening is formation of a common set of procedures. Civil engineers rarely design faulty bridges, airports, train stations, etc. The reason is that they use tested methods, and "new cool stuff" goes through complete peer review before becoming generally accepted. Systems people, OTOH, build stuff that routinely crashes and fails to work as advertised. Once companies get out of the "outsource everything and pay the absolute minimum for the work" phase, I think it will be time to form a real governing body similar to the professional engineering organizations.
Thinking like this stagnates the industry. Copying existing technology is easy money, but don't forget that some aspects of PC design are nearly 25 years old. The market is ripe for something new...and the company that comes up with something other than a variation on a theme will make lots of money in the long run.
This is the same kind of thinking that has CIOs everywhere shipping jobs off to outsourcers; they figure one sysadmin is much like the other. Technically they are, but if you train your staff well, they learn much more about your core business than any outsourcer would.
Especially in tough times, it's tempting to cut R&D budgets. However, comapnies that abandon basic research do so at their own peril!
If these are end-of-high school exams, no wonder the Indians are taking all of the technical jobs! The amount of math and science knowledge they're expected to have is amazing compared to what it is here. Take a look at the New York regents exam content and compare it to the samples on the Indian website:
http://www.nysedregents.org/testing/hsregents.ht ml
When I have a kid, I'm turning it into an education robot...it will do nothing but study from pre-school onward. It's the only way for us to stay competitive.