So unless you don’t read any of the “big” .NET bloggers (like Scott
Hanselman’s Blog or Podcast, Phil
Haack, Jeff Attwood,
etc) then you’re likely familiar with the “FizzBuzz” problem described in those various
posts. In case you missed it, the idea of FizzBuzz is a super simple coding
exercise which can be completed during the course of an interview to prove that the
candidate can at least write a program. FizzBuzz in particular is an example
of that as follows:
Write a program that prints the numbers 1 to 100. But for multiples of three
print “Fizz” instead of the number and for multiples of five print “Buzz”. For
numbers which are multiples of both three and five print “FizzBuzz”.
It’s simple, elegant, and proves that the candidate can at least write simple code.
As many people have pointed out, it will not highlight great developers, but it will
knock out bad ones.
My question to the assembled audience here is, what is a good FizzBuzz problem for
BizTalk? Obviously asking you to write a custom Adapter or Pipeline component
is just right out. They are to complex to be accomplished during the time of
an interview. But what is a fair example of this type of problem for BizTalk?
How about sometime like this:
Write, deploy and start a BizTalk solution which will accept an XML file containing
a root node named “Root” and a potentially unlimited number of child nodes of the
root called “Data” from the path “C:\Test\In” and will output the same structure with
to “C:\Test\Out” with the value of every “Data” node multiplied times 100.
Sample Input:
<Root>
<Data>1</Data><Data>2</Data>
<Data>1</Data><Data>2</Data>
</Root>
Sample Output:
<Root>
<Data>100</Data><Data>200</Data>
<Data>100</Data><Data>200</Data>
</Root>
The problem here is there isn’t such a thing as the “5 minute” BizTalk Solution.
I think I could do this solution in 5 minutes, but I wrote the thing. What do
you think? Is this unreasonable to expect during an interview? Again, the point
is not to prove you know BizTalk Server inside out and backwards, it’s to prove that
you don’t know it at all through failure. Thoughts?