Based on the “What Tech Skills Are Hot For 2006?” article by ComputerWorld, it says Developers, Security Experts and Project Managers will be in demand. I always believed Developers are the most agile and valuable job one could take up in the Tech Field. Why? Because you have a broad variety of industries to choose from (almost every industry require Software), and many IT suckers out there either can’t program well or have programming phobia (less competition means more value).
As a developer, you could start your own software company with very little money just in case you run out of job or you decide to be adventurous. It just require some simple business idea, good execution and hopefully not to sucky on product and marketing strategy.
What skilled should a Developer be equipped with nowadays? The Tech Hype seems to favour new generation language such as Java and .NET. With these, you shall never die of hunger. It would be nice to have some knowledge of VB as well, since there are tons of software out there which might require some tweaking or maintenance. C/C++ is gold, as the skill is rare and valuable (and still very much useful and in demand in nitch market); this skill probably separates you from the rest of the novice programmer by far. PHP would be nice to have, and knowledge of Socket and Multi-threading programming is like diamond; Design Pattern is extremely useful as well. Knowledge and experience of at least 2 type databases could be a value adds (perhaps MS SQL and MySQL? Maybe Oracle if you are lucky) You need to become a developer, not a programmer. A developer should be multi-skilled and versatile, capable of taking up multiple roles and varieties of task without much problem. Equipped yourself with experience and knowledge of Software Design and Architecture as well, which would turn you into a Software Architect. Some experience in Team Management (and proper Software Development Practices) and knowledge of Product Strategy would move you one step above Developer.
Besides Technical Skill, sometimes employers require you to have the industrial knowledge of the relevant sectors. Experience in a certain field is a double-sided sword; it could either lock you in, or help you climb higher. Anyway, some exposure in different industries is beneficial.
All the buzz about Malaysia IT Graduates couldn’t find a job is bullshit (at least half of it anyway). Probably most of these IT graduates are not developer, trying to look for some high paying no hard work kind of job. Mun Wai told me he know of many vacancies for high paying developers, but you would need to be versatile and skilful (quite rare nowadays) to fill the post. How about fresh graduate? Just show the employer you have the skill and have no problem completing all college programming assignments at a blink of the eye. Besides, a simple programming test would reveal your true capabilities easily (if you are a good developer, don’t accept a job offer in a company where they don’t offer you a programming test or your interviewer is non-technical; unless the company had a position of CTO or Technical Director). For you to grow in the company, the company need to have good Software Development Culture.
PS: This is a good read about programming skill, The Perils of JavaSchools by Joel.
PS: Another good read on programming language, Beating the Averages by Paul Graham.