Blog Posts
Who ARE These People?
Product owner, business owner, business analyst, project manager. Who are these people? What do they do? Here's a guide for new developers.
You Ain't Gonna YAGNI
You Ain't Gonna Need It: a mantra to inspire concentrating on the problems that really need solving. But when is doing extra work or solving problems that might not exist, not actually YAGNI?
The Four Tiers of Outsourcing
There's a lot of third-party talents freely available to be recruited in the coding world, but what kind do you need, and what for? Here's our breakdown of the different categories of outsourcing, what separates them, and how you can plan your project.
Descriptors: The Backbone of Everything?
I always wondered how Django models worked, but never bothered to find out. Until now, that is. In this post, I expose their secrets, along with a quick how-to on removing hacked-together, non-descriptive code.
Listing the Problems of Lists
To the uninitiated, data types can seem interchangeable — as long as they do the job, does it matter which one you use? Here, we look into why using the right data types for the job is valuable… and why the oft-overused list could stand to be applied quite a bit less.
Quick Fix: Word Slowdown When Switching Styles
Microsoft Word is the most popular word-processing software in the world, but it's not perfect. One flaw is that it can be slow when switching styles in large documents. Here's some advice that might help!
Why I Hate Surprises
Surprise and delight is good. Surprise and shock, not so much. As developers, here are the reasons and methods for avoiding bad surprises for our coworkers.
App Hosting Services vs. Virtual Machines
The Cloud: a vast digital space, filled with... confusion. Virtual Machines, App Hosting Services - what's it all mean, really? We break down the pros and cons of the two approaches.
Coding For Fun (Not Profit)
Some people think of coding as a fun hobby. For others, it's just their job, not their passion. The question is, can it be both?
2020: A Retrospective
There's no denying that 2020 has been a rough year for everyone, but the global shift towards remote working has created more opportunity for programmers than ever. What lessons can we take away from the past year?
Being the Best New Dev You Can Be
Starting a job as a new programmer can be intimidating, especially when you're joining an experienced team. Here's our advice on striking the right balance to really impress your new co-workers and get more out of your new job.
WordPress and the Cloud: A Migration Guide
Maybe you set up your WordPress site through a hosting service a few years back, and you're thinking of moving everything onto the cloud. What should you know before migrating to a cloud provider? Here's some advice and pitfalls you should be aware of.
Python's Named Tuples and Why They Rock
Named tuples are one of Python's more obscure hidden gems. Although they've been around for a while, I don't see them being used enough. Cut down lines of code and make your code more readable through the use of named tuples.
Startup Products and the Human Factor
A chain is only as strong as its weakest link, and that tends to be the person holding the end of the chain. The best way to make an app or product infallible is to make it people-proof, but is it worth the candle if instead of making less work for your users, your creation makes more?
What's New in Python 3.9?
Python 3.9 is out, hot on the heels of PostgreSQL 13. What new innovations does it bring, what wonders may we build? Well, it won't shake the earth, but 3.9 brings some clever features that'll make your code shorter, neater and faster. Here's what we like in the new update.
Technical Debt (Developers: Don't Read This!)
Penny-wise and pound-foolish: rushing a project to completion often results in an end-product that's not only flawed, but can actually cost the producers far more money than they make. These "technical debts" can sink a project; here's how to avoid them.
What's new in PostgreSQL 13?
Which tradition does PostgreSQL 13 follow? Is it unlucky, like black cats and broken mirrors? Or does it continue the PostgreSQL tradition of good, solid releases? We take a look at some of the more useful features in this new release.
The Number One Reason Software Projects Fail
You can put your heart and soul into your projects, but they also need to make people reach for their wallets.
There are few things worse than seeing a project you've spent weeks and months on being shut down, but finishing such a project and then seeing it go untouched is one of them. Here's the biggest reason why this happens, and a few tips on how to avoid it.
How to Make Your Colleagues Hate You
Whether you're writing the code yourself or reviewing someone else's incomprehensible functions, you should always, always assume that some other programmer will follow in your footsteps. Will they love or hate reviewing your work? Here's how to make it harder on them - or to make it easier.
Hiring Expert Devs for the Layperson
In software development, skill can save huge amounts of time and money in the long run. You may not be a developer yourself, but that doesn't prevent you from hiring people who know what they're doing. These questions will help you eliminate unsuitable candidates and find people who can get the job done.
Big Returns from Small Automations
"Save a dollar" takes on a different meaning when you're doing so ten thousand times a year; after all, time is money. You can get massive productivity gains through automation, no matter your business – yes, even yours!
5 Web Frameworks to Watch in 2020
Whether you're a starry-eyed novice developer or a grizzled code guru, odds are that your future projects will be built using an existing framework. Now that the new millennium has turned twenty, what web frameworks are the most exciting? Here are our top picks.
Getting to No with Guesstimates
The client may know what they want, but they might not know what's reasonable (or even possible). Here are a few quick tricks to determine whether something's doable before the client meeting has even ended.
Introduction To Web Scraping
From making sure your site is up to date, to remixing data, monitoring your bank account or keeping an eye on your competitors, web scraping can help automate many online tasks. This post is an introduction to web scraping to give you an idea of what it can do as well as some ideas for possible uses.
Browser Screenshot Microservice for AWS Lambda
Sometimes writing software can be frustrating, especially when you're trying to build something that should be simple but there are just endless roadblocks in the way. I'm releasing an open-source, batteries-included browser screenshot microservice designed to run on AWS Lambda. It does one thing, and it "just works".
The State of Django in 2020
Django has been around since 2007, is it still relevant today? We look at the state of Django in 2020.
When All You Have is a Hammer
When choosing the technology tool to solve the problem, are you fully considering the solution? Or just hitting every screw, bolt and rivet with the same hammer?
Lessons from PostgreSQL at Scale
When scaling PostgreSQL to billions of rows, what hurdles are there? Here's some lessons from using PostgreSQL with AWS Aurora at this scale.
A Big Data Case Study (or, When To Stop Developing)
A short case study about choosing the right approach to data analysis. How much technology is too much?
Fun With Python Enums
Enums aren't new to Python, having been around since 2014. They still aren't being used very much though, but they can help cut down code and make it more readable. This post gives a brief introduction to Python Enums and a couple of interesting use cases.
5 Reasons to Choose Contractors Instead of Employees
In these uncertain economic times, why would you go with contractors instead of hiring employees? We give five advantages to using contractors, as well as a few cases for choosing employees too.
Continuous Deployment vs The Two Week Sprint
In the age of continuous deployment, is the two week sprint still relevant? Should we reconsider this approach for one that fits more into this new "continuous" view of development?
5 Ways to Protect Web Forms from Spam - Without a CAPTCHA
Five methods that can reduce the amount of spam through a web form, without using a CAPTCHA.
How COVID-19 Tracing Works Around The World
An introduction to how Bluetooth COVID-19 contact tracing works, including bespoke methods and Apple/Google's ExposureNotification. Apps from Australia, Singapore, the UK and Switzerland are compared.
The NZ COVID Tracer App – Review
A review of privacy and security aspects of the NZ COVID Tracer App.
5 Tips For a More Effective Development Team
5 tips from an experienced Software Engineer on building a more effective development team.