This wonderful post was stolen from http://firstname.lastname@example.orgYarEvhWh^10@.ee6b52c �I have just completed a gruelling two-and-a-half month cycle of job hunting. I am equally well versed in both Java and Microsoft (COM) technologies, so I had a chance to connect to the prospective employers from both sides of the fence. I'm talking heads down, nose to the grindstone, full time (including lots of overtime) job search activities. All along the way, I've been assisted by numerous friends in high places, as well as acquaintances and professional head hunters. Now that it's over, I can tell you that it was one of the hardest things I had to do in my life. Yes, the IT industry has fallen on hard times. Many businesses are looking for high quality (meaning highly educated, with lots of experience and a proven track record) experts, but are reluctant to hire anyone. Almost all businesses today are stuck in what people label as the 'holding pattern' (the sit-and-wait attitude). What are they waiting for? Seems to me that everyone is waiting to see if there will be any change in the overall direction, away from the web-based computing, or will this paradigm be reinforced. Regardless of what may be causing this 'staffing freeze', as one of the prospective employers succinctly put it, the situation reminds us of the days when everyone was putting all the IT projects on hold, while frantically working on the Y2K bug. So, what do I have to report with respect to the most/least popular technologies out there? In a nutshell, I was able to generate most leads and to provoke most in-depth interviews with my Java skills. Keep in mind that I wasn't limiting myself only to my local area, not even to the North American market. I had a number of tele-interviews with European companies, and I was also looking into the Indian/Asian markets. I was ready for a change, and would consider a high quality job anywhere in the world. Surprisingly little opportunities came from the Microsoft camp (despite the fact that I was advertising my COM/ASP skills aggressively). My impression is that most businesses that focus on Microsoft technology are coming from the startup arena (and we all know how viable the startup sector is nowadays). This actually makes sense, when you think about it -- only fresh startups can afford to standardize on one platform, and Microsoft may make a lot of sense to many of those companies who are looking for inexpensive, inexperienced labor. Large, well established businesses are typically marred by the hodge-podge of many incompatible technologies, and Microsoft can do absolutely nothing to help them out in that respect. Java, on the other hand, is an ideal middleware technology that sits in the middle kingdom and can coordinate all those disparate technologies. Where I did have some interviews with the prospect of working with Microsoft based technologies, these interviews were typically of the lower caliber than the Java/Unix ones. While most Java interviews were focusing on design patterns, UML, OO design and development methodologies, and business frameworks, Microsoft based interviews were unmistakeably focused on some trivial, low level coding issues (like, how would you sort this sequence, or how would you compare these two sequences?) This also makes sense, because it would be extremely rare to meet any Microsoft head who has even heard of design patterns, or who has ever used UML for doing the application design. To put things more bluntly, Microsoft technologies are geared towards non-professional developers wannabes (typically, these would be the accountants and sales representatives who would like to change their careers and go into the IT kind of work). But please, don't get me wrong -- I'm not against Microsoft technologies. I admire their adherence to the interfaces in COM architecture, as I believe that to be one of the most important issues. There is not much wrong with their technology, it's just that they are catering to the non-professional developers (read: cheap workforce, low barier of entry), and that's what's putting me off. I'm not trying to sound elitist, but this cheapening of our profession is a blasphemy, like lowering the bar for the requirements for someone to become a doctor. Finally, I don't understand people's concern on whether to shy away from Java in the lieu of the impeding C# threat. Your Java skills are perfectly transferable to C#, as C# is a blatant ripoff of Java in the first place. You can make the transition in a matter of hours, without missing a beat. So, even if C# manages to one day kill Java (I know, I know, an impossible event, but let's be galant and give it the benefit of a doubt...), you would barely notice any difference."