As in any business, with prosperity comes the need to bring in more people to handle the workload. Telerik is no stranger to that, but here in the US office this has previously been a process heavy with Excel files, carefully tagging emails in Outlook, and relying on the Outlook calendar to ensure that interviews and the like are all in synch. This worked when the US office was working out of someone's house a few years back, but with two offices, multiple brand new and open positions, and more on the way, we realized we'd need to figure out some formal way to handle all of this. So we took a step back from the idea of finding some service to handle this process and figured heck, we've got development tools and some pretty talented developers on hand, lets make a recruiting application!
Thus Telerik Recruiter was born, which is a new sample application that I have been working on for the past few weeks. This application has been built from requirements listed out by both the US and the home office HR departments as far as what the process is for hiring, from the initial posting of a job through everything it takes to qualify and interview a candidate as well as making the decision as to whether to hire or not. Taking in all these requirements, I determined that a few technologies would come in handy...
- First we've gotta consider the longer term here... Eventually I'm going to want to add tests, possibly shift views to our UX team to prettify, etc., so the MVVM pattern (Dan does a great job of covering it here) is a good place to start.
- Since different parts of the application would handle different aspects of the process, I could make it modular. What better for that than the Microsoft Composite Application Guidance, aka Prism? With MVVM + Prism, I can easily have the UX team working on a view in a module while I worry about keeping the backend viewmodel in synch.
- WCF RIA Services to handle my data layer- it handles the interaction we need with the database, validation, and beyond all that, makes it easy to handle things!
Over the next few weeks, we're going to see how these technologies come together to create an application that suits the needs of our HR department and provides a seamless experience for them (and eventually the potential candidates who are applying!). In our next installment, we're going to look into the choice to use Prism and how it solves the challenges that sticking to the MVVM pattern provides (and we'll get to my favorite part, some code!).
Also, since we love hearing back from the community, as each piece of this application comes together feel free to share your feedback on my approach, how I utilize different technologies, etc. I've got pretty strict requirements to stick to, but how I get from point A to point Z is totally up to me, and any input our community wants to share on making this application shine is more than welcome. And since, as we all know, there are 20 ways to tackle any task in .Net, I'm more than happy to incorporate ideas from our audience into the finished product.