Showing posts from October, 2020

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

Lessons From Leading and Developing Product Engineering Teams - Part 2

In my previous post I explained the first part of of my experience. I covered about trust, team empowerment, and direction clarity. In this post, I’ll focus on people aspects.  If you missed part 1, you can read it here. #4 - Take care of your people Your team members are your partners in achieving your goal. You should not see them as someone from a lower position. Instead, see them as people having different roles and skillsets. Learn from your team as your team will also learn from you. Grow collective wisdom. Read into each other’s mind and understand how to work best with each team members. The collective wisdom in a team is the one that will drive the team forward. Embrace it, and foster the development of the collective wisdom. The question that is usually asked would be How do I take care of my people? I’m from Indonesia, and here we have a saying "Tak kenal maka tak sayang" It means if you haven’t known someone, you can’t care about them. That, my friend, is exactly

Lessons From Leading and Developing Product Engineering Teams - Part 1

The WFH period gives me extra time to think and reflect back on the lessons I’ve gained throughout my 15+ years career. I spent most of it leading others and I've gathered a lot of practical knowledge. I want to share it to help others learning to take up leadership. So, here are some important lessons about leading people based on my experience. It's a long read, so please bear with me, I'll split it into 3 parts. #1 - It all starts with trust Hire people you can trust. This brings a world of difference to the team dynamics. On every interview, I always ask myself the following questions. Can I trust this person? Will this person help the other team members? When I am confident to hire someone, it means that I trust that person enough to work with the other team members. The mindset I establish would always be Trusted, until proven otherwise. I mean, why would you even hire someone you can't trust? I've seen a lot of people hiring people but are too afraid to trust