ZippoLag / InterviewCodeChallenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"School System Exercise"

This code challenge was provided as an exercise by a potential employer. I sadly did not have the time to spare that I would've liked to give this oportunity the effort it deserved, alas, they found a developer more suited to the task to fill in their ranks.

The "README.orig.md" file contains the original exercise description. "Devlog.md" file was a "TO-DO" and design-choice-tracker file for myself that I felt useful to commit into the repo.

I hope you, random internet user (and/or future potential employer?) who stumbles upon this repo don't take it as a show of my actual programming ability, nor as an example of the correct way to solve an exercise of the similar kind.

Why do I even leave this repo alive instead of torching it down? I suppose I want it to serve as a reminder to myself of how I could've done it better.

Post-mortem

At the beginning I underestimated the problem as it was described in the original README.md file, then I quickly realized that with the loose outline that was given, one could take the project in a number of directions, potentially adding complexity up to infinity in an effort to peacock my way into a job position.

Then, in an attempt at being pragmatic and not to consume an infinite amount of time, I took what I considered to be a rational approach which has kept me sane when maintaining existing codebases:

1- analyze and understand the existing project structure 2- pin-down how the requirements map to code changes 3- implement by adding the least amount of neccesary complexity 4- refactor any incurred technical debt

Now, I must admit that I failed to deliver on that 4th step as much as I would've liked, however at the very least I'm content with some design considerations I took while filling-in the blanks left as an exercise, but I failed to discover the most important part of the test: to figure out what the test-givers wanted to see me develop and prioritize that.

Naively, I thought that it would be "just a simple coding exercise to evaluate my capacity to handle myself within a personal development lifecycle and using the requested tools", however I should've questioned the interviewers to try and asses their expectations prior to even opening the original repo's URL, which would've probably improved my chances of success.

PS: apoligies for the typos, I wrote this in notepad while my 5 month-old was taking a midnight nap

About


Languages

Language:C# 54.9%Language:TSQL 45.1%