I understand that (1) XML/XSLT/XPath and (2) asynchronous programming may not be related to one another. My questions are:

  1. When a C# developer job is advertised saying: "the following skill is required as mentioned in 1 and 2", what does it actually mean?

  2. Lets say I need to master these two topics (1 and 2). What do I need to do to accomplish that skill? Are there books for intermediates that actually teach that info with practical scenarios and case studies?

Answers are much appreciated.

I have worked XML packet crafting for message exchange over the network, developed some amateur XML parsers for some projects and done message exchange for a client/server-based messaging system using asynchronous calls. But I really need to know and learn what the companies are looking for when they write these things (1 and 2) as requirements in their job advertisment.

Aggregate skills required for the specific job were:

  • ASP.NET 2.0 (OK)
  • Web Services and .Net Remoting (OK)
  • XML/XSLT/XPath (?)
  • Asynchoronous Programming (?)
  • Windows Services (OK)
  • Javascript/XML/AJAX (OK)
  • Microsoft Silverlight/WPF (OK)

So firstly, it's clear that AJAX is not related to Asynchronous programming (in this very specific context) as it is written as a separate required skill (and I hope that it's not a mere redundancy). In normal cases, my deductions would have been the same like asynchronous programming means working with AJAX (asynchronous JavaScript with XML).

Secondly, making a web service in C# does not require any extensive experience with XSLT. In fact, exposing functions from a DLL (encapsulating business logic) is the simplest of any task with web services in C#. I wonder if there is some extra skill or experience that is needed?

3 Answers 3


Well, I can't speak to the job requirement that you're staring at, but we have a similar situation (at the job I'm leaving at the end of this month) that could probably be described much like your advert (although we use .NET 3.5, and use flash instead of silverlight). Without getting into too much details, many government forms are now electronically filed via XML. The validation rules are generally XPATH expressions, and in some cases we use XSLT to transform our internal schema to the government's schema. The government's schema usually changes annually due to changes in regulations and statutes.

Since one of our products is a collaborative workflow website, when the filings are completed, they get queued up to be filed electronically. Since the government's website is frequently down (they outsourced it to a 3rd party), we have to set up an asynchronous service (running as a windows service) that polls their site and submits the filing when it can. Also, since it can take up to 24 hours to get a response as to whether the filing was good or not, we have to poll their service from time to time. So there could be an asynchronous requirement like this in your job posting.

Lets say i need to master these two topics (1 and 2). What do i need to do to accomplish that skill? if there are some books for intermediates that actually teach that stuff with practical scenarios and case studies then please suggest some.

I don't think there are any single books that combine both topics at the same time.

I'm not fond of our home-grown asynch system as I think it should have been replaced with a much more sturdy framework such as BizTalk. If you need your messages to get there, and guarantee that they get there once and only once, you ought to look into message queuing (MSMQ, MQ or BizTalk). BizTalk excels at converting one XML schema to another (as one common usage is transforming one set of XML to others - including EDI).

  • Thanks a lot for this detailed info. Probably that is what i picture in my mind. Much appreciated. Dec 23, 2010 at 16:08

AJAX (Asynchronous JavaScript and XML) describes both of your bullet points. So it might have been better for the job description to say that outright. XSLT and XPath are just ways to use/structure/interact with the XML DOM.

When a C#.Net Developer-job is advertised saying, "the following skill is required as mentioned in 1 and 2", then what does it actually mean?

Sounds like they're gearing towards someone to write a web application, namely a C# web service. Given the 2 strong implications, this position looks like it'll have a lot of responsibility.

Lets say i need to master these two topics (1 and 2). What do i need to do to accomplish that skill?

I'm not a .NET developer, but here is a source I would go to if I were switching languages:

Short answer: Web services are an advanced topic since essentially it's an API (Application Programming Interface) -- so it's crucial the person who writes the API has ample development experience since it will be used by other developers (which we'll use to interact ).

  • I especially like the "Short answer" !
    – Guillaume
    Dec 23, 2010 at 12:03

I'd take anything in a computer job description written by an non-technical HR person with a grain of salt (if not an entire shaker of the stuff).

"Asynchronous" in this context is nebulous. It could mean "non-blocking I/O" or "multithreaded". For all you know, they might be putting Ajax on there for buzzword value and then putting asynchronous also on there when they're meaning the exact same thing.

Perhaps the XSLT part is for view-layer transformations. Or perhaps they're taking raw SOAP calls and transforming them into JSON on the fly using XSLT. Or maybe it's just another buzzword they thought to put on the requirement list.

  • I agree with you 100%. If there were a way of marking two answers as Answer then I would have marked your answer as Answer as well. Thanks a lot for clearing the doubt in my mind. Very sound answer. Very Much appreciated. Dec 23, 2010 at 16:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.