This was a great week of coding! On Monday I got an e-mail from a big company saying my application was progressed to a shortlist of candidates they wanted to follow up with. Fantastic! I’ve applied for 9 jobs so far and haven’t heard back from anyone, so it was a great feeling!
Not because I think I have any chance to actually get the job, but that means what I’m doing isn’t complete rubbish, and I might be navigating these muddy self-taught waters in the right direction.
When you don’t hear back from anyone, it’s very hard to know what you’re doing wrong. I got great feedback from a Reddit post where folks looked at my first app and my portfolio and that was super helpful. But to have my stuff seen by a hiring manager in a big company and actually be considered for the job is a huge boost in my confidence.
Although I was very excited with the e-mail, I knew from the get go I was in trouble. I was sent a programming exercise to solve and send back to them by the end of the week. I had to consume data from a mock repo and show it using a front-end of my choice. And I had to use the Inversion of Control (IoC) pattern to get it done.
It seemed quite straight-forward at first glance. But I knew I’d be busy with things that were time sensitive and I wouldn’t be able to reschedule.
On Tuesday I was sent the exercise and in the next couple of days while doing my Uber Eats shifts I would look at the exercise and try to solve it mentally whenever I had the chance. I also looked up videos that used the IoC pattern in C#, the only thing in the exercise I had never seen before.
Getting it done
So after three days I could finally sit down and start doing it. I sat down just after midnight on Thursday. I would have to pull an allnighter because I wanted to send it back early in the morning. I don’t think the hiring manager would be impressed with something sent any later than that.
I used this video by Tim Corey to learn IoC and happily after an hour I could get my dependencies injected with Autofac. What a relief. I knew I still had a bunch of work ahead of me but nothing I hadn’t done before. I knew I was going to get it done.
Seven hours and six shots of coffee later, not without some hiccups along the way (namely working with anonymous objects coming from the API to be consumed by Angular), I handed it in. I was tired but relieved. I still don’t think I have any chance to get the job but I did it. I solved the challenge.
After a few hours of sleep I woke up thinking of the things I could have done better and I need to think about for the future.
The first one is to do a better job in the front end. I literally presented the data using the same template I’ve used in my previous apps. I can definitely build something more interesting next time.
The second is to include unit tests. I’m still learning about it but I think it has the potential to impress employers. Once I learn it, I’ll include it in the apps in my portfolio too.
And finally, error handling. I don’t have any try and catch blocks in my code and I’m sure this is a deal breaker. Basically I haven’t learned any error handling since doing my first Java Course 18 months ago. I think this is the easiest and fastest skill to add to my arsenal so I’m jumping right into it next time I sit down to code.
My first tech job is coming, I can feel it!