It’s python.

There is plenty of similar articles on the web, but I just thought that I can add my perspective on the topic, and make the “tricks” list more complete. The code fragments used here are somehow crucial to my workflow and I am reusing them over and over again.

Sets

It’s often the case that developers tend to forget that python has set datatype and trying to use lists for everything. What is set? Well, long story short:

A set is an unordered collection with no duplicate elements.

If you get familiar with sets and their logic it can solve a…


Patterns to avoid in your Django code bases

Some mistakes are fatal.

I am old enough to remember working with version 1.3 of the Django framework. It was 2011 and I was just getting started with professional web development in the Python ecosystem. Later, the framework matured (it’s already 3.2), and I matured as well. During this time, I probably worked on more than 50 projects where Django was used as the main framework. That’s because it’s a good framework that enables developers to deliver features faster, with good tooling, ORM, and a really great community.

Nevertheless, I am still finding solutions in Django-based code bases that are simply bad or unacceptable…


Image by author: waste is a frustrating thing.

Lean thinking reduces waste and focuses on the essentials.

The quote mentioned above comes from Scrum Guide because reducing waste is essential for the Scrum framework. Nevertheless, in my opinion, we should avoid waste in all circumstances, no matter if you are a Scrum acolyte or an opponent. In this article, I would like to focus on the types of waste in software development and try and present techniques to minimize it. Please keep in mind that reducing waste to zero is impossible, yet we should try to reduce it to the minimum.

Types of waste

To minimize the waste first you need…


10 commandments of programming

The enlightenment fire. (Picture by author)

1. You will pick one programming language

You will learn and master one programming language, you will stick to it, and you will claim things like: “Java is faster than Python”, “C is the best programming language”, can be applied to other tools and services too: “MySQL is much better than PostgreSQL”, “Vim is the best IDE out there”, “Why you should pick AWS instead of GCP”.

2. Thou shalt have no other programming languages before one

You will stay closed in your stack, without the will to understand other perspectives. You will develop bad CRUD applications, and let the front-end developers handle your mighty skill. …


Image by author

Introduction

The AWS Route 53 service is a DNS — Domain Name System, which means in simpler words means that you can manage your domains there and in the AWS ecosystem it’s awesome (and even outside the ecosystem it’s still pretty useful) — which I will describe a little bit later.

I like how the icon and the name of the service refer to the famous Route 66, you only need to jump onto your Harley and go with the flow — so American way of living.

Pricing

Pricing is always interesting for us, users — and as with many of the…


Image by author.

Introduction

In the world of hub.docker.com and quay.io, you can ask yourself why you should use the AWS Elastic Container Registry (ECR) and the most important answer is the pricing structure of those services.

On the docker hub in the free tier, you can not have private image repositories, on the quay, there’s no free tier, and the first one costs $15 a month. On the AWS on the other hand, the registry in most cases is almost free of charge even for quite impressive infrastructures.

The pricing model is this: $0.10 per GB stored per month, plus costs related to…


4 tips to boost your software development journey

Image by author.

Today, I will share with you some important tips for the beginning of your programming career. To put things in context, I have more than ten years of experience in the IT industry. I have hired, mentored, and fired people. In my career, I have worked for U.S.-based and EU-based startups.

The funny thing is that I was born in the middle of Poland when the IT market in my country did not exist at all (or rather it was really specialized). I had no idea that I would end up as a software engineer, but I definitely used the…


Loading huge amounts of data to a database just got easier

Pixelated character over an orange backdrop
Pixelated character over an orange backdrop
Image by the author.

Problem Overview and App Configuration

It’s often the case that you want to load the data into your database from a CSV file. Usually, it’s not a problem at all, but there are some cases when performance problems can occur — especially if you want to load a massive amount of data. In this case, “massive” means a CSV file that has 500MB to 1GB of data and millions of rows.

In this article, I will focus on a situation where using the database utilities to load CSV files is not possible (like PostgreSQL COPY), as you need to do a transformation in the process.


More hammers or more nails?

For those of you, who are not aware of what celery is, let’s do a quick introduction.

Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system.


Goal-setting sessions and status updates aren’t really scrums

A certificate. Image by author.

I was frustrated, simple as that. In my lifetime, I had worked with multiple companies that claimed that they’re doing Scrum, but in reality, what they were doing was nothing close to Scrum. I think this is one of the main reasons why, generally speaking, Scrum has a poor reputation in the engineering community. (That’s my experience; share your thoughts if it’s different for you.)

I decided to learn and understand the theory behind Scrum to have the ammo for the discussions around what’s Scrum and what’s not. …

Sebastian Opałczyński

Software engineer, technology enthusiast, common sense lover, serial co-founder, and a father of two.

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