This time last week, I was in a fervour.
I had finally secured my first dev interview. While almost missing it at the same time. Nonetheless, the time was set, the company looked great, the anticipation set in.
Rewinding back a few weeks, I recently moved to Montréal, with the aim of working in tech, and being surrounded by the vibrant digital arts culture. One should be easy, the other, not so much.
I timidly began the job search. Knowing it would take a long time. I had waited so long to start applying, partly due to the fear of failure and rejection and partly to appease the perfectionist inside me. What’s another few weeks?
"My portfolio still isn’t done. X isn’t right. I’m wearing odd socks"
The voice in your head you should rely on the least, but it become the loudest.
Thankfully I had agreed to an online mock interview and portfolio review by Coding Cardio and that became a concrete date as to when I would be ready by.
I don’t know about you, but being purely self taught, when I put something outside of my control, and it’s someone else's time or expectation on the line, It really gives me a boost to achieve a deadline.
After weeks of slow progress and a last minute rush, I did the mock interview, which you can watch here if you really want, and got favourable feedback. Plenty areas to improve, but many good points already. That’s a win as far as I see it.
There’s no excuses now. Start applying!
“But what about x concept? I still don’t really understand it.” “This course looks great. If I did that then I’d be way more prepared”
What is being ready? There’s always another thing you can do. Imagine if we did this while crossing the road. We’d spend our lives watching the cars go by. (This analogy probably works better if you come from a country where “jaywalking” is totally normal, and zebra crossings are a rare occurrence. )
Right so! The applications got sent out like there was no tomorrow. I did a few the next day and maybe one the day after.
It’s amazing how quickly the motivation dies off. A day goes by, nothing. Two become three. Soon it’s been a week already.
“What did I do wrong?” "Surely someone someone should’ve replied by now?”
Then finally an email!
“. . . We have decided not to pursue your application further . . . ”
Several more of these came in the next few days and weeks. Until finally AngelList mentioned that some companies are “interested” in me. I’m pretty sure this means little to nothing, but I received a few emails to give my times for a phone call this week.
Phone calls never came. An email or two that materialized into nothing.
At this point I had to stop and admire all the devs, self taught and otherwise who had done this slog for 3, 4, 5, maybe even 6 months or longer, and still persevered. You are all an inspiration.
This gave me renewed confidence, along with some great advice from the local freeCodeCamp meetup here in Montreal. I was back on the hunt again.
I also began digging in to more back-end tech and applying primarily to startups. This was to ideally end up in a position where I had to do a bit of everything, and hopefully become a more rounded dev.
Within a week, I had some more interest, but nothing was happening.
Then an email from a few weeks ago. The CTO had been crazy busy and hadn’t had the time for interviews. Could I come to the office for a chat sometime this week?
Strangely enough I heard nothing from him for 2 more days. Weird.
I don’t have the strongest mental resolve, and though that’s a subject for another time, I quickly assumed they had a better look at something, GitHub, portfolio, LinkedIn, whatever, and thought maybe I just wasn’t good enough.
Negativity grows fast.
The only thing I could do to keep it at bay was to keep working on projects.
Turns out I when I updated my email on AngelList 2 days previously I hadn’t confirmed my new email. I normally got an email notification to a message on the platform, but now they were stuck in some email limbo.
He’d replied 2 days ago and the time he’d given was today. Two hours ago.
A few expletives may have been uttered.
I immediately emailed him, explained my mistake and offered my apologies and said I would be delighted to come in whenever suited him.
We set a time for Tuesday @ 10:00. It was now Thursday.
Finally, it’s happening!
So here we are, 4 days to learn everything you know you don’t know. Yikes!
That was never going to happen, so I did what every dev does best.
I made a list. inside a box.
1. I began interviewing myself, seeing where I would stumble.
- Noting where my knowledge was poor and where it was strong.
- Taking time to go over the weak points and reinforce the strong ones.
- Things in the back of my mind I knew I should do, but never actually did.
- I scoured the web in search of all the best React interview questions. Here are a few. This was perhaps one of the best things I did.
Those questions pointed out things I would have never thought to ask.
Did you know that React has over 20 different render libraries? A webVR renderer ? A canvas renderer? A browser console renderer?
Or what a fragment is?
How the diffing algorithm works, that powers the virtual DOM?
Why do we write super(props) anyway?
How the hell does redux work? Do I need it?
Why are there so many boilerplate files? Do you need it now we have hooks and context? What do they do?
This is the fervour I was referring to.
React is HUGE. This (obviously) barely scratches the surface.
More importantly, the more I learnt, the more excited I got. The deeper my understanding, the more questions I had.
I’m sure any decent React dev will know most, if not all the things I mentioned, with plenty of opinions to boot. I don’t want to tell you what you should learn, or do, just what has worked for me.
2. I began digging into tech I thought I should "wait a bit longer to try".
React native was in their stack, along with a serverless backend. Build a React native app? Don’t mind if I do!
In those four days, I think I learned more about React, and web dev in general, then the last 4 weeks. Perhaps even months.
Better yet, I wasn’t nervous about the interview, I was super excited! I can’t wait to talk about everything I know, and what I don’t, with someone experienced!
The interview went really well, it was more of a culture fit chat, but I got along really well with the CTO and things were looking good.
Which makes it so much more disappointing that, against all advice, since I finally caved and gave a number for the salary expectation, I haven’t heard a peep.
He told me in the interview, that they needed that to move the process forward. I didn’t see another option.
They were going to send a technical challenge after that, but nothing's come.
That isn’t what this post is about though.
This kind of thing will always happen. Perhaps the hiring process or status quo is skewed or wrong, perhaps not. Again, a matter for another time.
What I want you to see, is that all this has pushed me onwards to work harder and keep learning more and more.
With greater determination than ever before.
I even started blogging.
By actually starting the job hunt you shed light on all those things you don’t know.
You see your weak spots, the gaps in your knowledge. The important things become obvious. You get those back-burner projects finished.
Most importantly, you open yourself up to the professional world, to the people who are doing what you love.
Once you do that, you break down that door that’s been looming over you since you first made 'Hello World!’ appear in the browser, all those months or years ago.
You’re never going to become ready. You already are.
Backend developer roadmap, skills, resources
Santhosh Reddy -
How to earn more as a Freelancer
Guy Ntare -
How I Became a Professional Developer and Built My Dream Career with No Formal Education and No Professional Experience
Ken Rogers -
How to Get Out of (or Completely Avoid) the Tutorial Trap
Andrew Lundy -