Coderbook

7 things to know as a Senior Software Engineer

Are you looking for how you can take the next step in your career and move on to become a senior software engineer? This year I celebrate my 10th year of professional software engineering experience and during this long journey where I moved from being a junior web developer to becoming a senior software engineer I learned a lot of valuable lessons that I feel made me mature enough to be considered a senior member of any team.

Writing... Read more

Should I use virtualenv or Docker containers with Python?

What if you have two different projects on your machine that require two different versions of the same package with python? Normally in languages such as NodeJS or PHP this is not a problem you just write npm install --save <package> and it will install it in the node_modules/ directory in your project folder, but can the same thing be done with Python?

Python install packages with interpreter

When you install a package using Read more

How to start a Django Project with Docker

How do you setup a new Django project with Docker while following the best practices and making sure that your local development environment stay as close as possible to your production environment?

In this article I share step by step how I setup new Django projects with Docker and Docker Compose that use a PostgreSQL database instead of the standard SQLite database.

The only prerequisite you need for this is to have Docker installed on your computer.

Initiate your... Read more

How to restrict access with Django Permissions

Django has a very potent permission system that allow you to customize the access to different resources and views for each user depending on which group the user belong to, which permissions the user have, or by which specific objects the user should have access to.

This have come to use in many different projects that I’ve worked on and the use cases have ranged from restricting access to unauthenticated users, to having different types of users that should have... Read more

How to Prepare for the TopTal Interview and Application

In the spring of 2018 I was working as a senior software engineer at a medium sized technology company in Bangkok, Thailand. I didn’t really like it much, I was working there because I was taking a break from entrepreneurship for a while until I could figure out what I wanted to do next.

A colleague of mine told me that his dream was to get into TopTal. I barely knew what it was at the time and when... Read more

How to Automatically Backup Postgres to S3 and Cloud

Many modern cloud providers such as Amazon Web Services or Microsoft Azure offer managed database instances that makes it much easier to properly provision and run a database. They can help you with scaling, high availability fallbacks and backups.

Unfortunately as a DevOps engineer, life is not always this easy. You might work with a cloud provider such as DigitalOcean that doesn’t offer these type of managed services, or perhaps you or the company you work for decided to buy... Read more

8 things you need to know to become a DevOps Engineer

As web applications get more complex with the need to scale to millions of users and the need to have to deliver new features multiple times per day, the demand for DevOps Engineers have been growing like crazy within the last few years.

According to StackOverflow 2018 Survey DevOps Engineers are earning top dollar and engineering positions, being second only after the Engineering Manager position. Companies realize the value of good DevOps and there are huge opportunities for any... Read more

5 Best Practices for Running Django in Production

So you’ve created your Django application and you’re finally ready to deploy your code to your public server where you’ll be expect to get a ton of visitor coming to your website to enjoy your content. What can you do to prepare for this and make sure that your website perform as good as possible in a production environment?

I’ve personally been in this situation many times over for each and every one of the many projects that I’ve created... Read more