Posts

Showing posts with the label Engineering

Customizing Sanic's Logging output on Gunicorn

For those of you who didn't know, Sanic is a Python 3.6+ web server and web framework that’s written to go fast. It allows the usage of the async/await syntax added in Python 3.5, which makes your code non-blocking and speedy. Sanic's API is highly influenced by Flask and the API is really good. I worked on a personal project lately and found out that doing custom logging on Sanic is quite hard. You don't get a lot of information from Sanic's logging library and since it's based on the default Python 3 logging library , the information it provides is limited. My initial thought was since I will use Gunicorn, let's use Gunicorn's --access-logformat to get the information I needed. The functionality provided a lot of information and I can make use of it to get what I need. However, when you use Sanic Gunicorn Worker, which you need to use to make it work on Gunicorn, it will only use Sanic's logging output. I did a lot of googling and it seems like a lo...

My Take on The 10X Engineer Myth

Image
Lately the tech landscape is discussing a lot about the 10X engineer myth. It has always been a very interesting point to discuss. What makes a 10X engineer and where to find them? What’s my take on what makes a 10X engineer? Let’s see in details how I see it. No I don’t see Rambo as the ideal 10X Engineer. Based on my own experience, a 10X engineer is that team member that is able to perform to his maximum abilities. The engineer enables other team members to be as effective as possible in unlocking the team’s value. Here are some values that describes a 10X engineer. First, the engineer understands what he knows well and is well aware of the areas he needs to improve. The engineer should be able to understand the problems he’s trying to solve by applying his knowledge or by asking the right questions to gain as thorough understanding of the problem. A good understanding of the problem will leads to a more effective problem solving. Second, th...