If you haven’t already, read my previous article on the subject. As follow up from the aforementioned article, you may not need a test. But if you were, this article is a guide as to what that may look like, and how you may design it.

Programming tests don’t have to make your head explode

The PR review

There are so many skills required to review a PR effectively, not just technical know how, but also soft skills. You need to know how to phrase your comments, and come across clearly. You need to know when to pick your battles or not, what’s worth commenting on, or not.


We’ve all been here. You’re looking for a new job, and you’ve aced a couple of interviews. They now ask you to do a take-home technical test, no worries you think, i’m a great developer.

Then you look at the test... It’s 10 hours worth of work. You cringe, you cry, you wonder if it’s worth your time.

POV: I’ve just been told this programming test is estimated to take 40 hours to complete. I stare out the window for an inordinate amount of time wondering what’s the point of anything

It doesn’t have to be this way.

One short disclaimer, I have never been in the position to hire anybody. These notes, and thoughts are all from my experience of interviewing for jobs. …

A dilemma we’ve all faced. Life is rough. Thankfully, JS provides a solution for such a situation.

Man shaking large iron gate with two hands grasping it
Man shaking large iron gate with two hands grasping it
Me suffering under the crushing realisation of the amount of promises i’ve made

This is a follow-up to the previous article It started with a Promise. If you haven’t read that, and you’re a little misty on how promises work, it’s a solid refresher. Otherwise, carry on.

Now that we’re able to make promises, access the result, and handle rejection. We’re in a stellar place to start to tackle some more complex situations we may find ourselves in.

Such as having a series to Promises to make, but not caring about the result. Or needing each…

Then we got here, finally, with no exceptions.

What is a promise?

Man with many hats on his head, while in a prayer squatting position
Man with many hats on his head, while in a prayer squatting position
Here I am promising that i’ll return the hats safely

A promise is an object which will return an asynchronous (think not at the same time) result. The classic promise use case is fetching data from a remote server. You have no idea how long it’ll take for the data to come back, you’re just promising JS that it’ll come. You can then access it

new Promise( (resolve, reject) => {
// logic to resolve or reject
}.then(result => {
// logic with the result of the promise

Await (hehe), what if the data never comes back…

Developers are sensitive people, we are creatives with an objective task. X program needs Y output, in whatever way that materialises.

We must think abstractly through the multiple layers present in an application, and codebase, in order to come up with the best solution.

And it’s not always easy.

Within this story are some trophies of review experience. These few points will help you become the reviewer everybody wants on their team.

Positive feedback — point out, and praise decisions

A person drinking a coffee and having a cry
A person drinking a coffee and having a cry
Me post-bad review, having a coffee, and a cry

When trawling through the web of another developers’ creative decisions, be an ally. Point out the great ideas they’ve introduced…

Premature optimisation is the root of all evil. We’ve all heard it, and we all understand what it is. It’s adding unnecessary complexity, and solving use cases which aren’t guaranteed to exist moving forward, or ever.

Optional chaining? is that the latest buzzword? ..Nah, it’s not blockchain, don’t worry.

Optional chaining is a stage four proposal which allows you to safely check properties of an object, without throwing an error if the property isn’t found.

What does it look like?


What does that mean??

Functionally, it’s equivalent to checking that the given property is null, or undefined.

const testObj = 
(MyObject.myProperty === null || myObject.myProperty === undefined) ? undefined : myObject.myProperty.subProperty

Okay, but when would I use it?

You’ve seen conditional statements that just kinda keep going right? Y’know, the ones that look kinda like this..

if (
MyObject && myObject.myProperty && myObject.myProperty.subProperty …

Welcome to my little adventure about writing a machine learning Twitter bot. I’m going to chronicle what I did, where I got my inspiration, and in some parts, how I did it. Why did I decide to create this monstrosity?


Great question..

Once upon a time I stumbled across an article chronicling a machine learning algorithm using the Harry Potter series as input to write it’s own chapter. Enthralled by the pure oddity of what a machine’s understanding of language and creativity turned out to be, I was intrigued to do something similar. But what would I use as input…

Nick Farrelly

React/React-Native developer. Passionate about learning, improving, and writing. www.thefarrelly.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store