In the age of information, programming finds itself at the forefront of it all. When you create a new system you have to have the software to drive it. Even if we were to go the way of iRobot you have to have software to give the robots their personality… and of course programmers develop that. If one day machines get their long awaited artificial intelligence, it will be at the hands of the programmer. But are newbies coming into the industry going to lock out the true programming stars with years of experience and the intelligence to boot? With a flood of newbies at all different levels, will they block out the bright lights of that rising star? We ponder some of this and more on this entry of the Programmer’s Underground!
I want to start off saying that this blog entry is not to put down those who are new to programming and want to learn. Even us professionals started out as newbies and through hard work we got to where we are now. This entry is more to ponder the growing effects of how so many new programmers are springing up, some without the adequate skills and some without the background knowledge. Then when it comes time to find jobs they are locking out those who have the skills in the industry. I shall explain.
As many of you may or may not know I am American, but I currently reside as a permanent resident of Canada.. specifically in Vancouver British Columbia. I came to this country for personal reasons and have enjoyed living and working here. When I came up, Canada was experiencing (and is still experiencing… but not so severely) what is known as the “Brain drain”. Hi-tech specialists get trained here and then go to the US to make more money, sucking out all the skilled workers from the Canadian economy. This was great for me since I am a specialist in hi-tech that wanted to come to Canada… I had no problem getting in.
I have been keeping an eye on the markets both in Canada and in the US and I see some disturbing trends when it comes to technology… specifically computer science. Through my work here on Dream In Code I have helped already hundreds of people, most of them new to the world of programming. My fellow colleagues have also done a huge job in teaching our craft to the newbies. Over time I came to realize that if every one of us true professionals taught 1000 newbies and even a fraction of those went on to become programmers, they would become our competition in the industry. Fine… competition is great for everyone right? Sure it is and I am not discouraging that part. What I am saying is that I feel the quality of some of the newbies may not be where it should be and even something on par with what I have skills wise. They then snatch up contract jobs, maybe stumble into a fortune 500 company, got a job through a friend to do some company’s website… perhaps making bad decisions all the way through, leaving a trail of destruction from inexperience.
But the skilled person, that programming superstar, will show in the competition won’t it? After all, if I am more skilled that someone else, I should be advancing further in career opportunities right? Well that is where the heart of my discussion lies. I feel it doesn’t. So far I have met with various employers here in the city and have been severely disappointed in the pickings. Sure they would like to hire me, but I sure wouldn’t want to work for them. Shady characters, below standard environments and of course the pay is not attracting any of those who left in the brain drain days. That part I don’t get, but anyways.
Surely they would want to pay more to attract the best right? No! Why? The newbies. Let me provide an example. Lets say there are 10 candidates for a job. 9 of them are technically newbies who have less than 2 years experience in programming. Here is me with over 10. When it comes to jobs (I can only speak primarily in Vancouver and seems to be Canada as a whole), employers are willing to take one of the 9 candidates and grow them rather than take a 10 year veteran. Ok, I am purely beaten by the numbers. The odds are against me because I have a 1 in 10 shot to start, but then it is more like a 1 in 20 because of the bottom line… newbies on average will cost less.
Fine… that is just the way of the market. But here is the part that really gets to me, these newbies who took a job away from the skilled then go on the Internet and start flooding it with questions to help them do their job. Who do you think answers? Those who are skilled. Now that is the good scenario. The other scenario is not so good… they don’t ask questions and instead make decisions that effect their companies without having all the facts. This has a severe side effect I will now explain.
Now later down the road one of us skilled people come in (perhaps when a newbie has moved on) and have to deal with the decisions they have made. Like a web site system that is not at all meeting the company’s needs and if you can believe it, not even programmed with a single function (this is my situation btw). Basically whimpering, the company is now in deep trouble because they chose to go the cheap route rather than picking the skilled programmer to start. So do you think they would pay through the nose for a new programmer? Not necessarily! Lets go back to those odds mentioned earlier. The position comes up again and this time they are desperate. Instead of picking the skilled programmer again, this time I have the straight 1 in 10 odds instead of my 1 in 20. But why in the hell would they even attempt to go with a newbie? Sometimes they don’t know, they just see the resumes and look at the price tag to get the person.
Some companies are in denial that they actually have a system that isn’t working for them. Some claim they just don’t have the budget to get the better person, no matter how much trouble they are in. Some insist that they are not going to pay for a bunch of skills that don’t apply (when later they realize they wish they did because now the skills do apply).
The whole situation throws some doubt into my mind as to what we are doing on the Internet through boards like this. To all the DIC staff, just think about it for a second. How many times have you helped someone pass a project only to know that they probably didn’t learn much from it but instead get credit? I can’t believe some of the computer science grads I see coming out of the universities who know the languages, but none of the problem solving. How many times have you solved the same math problem or help them with a business function over and over again?
Again I am not against the idea of newbies learning, I was a newbie once too. I worked hard to get where I am today. All I am asking for is a fair shake from the industry and pray all these newbies don’t decrease the chances of programming superstars getting the job opportunities they deserve!