This is my suggestion for a standard XML schema for the résumés (or curriculum vitae) of people who work in the IT Industry. The idea is for a minimalist schema that will contain the necessary and sufficient information for efficient candidate job matching in order to help alleviate the apparent ever-present skills shortage.
XML is heralded as the new universal format in which information of all kinds will be held and exchanged in the future. An XML data file can be read and processed efficiently by simple compact programs. Using a complementary XSL style sheet, it can be presented easily in XML browsing applications like the Microsoft Internet Explorer 5, which can also validate it against a defined 'public' standard using an XML schema.
An ideal and obvious application for XML is the holding, exchanging and presenting of CVs. Thus, having hopefully absorbed enough of the labyrinth of information on the XML forum web site, biztalk.org, I set about marking up my own CV in XML. This is the result. This XML source is embedded in an ordinary HTML file so you can see it as written.
Although this is immensely easy for a program such as an XML database application to parse and process, it is not very nice to look at. Not, that is, unless you are a geek like me. Actually, I think it looks quite beautiful. However, most people don't. I therefore wrote an XSL style sheet for it. This is the result. This XSL source is also embedded in an ordinary HTML file so you can see it as written. Purists may snarl, but in essence, I think of an XSL style sheet as essentially an HTML file which uses variables instead of literal text. The variables contain the literal text taken from the XML file. The XSL style sheet to be used is specified in the style sheet element (second line down) in the XML source file.
The style sheet tells Internet Explorer 5 how to present the raw XML data in the XML source file. This is the result assuming you are using Internet Explorer 5. I think it looks quite beautiful too. So perhaps I am not such a geek after all. Irritatingly, it does not seem to work with non-Microsoft browsers. This is because a lot of the coding involved is Microsoft-specific. If you are using a different browser, perhaps on a different operating system such as Unix or Linux, please note the following addendum.
Since I wrote this article in September 2000, XML has developed into a universal standard, which does not need any proprietary additions and extensions from any private commercial interests. Consequently, the way in which XML style sheets and schemas are written has changed. Hence, my XML CV, which originally displayed perfectly in the Microsoft Internet Explorer 5, does not follow the current universal standard syntax now used in XSL and XSD files. Perhaps, one day, I will update these files to conform to the new universal standard. However, since I am now long retired and therefore have no further need of a CV, this is unlikely.
Notwithstanding, this article about my XML CV still has value in that it illustrates - and thereby reinforces - what I consider to be a very important principle, which I have mentioned in other parts of this web site. It is that, whenever you are developing programs or content that depend on an underlying platform, always use only the minimum necessary and sufficient resources of that platform. And absolutely never use any proprietary extensions. In the 1980s and 90s, my colleagues and I used to refer to this principle as RISP [Reduced Instruction set Programming]. I think it applies equally to the production of content within environments that present XML-based information.
The validity of this principle has been evinced and vindicated by many of my observations of web sites (based mainly on Microsoft servers) for which, when using a non-Microsoft browser or operating system, I have been unable to enter passwords or form-based information due to the web designer's use of incompatible proprietary extensions in the web page coding. This includes the web site of one of the world's major banks.
But all so far is just my own personal concoction. How can an agency or a corporate CV database make any sense of the data as I have marked it up in my XML CV? That is why we need an XML schema. The schema in this example is the agreed standard defining the minimum necessary and sufficient fields of information which must be present in a valid XML CV file. It is a shared standard among all the people in the IT Industry who originate and use XML CVs. Perhaps I have not read as much as I should in the Industry press. However, I have not so far discovered an XML standard for CVs in the IT Industry. So I wrote my own. This is it.
I admit that it is simply abstracted from the information I happen to have in my own CV. It is probably too restrictive to qualify as the minimum necessary and sufficient content for a universal IT Industry CV. But it is a start. Constructive comments welcome via email.
An IT Industry standard XML schema for CVs would allow individuals to submit CVs directly to a central XML database. End-users of IT skills could then query the database directly. It would circumvent the impervious barriers of ignorance, prejudice and market manipulation introduced by agency and HR department intermediaries.
You will notice that my schema is very basic. For instance none of its tags have attributes such as would allow a candidate to select from a prescribed skills list. This is because I feel that it is specifically this kind of rigorous constraint which actually causes the apparent skills shortage.
For example, as a project manager looking for a good self-starting programmer to work on a system being written in Java, I would not restrict my search only to young recent graduates whose entire experience of the world of programming was founded upon, and restricted to, Java. Knowing that the Java syntax is built upon C, I would include people with experience in C. Furthermore, all a C++ programmer would have to do would be to brush up on the slightly different treatment of a few concepts like inheritance.
I would also consider very experienced older programmers with a background in any language. They would have all the principles of programming indelibly ingrained within their being. They would know exactly how to program my system. All they would need to do would be to spend a very short time finding out how Java did the old familiar things they had already done thousands of times in other languages.
I cite my own case. Having an extensive background in Basic, C and many other languages, I picked up Java very quickly. All I had to do was skim through a good reference book and refer to the on-line API documentation for the odd look-up. Unlike for a new graduate, Java did not have to serve as my vehicle for learning how to program. I already knew that.
But the average employment agency flibbertigibbet, who would not know a line of computer code from a bull's foot, would probably see no connection between the different programming languages and hence would reject everybody who did not have the word 'Java' on their CV. Hence the eternal skills 'shortage' which an IT Industry XML CV database would certainly help eradicate.
Of course the wise know that there is no skills shortage. There never has been. What we see is a callous and inexcusable skills wastage. It has been with the industry a long time. I wrote an article about it back in 1990. My own skills have been callously wasted for an entire decade. I worked well and hard for 25 years at something I really loved, and still do. I still write programs even though I gain no remuneration for so doing.
I gaze from the outside at an industry whose captains deny me access to my means of turning my work into wealth. They bar my way to what my skills equip me for turning my labour into my needs of life. They are thereby guilty a gross misdemeanour, which raises the issue of their liability to compensate me - and thousands of other older artisans of the IT Industry - for the damage their collective prejudice has inflicted upon us.
I look forward to an industry standard schema and a central XML database on which to place my XML CV. Who knows? It might even get me a job!