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

Image for post
Image for post

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 know the book or at least some of its contents. …

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.

Image for post
Image for post

(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]


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

Image for post
Image for post
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 pages which are generated by a web application. …

Adding Vue to your Django app is pretty easy!

Image for post
Image for post
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 page that needs to share data and re-render often when the user interacts with it, then you probably have a use case for a JavaScript framework, and Vue is a great choice! …

Image for post
Image for post
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 it makes code easier to understand, and code that’s easier to understand is easier for the next developer to…

Image for post
Image for post

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:

Using the OWASP Top 10 is perhaps the most effective first step towards changing the software development culture within your organization into one that produces more secure code. …

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

Image for post
Image for post
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

Image for post
Image for post
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.


Peel back the layers to become a great developer

Most people who are new to coding (and perhaps most developers, period) have a poor understanding of the work that went into the foundation beneath today’s complicated applications.

In this post, I’d like to argue that understanding fundamentals is key to building new things. I’ve argued this point before, in my most popular (and controversial) Medium post.

Image for post
Image for post
Abstract away the details…

Don’t get me wrong. I’m not telling you that you should write assembly, build a compiler, or design your own OS from scratch.

But I will say that understanding the core concepts of computers and how they work will take you much farther than just understanding a single language, web framework, or library. …

Image for post
Image for post
It’s rough out there, but it doesn’t have to be so bad

Blasting your resume out to hundreds of companies is soul-sucking, demoralizing, and largely ineffective.

But in the current job market, it can be difficult to find other ways to find opportunities. This is especially true if you’re new to the industry, recently graduated, or trying to relocate to a new city.

I’m currently starting a new job search in New York City, and I want to take as much pain as possible our of the process. So, I’ve spent the past few days reading dozens of stories from other developers about how they landed their dream jobs. …


Bennett Garner

Top writer in Technology | Django/Flask backend dev | Python/C/JavaScript

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