College Kids Don't Want to do Software
I've been reading a lot lately about college kids who don't want to work in the software industry. Their concerns range from the outsourcing of jobs to the salaries offered. While I can understand a measure of trepidation when it comes to choosing your future career path, it doesn't make sense to choose your path based on job security or the amount of money offered to you for your work.
What does make sense is to take a deep hard look at yourself, and ask the question, Would I be do this if I weren't getting paid?. If the answer to that question is yes, then you have probably found your career. If you are at the top of you game as far as software development is concerned, then the paycheck will come. Its the people who are doing it for the money that are having the problems. The reason isn't because they aren't good, or that they aren't smart, the problem is that they have no real incentive with the exception of the money. Being a developer takes a tremendous amount of homework. There will be long nights, this is after you have a job, where you feel like someone is pushing your brain through a strainer while you try to learn a new language, Objective-C is an example that comes immediately to mind. Unless you have the passion for it, this will seem like an unreasonable sacrifice, and it probably is. When accountants work until 12am during audits, the people who are not passionate about that kind of work will be sifted out quickly, so it is with developers. During the end of the boom, when I moved to the bay area, I knew of people through friends who were car salesman who learned enough HTML to be dangerous, and got jobs as webmasters. They didn't grow their skills while they had that job, not because they couldn't, but because they didn't care about computers, the web, or programming, they just wanted the paycheck. When layoffs started to come around, they'd just go right back to selling cars, and dreaming about old times. Had they worked to learn newer scripting languages, or kept up with web standards, they may have stayed in the market. If you are passionate about programming, computers, and technology, then there is no reason for you not to go into programming. In fact, those who don't feel that way about those things, probably shouldn't go into it, they won't want to make the sacrifice, they may be better off in business. The software industry shouldn't lament their loss, instead they should be happy that there is one less person for them to weed out after spending loads of money on training them.
One can make a very decent living writing software, whether it is for the web, or desktop. Still, and in the bay area. You might not get a Porsche as a signing bonus, or some other oddball perk, but you can get a solid job, or a number of them. The boom was an abberation, not the rule. Too many people are trying to compare the current tech situation with how it was in June 2000, and it just doesn't work. They are comparing apples to oranges. There is a lack of full-time work, but contract gigs are pretty cool, developers just have to know how to prevent people from taking them on a ride. If you know that a contract is only going to last 3 months, make sure to get enough money to last you for a while if there are no other contracts around at the end. That number varies for many people, and so that job might be right for one developer, but wrong for another.
With outsourcing, my position on that I talked about in an earlier blog, but I do understand after seeing that $15 asp job why people are so upset. I'd be willing to bet that Bank of America had to justify outsourcing that job, and as a result had to post it domestically so that they could say Yeah, we tried to hire a citizen, but we couldn't find anyone qualified. Well, of course you couldn't find any qualified developers for that price! I think that the government should look long and hard at companies' claims that there aren't enough tech workers in the U.S. it just doesn't ring true, although no one said that politics was about logic.