I was wondering what you all think of these two days' Coding exercises organizations send us after a few technical rounds of evaluation? By exercise I mean a miniature model of say an Airlines' Reservation System, or say a Multiplex Ticketing System, Or a Parking Lot, Or a Library- they'd say use GoF patterns so the code is extensible, scalable, and of production quality. So, they ask for a full fledged production level quality of working software with jUnits and documentation. Come on, isn't that too much to do in too little time?
I feel these 2 days' timelines are quite unreasonable. I have never worked on a requirement where I have had to write production level code, with documentation, and with jUnit tests within two days ( make that 3, cause I asked for one more day). Let us assume you have created 10-12 classes/interfaces. So doesn't writing and executing jUnit tests itself take at least about say 8-10 hours. Writing good documentation is crucial too. We need to provide documentation for each and every method that is overridable. Ok we have few public and protected methods. But still documentation takes time. Cause the javadoc does have a format. Often during documentation or working with jUnit tests you come across unhandled cases and you also need to make code changes and update the documentation. This is a time consuming process and I feel 2 days or even 3 days is too little time for these coding exercises organizations send us. And when you have Scanner input, imagine the number of inputs you need to test for to test just one validateInput method. And at work, we provide documentation for jUnit test methods too.
What do you feel of these 2 days' and 3 days' timelines for such exercises? And just how much time do you give to an organization and their evaluation process? Isn't it asking for too much when you're not even working for them? Don't they possess the wisdom to evaluate a candidate from a subset documentation or from a subset of jUnit tests submitted?
Ask people how they would implement an X or a Y. Ask them to implement a small little functionality with little documentation and one or two jUnits. But asking them to write a full fledged software- I don't get it.
I mean just because we are currently not working for them does not mean we are working for more than 7-8 hours a day. What do you think?
I agree that asking for 20 hours of work in 2-3 days is excessive. In fact, I think asking for 20 hours of work is excessive in general.
I wonder if you can do a smaller scale version of what they want? With respect to JUnit, I find that if you are writing code from scratch and fluent in JUnit, the tests don't take long to write because you'd have to test your code anyway in some way.
I wonder if you can do a smaller scale version of what they want?
I actually completed the coding part. Spent close to 16-18 hours on the thinking, coding, and testing in the debug mode. I tested my modules as and when I wrote a method, but I should have written jUnits - but jUnits tend to shift my focus always. So I write them with a different mindset, often immediately after interfaces are designed and coded, but implementation is pending ( and at my workplace we get a good amount of time for writing jUnit tests). And after coding is complete, we add additional jUnits. But here I think they gave too little time.
Joined: Sep 06, 2012
Received another coding assignment today and working on it means working for for at least 15-18 hours in 2 days time. I'm developing an aversion for these companies that ask for these full fledged applications. Not sure if anybody even entertains them.
This being the second employer that has sent across a coding exercise to me, I am considering seriously to turn down their esteemed evaluation process. I really had a tough time last week getting those many hours to work on one coding exercise and I had decided I won't be a part of the drama anymore. The worst part is they have little regard for your prior commitments. So it may also mean you change your plan because the prospective employer wants you to work on a coding test.
But my concern is with two of the three employers I shortlisted asking for application code, where is all this headed. Is this becoming a norm? In 15-18 hours, people can study a new interesting algorithm and write a few demo programs in it. You could even familiarize yourself with the basics of a new framework, or a technology, or a new programming language. It is too many hours to ask for. Really. I don't study for more than 2-3 hours a day. Never studied that much even for my exams. Also it makes me feel these employers are not going to give us any room for errors and for learning from our mistakes. This, I think, is not a good sign.