antnee — 2010-03-07T18:39:01-05:00 — #1
I've just recently (on Thursday) had a very long and what I thought very positive interview for a PHP developers job. They asked me to provide some example code to complete the application, at which point panic set in. I haven't written any code for myself in God-knows-how-long, and all of the rest of my work is the I.P. of the people I wrote it for (ie my current employer), so, what do I send them?
In the end I decided to write a simple RBAC based CMS. It doesn't have a template system built in, but otherwise it supports the setting of permissions, assigning them to roles, assigning users to roles and of course setting certain parts of the site to be visible depending on your permissions. I utilised FK constraints in MySQL's InnoDB engine in order to ensure that if a role is deleted that all traces of it are deleted from other tables, as an example.
Now, bearing in mind that I've had about 8 hours to write this, and I've tried to include examples of all sorts of different things, like classes (including abstract and extended classes), various loops, complicated MySQL queries as well as a fundamental understanding of both MySQL and PHP, and the basis behind RBAC and CMS, does anyone think that I could've done any more? Personally I feel like I've outdone myself. If I'd added templates and hierarchical roles and permissions then I think I'd have the basis for a pretty solid platform, so to do this in spare time over a weekend feels like one hell of an achievement. The code may not be the neatest you'll ever see, and I started to omit comments towards the end, but it sounds like it should be good enough doesn't it?
jeffwalden — 2010-03-07T19:04:04-05:00 — #2
What's the PHP job that you applied for?
It sounds like for most developer positions you've gone above and beyond the call of duty. What you completed in 8 hours would take a team of outsourced developers 2 months to complete.
Great job! (:
vessio — 2010-03-07T19:10:46-05:00 — #3
I agree with Jeff, excellent work. Best of luck.
antnee — 2010-03-08T01:34:35-05:00 — #4
Thanks guys. It's just a PHP developer position. My previous job was technically not a PHP job, I just did it for the company anyway, so this is the first time I've actually applied for a job like this so I didn't know how far to go. Don't get me wrong, what I sent is far from 'Joomla' or the like, but I thought I'd done well in a weekend. I'm glad to see that you agree. Fingers crossed for the desired result then.
kyberfabrikken — 2010-03-08T05:15:46-05:00 — #5
Tell them like it is - You didn't have any code at hand, because everything you wrote recently isn't your intellectual property. So you wrote a sample application from scratch, to show of what you can do. That way, they can judge your skills on the base that you only actually used relatively short time on the task. It also shows them that you're dedicated enough to actually spending a considerable amount of time to prepare your application (Which this essentially is).
antnee — 2010-03-08T11:58:47-05:00 — #6
Thanks guys. Had an email to say I've got the job, so it was worth it in the end.
jeffwalden — 2010-03-08T12:01:17-05:00 — #7
Woohoo! :drink: Great job!
antnee — 2010-03-08T12:01:43-05:00 — #8
Let's hope it is a "great job" Thanks
kyberfabrikken — 2010-03-09T03:15:06-05:00 — #9
antnee — 2010-03-09T17:14:31-05:00 — #10