Are you using Void correctly?

I don’t like void functions.

Let’s look at the purpose of a void function and try to comprehend the utter confusion it brings.

Coding Concepts - Smart vs Dumb Components

Most people will know you should use different components when building an application, but knowing how to construct them, and giving them specific responsibilities is key.

When to start looking for your next role?

When is the right time to start looking for your next job? You’ve been at the same place for a one/five/ten years now. Have you progressed? Are you learning anything new? Do you feel undervalued by your current employer either financially or with your efforts not being recognised? What should you do? Are there any…

Imagine code that produces code! Good Code!

I think we should write more code, that writes code for us! Let me explain why. We love coding, we try to write as much code as possible. LOC is the ultimate measurement of your awesomeness. But how many of us write code that creates code for us? We love using tools/frameworks etc to aid…

The Art of Debugging

As a developer, a major part of your day-to-day responsibilities will entail needing to deal with bugs, finding a problem, replicating it, and fixing it.

Let’s look into how to do that.

Any questions?

It’s the end of a presentation and those famous words are spoken once again, having heard this numerous times, very often the speaker/you are met with silence. You’ve just spent a week preparing a presentation, a post or a new tool for people to use, and nobody has any questions about what you’ve just explained! Faces are blank, and people make a swift exit. Why is this?

Coding Concepts - Cyclomatic Complexity

Cyclomatic what? Even spell check doesn’t recognise the word, but it’s a super useful software metric for understanding how your software works. Having read about it a few years ago, it apparent use seems to have deteriorated. I feel it’s a very valuable tool in a developer’s arsenal, and something that should be used in…

Coding Concepts - Reflection

Reflection is a term thrown around every now and again, but do you really know what it means? Why and when it should be used, and what are its main strengths?

Coding Concepts - Anonymous Methods

Anonymous functions have been present in programming languages since Lisp debuted in 1958! My examples will once again be demonstrated in JavaScript.

Coding Concepts – Understanding Generics

I’ve been fascinated with Generics for a while, they can be quite hard to grasp, understanding why and where they should be used. The main motivation for the use of generics is to provide meaningful type constraints between members, Generics or Parametric Polymorphism, are used in most programming languages, and although they can be harder to understand, there are 5 main benefits to using them.

Coding Concepts - Hoisting

Hoisting is the behavior of moving declarations to the top of the current scope. This is the default behavior in JavaScript when using the var keyword but using the new let and const keywords means this does not occur. Hoisting in Action. Here we can see that the variable is declared after it’s been used, so…

Code Review Checklist

Code reviews are necessary to ensure your application is consistent. We live in an age of copy-and-paste craftsmen, so making sure that the bits that do get copied are correct is imperative for this approach to keep on working! There are many articles out there telling you why code reviews are important, why you should…

Code Talk - September

It’s that time of the month again. Here are the most interesting posts I’ve found on the web this month. Happy reading. Planning doesn’t have to be the enemy of agile https://hbr.org/2018/09/planning-doesnt-have-to-be-the-enemy-of-agile Most tech companies will now follow an agile approach to their development cycle. Planning is an important cornerstone of management, and coordinating and…