I was reading the September 18th issue of Infoworld Magazine which had a series of articles on the current employment market for high tech professionals, or semi-professional in my case. One thing that caught my eye was a list of the top 10 most wanted skills in this market according to Dice.com. I don’t know much about Dice.com but here is their list:
1. C++ Programmer
2. Oracle Database Administrator
3. Windows Administrator
4. Project Manager
5. Unix Administrator
6. SQL Database Administrator
7. .NET Programmer
8. J2EE/Java Programmer
9. ASP Programmer
10. XML Programmer
I found this list interesting on a couple of levels. First I am a bit confused by the skill set SQL Database Administrator. Does this mean SQL Server DBA or just DBA of a relational database? Would that also include Oracle DBA’s or is it all DBA’s of relational database except Oracle DBA’s which are, apparently, in much higher demand. Dice needs to be a little more explicit.
I admit that my DBA confusion is a bit nit-picky and I only mention it as a (poor) segue into my main point of this post – XML Programmer. Ok, this is not the only place I’ve seen or heard this term. I’ve had recruiters call me and ask how my XML programming skills were.
So, what exactly is an XML Programmer? I know that a C++ Programmer writes programs in the C++ language and that a Java Programmer writes programs in the Java language so it would make sense that an XML programmer writes programs in the XML language. But, what is the XML programming language/? Isn’t XML a format for representing hierarchal data?
I went to Dice.com and tried to find an XML programming position. My search returned a lot of hits but they were all for people developing in conventional languages that somehow used XML as a storage medium. I couldn’t find a position titled XML Programmer.
Let’s come at this another way. XML is a format for storing data. Another very popular format for storing data is CSV, or comma separated variables. So, are there CSV programmers out there? I mean, seriously, would it not be possible to develop a language that parsed and executed instructions stored in a CSV data file? I think so. Still, I haven’t heard of much demand for CSV programmers. None in fact.
I spend a good part of my workday and, unfortunately, my free time, developing JEE programs in Java. This entails a fair amount of work with XML. JEE uses XML for deployment descriptors. In addition, I often make use of the Spring Framework which supports XML as a configuration option. I frequently find myself using an XML parser and writing snippets in XPath and XQuery. Also, I often define messages using XML Schema. Does this make me an XML programmer? I’ve never though so. I don’t list that on my resume.
In general when a recruiter asks me how much XML programming I’ve done I immediately form the opinion that they don’t have a clue what they are talking about and terminate the call as quickly as possible. If you are a recruiter and have been having trouble finding highly qualified technical people you might want to stop asking about XML programming skills and be specific about what skills you seek.
Or maybe I should avail myself of one of the numerous books on XML programming and stop being such a curmudgeon.