Warm greetings to community of dev.to
Recently I tried to apply on a job in a software development company (what a surprise :))
I've got coding task description and a deadline date from them and started to work. Task was implemented and sent back for assessment, but I've got negative feedback and they decided not to proceed further with me.
I understand that my solution is not optimal and can be improved significantly in a different ways, that's for sure. I just tried to be pragmatic and followed Occam's razor principle.
But... could anyone from community be so kind and please tell me if company assessment was fair enough comparing initial task description and assessment notes?
I would be very grateful for you opinions.
After review of the task I cannot evaluate it with positive outcome. The task is simple and very small but still should be done according to the latest coding standards.
- Convertion of numbers was well tested
- Detailed input validation with error handling
- Everything is static in whole project, no dependency injection, no interfaces Hepler methods in region in Main class
- No unit tests for the supporting methods as there is only one static that gives output
- Inline function with logic in one big switch case that cannot be tested out
- Even if it wasn’t specified it would be good to close the convertion functionality in as service to be able to use it in different apps
To summarize I cannot recommend such task and candidate for client verification.
Here is repo with the task description and sources written on C#:
Number to words
Convert digital number representation to word number representation
Write a console program which converts currency (dollars) from numbers into word presentation.
- The maximum number is 999 999 999.
- The maximum number of cents is 99.
- The separator between dollars and cents is ',' (comma).
- Input: 0 Output: zero dollars
- Input: 1 Output: one dollar
- Input: 25,1 Output: twenty-five dollars and ten cents
- Input: 0,01 Output: zero dollars and one cent
- Input: 45 100 Output: forty-five thousand one hundred dollars
- Input: 999 999 999,99 Output: nine hundred ninety-nine million nine hundred ninety-nine thousand nine hundred ninety-nine dollars and ninety-nine cents
- Use .NET framework 4.5 or higher.
- Implement the conversion algorithm by yourself.