Category: Programming

How to do Code Reviews?

How to do code reviews

As a developer and technology manager, I like to set really high standards to ensure that code is easy to read (understandable), simple enough for the task, and commented well enough that almost anybody could understand what is going on.

Continue reading

6 Tips For Better Handling Traffic Spikes

As a software developer, and technology manager, I’ve had a lot of experience in the past with variable website traffic.

In the past, I’ve worked on business to consumer information websites, I’ve worked on payment gateways and even on a few ecommerce sites.

Continue reading

What does data do?

What does data do

As humans, we use data every day. Sometimes when we use data it’s completely subconscious – we don’t even realize we’re doing it. When we count the number of emails in our inbox, we can predict just how busy our day is going to be.

Continue reading

5 Best Practices for Designing RESTful APIs

Over the years, I have been really blessed to work on a number of API developments and to be able to consume a lot of APIs as well whether the APIs were in finance, sales automation (salesforce), or other services. A lot of the APIs had really noticeable deficiencies which I feel really made using the API a lot more difficult than it had to be.

This blog article is really a look at years of experience with APIs and a first attempt to at trying to make them easier to use for the developer. It’s really important to take time upfront and design a great API because it has the potential to be a huge asset for the company, and also has the potential to also be the company’s greatest liability.

A public API will have to remain virtually the same basically forever, so you really only have one chance to get it right. This is because customers or other integrators typically won’t ever update. If your API doesn’t have versioning you’ll basically never be able to make breaking changes. As users use your API and as feedback is collected you should be evolving the API. Continue reading

Book Review: JavaScript: The Good Parts

Although, JavaScript: The Good Parts is nearly ten years old I would argue it’s still a pretty good book to read. Literally, as the title implies the book calls out the best parts of the javascript language and tells what parts of the language to avoid. Continue reading

10 Tips to Become a better Node.js Developer

It’s no secret that I absolutely love JavaScript and Node.js.  For those that don’t know Node.js is a framework that is built on top of JavaScript.

Node.js is an open source JavaScript runtime environment that runs on pretty much everything. It’s a great environment for building fast scalable network applications.

Node.js uses an event driven model that makes it really efficient and really good for real-time applications. Paired with serverless computing it’s fantastic for a lot of modern use cases.

In this article, I will go through the best practices for becoming a better Node.js developer. Over the last two years or so, I’ve interviewed and hired a lot of developers for the startup I’m working at. Continue reading

5 Reasons to Use AWS Lambda

In late 2014, AWS Lambda launched and has grown in widespread use since then. AWS lambda is a serverless computing technology which has been a game change for software development.

AWS Lambda is a service that makes it easy to build small scalable applications. Lambdas are small functions that are packaged up and sent to AWS. Using a framework like the serverless framework makes it fairly easy to work with and pretty efficient.

Lambda is event driven. It works by responding to events whether they be timed, API driven or responding to events within AWS. One of the most common examples of using lambda is to resize images that have been uploaded to an S3 bucket.

Lambda is stateless meaning that every time a function is triggered, it is a completely new environment.

There’s so many reasons to use AWS Lambda. It’s easy to get started with it, it’s massively flexible, it is very scalable and more. Continue reading

Why I love VSCode

I’ve been programming for a long time, and I’ve tried a lot of editors over that time. As a developer, I believe that my editor is the most important tool I have. At least half of what I do is done in my editor, a really terrible editor can even lead to injuries. Having a bad editor that isn’t working with my workflow leads to a lot of stress and wasted time. I was happy with Visual Studio for the most part, it could do everything I needed as long as I stayed on the microsoft stack. I find VS Code to be different, very different. Continue reading

What is ORM?

What is ORM

Most software projects need to talk to a database at some point – they usually do GET queries for data, update a field or create a record. In the past, people would write raw code that communicated with the database and built an object or some code representation of the data that they would manipulate. This lead to an incredible amount of duplicated code for every project that usually had some subtle bug that was present in all libraries. Continue reading

5 Tips for Finding Amazing React Components

5 Tips for Finding Amazing React Components

One of the most important parts of building scaleable systems quickly is to find work that others have done and use it as part of our system. Using packages others built and assembling it with your business rules and logic is a lot like putting together pieces of Lego but following your instructions.

One of my favourite parts of React is that there’s usually hundreds of small open source components that can be used and usually easily modified to suit my needs. For example, there’s dozens of really well done date/time pickers that usually require no effort to put into place. Continue reading

What are Design Patterns

What are Design Patterns

Design patterns have been around for a long time in software development. Design patterns are basically a standard approach to solving a problem that can be found constantly in software development. Patterns are typically used for creating reusable designs, and defining the interactions between different objects or subsystems. I like to think of design patterns as a structured approach to software development and a very good way of improving communication between software developers. Continue reading

5 Reasons to Use Node.js on Your Next Project

5 Reasons to Use Node.js on Your Next Project

JavaScript has forever changed the way that websites are built. Even in it’s early days, it was being used to validate forms before data was submitted to servers. In the last 5 to 10 years, we no longer needed to do full page refreshes because of JavaScript which made the web feel faster and more responsive. Continue reading

What is Cloud Computing?

What is Cloud Computing

Cloud computing is basically using servers whether they be for databases, storage, application or something else through the internet. There’s quite a few different cloud computer providers – they’re billing schemes are typically very similar to how you would pay for electricity or gas for you car. Continue reading

5 Tips To Write More Maintainable Code

5 Tips To Write More Maintainable Code

Writing maintainable code can be challenging especially to newer developers, because they won’t have experience with coming back to code later or having to review somebody else’s changes. In this blog post, I provide 5 Tips on How to Write More Maintainable Code. Continue reading

Best Practices for Writing Tests

Best Practices for Writing Tests

When I say the word test, what’s the first thing that comes to your mind? It’s probably the boring tests that you did in school that were either multiple choice or required sentences or in math showing your work. When I talk about tests it’s usually an automated process which can execute on software and help improve the quality and act as part of the quality assurance process.

There’s a bunch of different ways of doing tests such as automated testing, manual testing, smoke tests, and then various different subtypes such as unit testing or regression testing. Continue reading