I went along to Agile Edmonton today, run by Startup Edmonton where I got to discuss agile issues people are facing, give some input from my limited experience and meet some new faces in my industry around Edmonton. It was fun! I’ll most likely be going to the next one in two weeks, regardless of the outcome of what I’m about to say.
While there, I met two guys who worked for the same company (for general reasons I won’t mention which) and got talking about what they do, the company processes, company state, future goals/5 year plan (or not!), what I’m looking for in Edmonton in a role, whether my interests matched with their development and more. It resulted in me being recommended to submit my resume and e-mail for a job interview, which is amazing.
They’re doing things I’d be really excited to get involved in. It sounds challenging, fast-paced, full of team effort & passion, new technologies for me to learn and simultaneously highly rewarding and frustrating. Before I flew over to Canada I knew that I’d like to try out for Startups, so being given the opportunity just from networking was fantastic.
However, there was a technical code challenge, and I’m feeling rusty on some things and a little slow in others compared to where I normally am. I’ve been revising bits and pieces of knowledge I expect in interviews (the sorts of things I remember and utilise for design choices, but maybe forget the specifics of, even when I shouldn’t), but I still don’t feel 100% up to scratch, and this was my first technical challenge of actually writing code. That was timed. And my every reaction recorded to be played back by them.
Needless to say, I freaked out a bit.
I came up with a (maybe working..) solution, that I 100% know is inefficient, might not actually run, might not even find the solution, and was just a mess. Because I was being recorded, I was very conscious of doing ANYTHING, so sometimes I just did nothing (minutes of inactivity…) and other times I just pottered about hacking at things, making comments, etc. In the end, I went to try and test it, realised I’d need to set up something to do that, which would leave more dead time on the recording, but I’d already sat and done nothing for a while, so just panicked and submitted without checking.
Despair. Absolute despair. Okay, maybe it’s not that bad. I gave it my best (at the time..) I know it’s bad, I know why it’s bad, and I proceeded to check the correct answer after I submitted (fool me). Once submitted it couldn’t be changed…
If you want to see my result, you can view it here, the test suite is here and this is the GitHub repo. It’s rather simplistic both visually and within the code. I added some features I find interesting (using localStorage to preserve previous questions, never having the same response twice in a row, a test suite done with TDD, using canvas), but I’m not sure if it’s enough to impress the interviewers.
I could submit them now, but it’s just gone past midnight. While I want to be keen and get them seen to sooner, I also want to have a quick look over them in the morning to be sure. Additionally, I can back up my time of stopping development with GitHub commits. Whether I was fast or slow in producing this, I can’t say. Personally I think I’m slow, and have much room to improve. That’s not to say I’m bad, just I know I can do better (which is good! Room to improve is better than hitting a cap…).
If I can somehow get forgiven for the mess that was the recorded coding challenge, and show off a bit with my Magic Eight Ball application, explaining my reasoning for both, I may be in for another interview with developers and then the CEO of the company. If I pass all that, I may be offered a job, and then maybe I get to stay, or maybe they don’t find me a good fit (or me to them too!) within 3 months. Who knows.
The future is maybe bright and a little daunting, but I’ll take opportunities. This is one I’m excited for. Even if I don’t get the job, it’s been a great experience. I’ll update here whether I actually made it or not soon.