Take-home challenge 2
So a few weeks back I wrote about my first take home challenge and what I got out of it. This week I was asked to look at one for another job, it was a little different in that it involved using a framework (rather than vanilla JS), and also tested some more skills like authorisation and connecting to API endpoints on a database.
The company in question is changing their whole front-end from Microsoft stack to Vue. With that in mind the test came with a Vue template which you could use, or a guide to what the finished product would look like if you wanted to build it in a framework you were more familiar with (like React, for example). The idea was to show your problem-solving in JavaScript so there was a free choice. I'd had a really enthusiastic discussion with the company over the phone about Vue, so I checked out a really nice basic intro series of blogs on here by @marinamosti. It looked really cool, I was excited to check it out so I decided to use the template and learn a bit about Vue at the same time.
In hindsight that was a bit silly. Once cool thing I gathered about Vue is that it largely handles the routing for you, by looking at the pages folder and creating a route for every file inside. A bit like Next, which I also think is pretty interesting. However, if you're coming from React you will notice that some things are really different - there's no JSX for instance: the HTML, CSS and JS are split, more like the traditional style of coding.
My big takeaway from this exercise is that a code challenge is not the time to teach yourself a new framework even if you have a template to get you started. In fact trying to build on a template probably made it worse because there were some files missing that I was expecting to see, and there were others that I couldn't figure out whether I needed to use them or not. There was a folder called 'store' (with lots of code in), which I assumed was state management, like with Redux. A quick web search introduced me to 'Vuex' and then I felt a bit more overwhelmed.
Conclusion:
- If you get offered the chance to write a code challenge in a language or framework you know, take it.
- Vue actually does look really cool. My 'to-learn' list just got longer.
- Keep perspective in mind: a senior dev would be expected to build this app in half a day.
Online coding test
The other thing I did for a different company was an online coding test, where you write out all the code to solve a couple of problems (in whatever language you choose) and then when you hit submit, the answers go straight to the company so they can have a look. The questions were like what you would find on Codewars.
Unfortunately for me, and for a lot of other people, these kinds of tests are not where I thrive. I enjoy working through puzzles on Codewars, and I can build apps in my own time, but put me in a timed situation like that and I go to pieces - sweaty palms, fuzzy head, panic! They gave 3 questions and a recommended maximum time you should spend working in total. I pretty much used all this on the first two questions and fried my brain, so sadly I didn't get to do the third question.
I also had a pretty traumatic mock technical interview a few weeks ago: my mind just went totally blank - stuff I'd learnt just to get into bootcamp and used again in the pre-work was just...gone! I beat myself up because I should have this stuff locked down, but my mum tells me the whole family is like that so I'm going to say that technically it's their fault not mine 😊 (then go practise objects some more).
Conclusion:
- You cannot over-practise the basics. The more you do something, the easier it should be to recall later.
- Give yourself a break: This time last year you didn't really know what an object was, then you found out some people call it a hash and some people call it a dictionary.
- You are not stupid, just remember to breathe. Some people work well under stress, others don't. We are all programmed a little differently and that's just how it is.
I love reading posts from people about how they also get stressed in these situations. I realise that sounds sadistic. It's not that I enjoy seeing other people having a hard time, but rather that it reminds me that lots of us feel like this, but we shouldn't let it devalue our sense of self-worth. Give me a 😀 or a 👋 in the comments if you feel the same way, and let's ride the struggle-bus together till it gets to our stop.
Top comments (2)
Another good post about the coding process. I like these b/c it gives new developers tips without being negative about the interview process itself.
I especially like this comment " code challenge is not the time to teach yourself a new framework"
I typically use the framework I'm most comfortable with (at that moment) so I can complete the assignment quickly. If I were to use a new framework, I'd feel I've invested too much time (physically and emotionally) if I got rejected..
Thank you Jeff, for taking the time to respond to this and my other post. I find it helpful to document the process and if it helps someone else that's even better. It's good to have positive feedback from a developer with your experience.