Top writer in Technology | Backend Web Developer | bennettgarner.com

Writing code is a craft. Practice your skills and sharpen your tools to be the best programmer you can be.

If you’ve spent any time working in or learning about software development, chances are you’ve heard of the classic book The Pragmatic Programmer by Andrew Hunt and David Thomas.

You likely know a lot of the stories and terms from the book. Hunt and Thomas introduced the world to rubber duck debugging and code katas. They also popularized ideas like don’t repeat yourself (DRY) and early iterations of what would come to be known as agile development.

So, you probably…


Building a REST API in Django is so super easy. In this tutorial, we’ll walk through the steps to get your first API up and running.

(This post is part of a series where I teach how to deploy a React front end on a Django back end. However, nothing in this post is React specific. Whatever your API needs, read on!)

[Just want to see some source code? My pleasure: https://github.com/bennett39/drf_tutorial]

Why REST API?

Before we get to the code, it’s worth considering why you would want to build an API. …


Let’s see if serverless is really better with an AWS Lambda example

Down with the servers (except not really)! — Photo from Wikimedia Commons.

Serverless Has a Bad Reputation

“Serverless” is a hot buzzword, but it often gets an eye roll from the developers I know — especially when mentioned in connection with microservices.

Advocates of serverless say it scales seamlessly to meet demand while not wasting resources if not in use… if you set it up correctly.

On the other hand, many developers see serverless architecture as overly complicated — especially when it comes to rearchitecting existing applications and setting up deployment strategies.

So, who is right? As a developer, you’ll hear a lot of opinions, but my best advice is this: If you’re interested in a new…


If you want to learn to code quickly, you need to stop doing tutorials as soon as possible.

This advice will be controversial and seem counter-intuitive, I know.

Tutorials are a bad way to learn real coding skills.

Don’t get me wrong, tutorials are a great way to learn syntax and common patterns. However, they only show you one way to solve a problem.

Tutorials don’t teach you how to invent solutions to new problems.

Problem solving is the ultimate goal of coding. And there’s no tutorial that will teach you everything you need to know for every situation you encounter in a software development project.

To become a great developer, you need to learn to solve problems…


Vue Static Site Generators — which one is best?

If you love Vue, you might be thinking about using it with your static sites. But there are so many options between VuePress, Nuxt, and Gridsome — how should you pick? Here’s why I chose Gridsome as my Vue framework for a recent project.

What is a static site?

A little background for anyone who doesn’t know. If you already know about static sites, feel free to skip this section.

From Wikipedia:

A static web page (sometimes called a flat page or a stationary page) is a web page that is delivered to the user’s web browser exactly as stored, in contrast to dynamic web…


Adding Vue to your Django app is pretty easy!

These two technologies work great together.

Adding Vue to an existing Django app is super easy, and a great way to enable more complex front-end features. In this post, we’ll see how to do it the easy way.

Why Add Vue?

We’ll get to the code in a minute, but first it’s worth asking — “Why add Vue to your Django project?”

If you just want to add some effects or dynamically render something on the page, vanilla JavaScript is probably a better bet. Just add a script tag to your page and try to do the manipulations from there.

However, if you have a whole section of the…


The hardest & most frequent thing you’ll do as a developer

As a developer, most of your job is updating existing code. However, there aren’t many guides or tutorials to teach you how to successfully refactor and what to look for.

In this post, I’ll share a simple set of guidelines that have served me well when I have to refactor.

Why Refactor?

It’s amazing how quickly a code base can become unintelligible. It’s not that the original writers were bad coders. The requirements just changed, and things got added on the fly.

The decisions seemed reasonable back then. Rule #1 of refactoring: blaming someone else won’t help anything.

So why refactor?

  • Because…


As a developer, you’re the first line of defense against data breaches. You should know what to look out for, and you have a responsibility to your users to follow best practices.

Luckily, there’s an organization dedicated to providing you with up-to-date guidelines for how to secure your web applications. Every web developer should know about the OWASP Top Ten.

The OWASP Top Ten Application Security Risks

The Open Web Application Security Project (OWASP) is a nonprofit dedicated to promoting security on the web. They’re an awesome organization, and they do a lot of research into the threats and exploits facing modern applications.

According to the experts:


Do fast things with lots of data, but make sure you know when and why (and when not) to use it!

Wanna do something in Python with lots of data? You should learn NumPy.

NumPy is an awesome tool that you should be familiar with if you’re a Python developer, data scientist, or just somebody interested in doing things with data.

But maybe you haven’t tried to use it or have been intimidated by its apparent learning curve and differences from standard Python data structures.

In this post, we’ll take a look at NumPy, what you can use it for, when you definitely should use it, when not to use it, and why it’s so popular.

NumPy Advantage #1: Speed


Celery is a must-learn technology for Python developers

When you work on data-intensive applications, long-running tasks can seriously slow down your users.

Modern users expect pages to load instantaneously, but data-heavy tasks may take many seconds or even minutes to complete. How can we make sure users have a fast experience while still completing complicated tasks?

Enter Workers + Message Queues

If we want users to experience fast load times in our application, we’ll need to offload some of the work from our web server.

Workers

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