« Python and Ruby : On getting things done and geek marketing | Main | OSGi takes on Server Side Java and SOA. »
July 10, 2007
Computer programming careers II...survive and thrive.
On a previous post, I linked to another blogger's rather dire outlook on programming careers, while I still tend to agree on pretty much everything he states on programming careers, here is a more positive outlook on how you can survive and thrive in a computer programming career, or at least within an IT profession.
| [Entry continues to the left and below ad ] |
The primary intention of this entry is to clear a certain stigma I've seen surrounding programming professions, which like many other careers, seem to come in and out of fashion depending on market conditions.
Every career eventually sucks, at one point in time.Whether its the proverbial nonconformist that eventually burns-out or the person who doesn't get payed 'enough' for his or her work. I'll admit, computer programming has been a rough profession for the last few years everywhere -- not just in the U.S where the H1 immigration backslash seems to be the escape goat.
History is littered with 'careers that suck' moment's, being a tulip vendor in the Netherlands post tulip mania was probably not very fun, as was being a stock broker in many stock market bubble bursts , and if you want a more contemporary example try being a real estate broker in the current U.S housing market .
Point is, being disgruntled about a job is probably human nature, but it can get especially bad when a person's bottom-line suffers. Cold comfort comparing other professions in a historical context ? Probably, after all, what are you supposed to do when companies are only willing to pay rates in-line with jobs that require minimal or no training ? Stock brokers, tulip vendors and real estate brokers couldn't have taken such a beating, right ? (Not kidding on this tech employment fact, more on this later).
Pick an industry to move up-stream.Technology and with it programming careers, are operational 'niceties' for practically every business. Much to my dismay, a client told me a few years back: "software is just a tool, we can't invest that kind of money on it", I replied in awe: "just a tool!?!?...But it will offer you(+add sales spin here)". If you really think about this 'just a tool' statement -- as backward thinking and shocking as it may sound to us techies -- most businesses can to a lesser or greater degree survive without much of the technology bells and whistles they have in place.....that is.....if it were not for competitor's breathing down each other's necks.
As it turns out -- operational efficiency being the huge competing differentiators it is -- these IT or programming 'niceties' eventually become 'must haves' depending on the nature of the business your dealing with. However, don't loose sight that these must haves only become must haves when applied to certain times or circumstances, let me elaborate.
During the height of the dot-com mania, pretty much every industry leader felt its operational efficiency was being threatened by the mere presence of the web, which is a big reason why everything from established companies to unknowns rushed to build e-commerce sites, b2b exchanges or b2c portals. At the time, being web enabled was not a 'nicety' but a 'must' with the fierce competition that would ensue on account of the web, and a big reason why HTML developers commanded hourly rates similar to those of high-priced lawyers.
Eventually -- as with every other mania -- rationality ensued, and though some industries were changed forever with web technology, others simply switched gears from the 'must' back to the 'nicety' mantra. But an important characteristic of this shift change from 'nicety' to 'must' is that it still remains a very detectable pattern within specific industries, so with that said, lets switch over to programming.
A perfectly structured, thread-safe, bug free Java package, .NET component or Ruby gem, is well...just that, but add a little context to its usage: "deployed for peak loads typical to telco operators", "designed for the security attacks typical to banking sites" or "for the heavy usage endured at search engines", the code might be identical in all three cases, but its the context under which it was designed that gives you added value as a programmer, and eventually as an industry specific tech expert.
Once you start moving along the IT ranks of the industry which is to your liking, you will of course do less programming tasks, but its at this same point in time that you will become a greater asset to the company and industry your are working for, being you have been exposed to all the little subtleties that come with making technology work for a certain industry.
So when you see something like Silverlight - XAML or Python / Ruby , its the industry specific criteria combined with your technical abilities that will point you toward a certain technology being a 'nicety' or a 'must have'.
Now suppose you're thinking, "I don't care for any specific industry", I want to do 100% programming....well
Get ready to spin your wheels...Moving along from programming stint to programming stint without any industry specific direction is probably the worst position to be in the IT sector. These type of jobs while relatively easier to get, are precisely the one's you find posted on many job boards or promoted by recruiters with rates equivalent to those of fast-food clerks that require little or no training, especially compared to what one assumes is a certain level of dexterity required to perform 'x' software/technical task.
Behind many of these dire employment prospects, is of course one determining factor that really moves the purse strings: many are low priority initiatives -- read 'niceties' -- that contribute in part to the operational efficiency of a company, and since the prospects of being blind-sided by technology alone are long gone, tech has had to get back in-line -- on occasion way back -- just like every other aspect of running a business.
So what is one to do in these circumstance ? Well, let me beat the first point to death: Join a specific industry!. The closer you look at any industry, the sooner you will realize that companies tend to imitate or eventually adopt anything that works, and once any technology works for a competitor in enhancing operational efficiency, it tends to fall into 'must haves' for the rest of the field, and hence become a more lucrative career for those involved in it.
Think of blogging software written mostly in PHP and Perl for media companies, how many media sites have you visited without a blog section ? Or the swipe card technology used in most hotel chains, how many rooms have you visited without it ? . Each example involves programming as a whole, but its implementing or programming to a particular target in a specific industry segment that allows for greater growth as well as higher income possibilities.
The point here is that the lesser a programming job is tied to a particular industry, the more expendable you become, after all, if its just a question of punching in the correct order of bytes irrespective of industry experience, what's the difference in sending the work half way around the world ( Though I have my doubts on the whole off-shoring phenomenon - Big Mac Index for IT Outsourcing : You get what you pay for. ).
Bottom line: Carving out a career for yourself is a lot of hard work, programming careers are no different. If its programming and IT you like, don't let any market conditions put you down, stick to your guns on a specific industry that appeals to you, whether its real-estate, banking, manufacturing or more technical orientated stuff like software development tools, search engines or social networking (These last three options though apparently 100% tech, are industry segments in their own right, each having business subtleties beyond programming).
Each industry will value the accumulated knowledge of you 'getting IT' and programming in a particular business context. I can't say you'll be writing anonymous classes or compilers at lawyer type rates when your 50, but if you stick to one particular industry segment you will in all likelihood survive and thrive as an IT professional.
Update : Found another interesting point of view(article) on the subject : Is Computer Science Dying?
Update 2: More food for thought on the subject, with Two Types of Programmers
| [Comments below ad ] |
Posted by Daniel at July 10, 2007 1:48 PM
Comments
Every career eventually sucks, at one point in time.
If you loose passion from programming in context to the computer programmer career then YES else NO.
But there are other issues in this carrer, which will make you feel that. I have been programming for the last 18 years and the passion for this job drives me to work everyday. I work as a independent consutant and have done consulting for large Finanial,Pharma clients. Getting a contract had never been difficult for me in the tristate area as I kept in touch with cutting edge which also a sort of motivation for me. Off late I do not look like a kid out of the colleage so based on the looks it is getting hard to get into clinch some of the contract. Main reason, the "kids" at these organization feel that if the person at the middle age should ne a project manager. Especially you would see this kind of notions among indians. I am not profiling here. I also came from India a decade ago on visa and started working in the US. Wheere I had hired the progarmers to work on the projects, I have looked into the knowledge what the person had than how he looked. Now a days, I normally do not want to get into the contract if I had to work under a Indian manager who has become a manager by chance as they work hard but not smart. So does the career suck for me? I have thought about it many times whenever, I had to come across these embarrasing session of interviews, where the interviewes are hell bent on pushing you down. If you do not know one API among millions of others then you are rejected. In a way it is profiling.
I had jumped into this profession since I had passion for this and that is what keeps me going. As far as me it is not sucking? stereotyped people out side suck.
Posted by: Naveen at July 27, 2007 12:56 PM
Your blog was endearing to read. I got under indian managers who pretty much profiled me and i lost interest in the field. When i faced Indian interviewers, they would get bogged down in minutiae and sometimes i got rejected. Anyway, I got so love crazy with Java, i thought i might save myself getting back to java programming and encountered a non technical american boss and a techie indian architect who was not all too helpful. Cutting to chase, I got fed up completely with the industry and quit in disgust (now that i have a green card etc) and just told myself i'll take my parents around the EU, come back and then see what i would want to do. Somewhere along the line I said to myself "Maybe i'll become a headhunter" and am currently defalted as the information available on being a headhunter is pretty demoralizing and i know pretty well that I have no talent for being a marketer. Now that it is time for me to come back to the US and look for a job to keep myself afloat, I am faced with the big challenge of my life. What do i do with my life? I don't know. Just thought I'd share my story just as you did yours.
Regards
Krishna
Posted by: KRISHNA at November 11, 2007 5:32 PM
Post a comment
Track back Pings
Track Back URL for this entry:
http://www.webforefront.com/mtblog/mt-tb.cgi/76.











