Learn how to write your own framework in Python!

You'll learn how to develop your own Python web framework to see how all the magic works beneath the scenes in Flask, Django, and the other Python-based web frameworks.

Jahongir Rahmonov

I'm a Software Engineer at Delivery Hero. Avid reader. WIUT graduate. Blogger and an amateur speaker.

I write about Python, Django, Kubernetes and sometimes something non-technical.

Welcome to my corner

Sun 25 February 2018

How to become a senior software developer

You have been a junior or a middle developer for too long now. You feel like you deserve more. You feel like it is time to grab life by the balls and rise up the career ladder. Well, congratulations! You are so lucky to be reading this blog post because I am about to reveal a secret ingredient I used to become a senior software developer. This is a unique ingredient which no one else is aware of and which will skyrocket your career in no time. But I warn you! This is not an easy feat to accomplish. Ready? Let's go.

The Secret Ingredient

First, you need to get the following four things:

  1. A drop of a virgin's blood
  2. Vibranium from Wakanda
  3. Some twigs of yew that were broken off during a lunar eclipse
  4. A strand of Steve Harvey's mustache

Mix them up and drink the result on the third Sunday of every month for the next 3 months. Right after your first intake, you will start feeling that your coding abilities start to improve. You will immediately start coming up with algorithms to solve NP-complete problems and who knows? Maybe you will be receiving your well-deserved Nobel prize pretty soon.

Wait, what?!

Just kidding, just kidding. But if you have managed to get some vibranium already, let me know. I will buy some. I am dead serious!

On a serious note

Before I get started with my advice, I want you to understand the following things first:

  • "Senior" does not mean that you are a super skilled developer or a 10x ninja. It does not mean that you are the best in the team. It simply means that you have a little more responsibilities than others. It means that your management will talk to YOU, not somebody else, if they have questions or feedback about the things you and your team are responsible for.

  • If you are a senior in your current company, it does not mean that you will surely be a senior in another company. I hate to tell you this but you can even go down to become a junior somewhere else before the company can trust you enough to give you more responsibilities.

  • The following is only my experience. Some of the points may not apply to you. But I am sure they do.

"Goddammit, tell me how to become a senior developer already!" I hear you say. Okay, okay. Calm down. Here it is, in no particular order:

  • Take responsibilities and execute. This is the most important advice I can give you. Other points are derived from this in one way or another. So, if you learn one thing from this post, this should be it. Take on more responsibilities. When talking to your management or colleagues or in meetings, there will be many questions of "Who will do X or Y?". Raise your hand and volunteer to be responsible for those X and Y. Most importantly, do what said you would do and when you said you would do it.

  • Always go an extra mile. This one should be obvious. You have a task. Do it well and do it on time. Good job. But this does not make you stand out from the rest. Others are doing their tasks on time as well. That's why try to do something extra. For example, you have a task of automating the deployment pipeline. Do it so that there is zero downtime between deployments even if it is not required. How cool would that make you look? The answer is "very cool". But make sure that you do what's required first and only then do the extra stuff. I don't want your colleagues emailing me saying you are trying to make everything perfect and thus running late on other tasks.

  • Be a problem solver. Again, when talking to your colleagues you will often hear them say something like "It is very hard to look through the logs because all of them are in different places and not visually attractive" or "It is very hard to deploy our microservices now". This is exactly what happened in our company. What did I do? I went ahead and set up Graylog to solve the first problem and migrated our services to Kubernetes to solve the second problem. Of course, it took months to do it but it was very worth the effort.

  • Be continuously learning. Well, this is a must in our industry and very obvious. Be a go-to guy for some specific subjects.

  • Market yourself. This is very important as well. If you are doing an awesome job but nobody knows about it, it is not any good for you. You did something cool, just let your colleagues know by sending a small message in a slack channel or an email. Better yet, let the whole world know about your experience by writing about it in a blog or giving a talk in a tech meetup or conference.

  • Be likable. Be a guy who others want to get a beer with after work. You are not truly a senior if others don't like you.

  • Be a mentor. You do everything I mentioned above. Great! But this one will make your "seniority" official. Get a junior developer under your wings. Teach him everything you know and this will pay off big way.


This has worked pretty well for me. I hope it does for you too. Now go ahead and start thinking about how you can implement these things in your own workplace.

P.S. I believe these things can be applied to any job, not only a software developer.

Thanks for reading.

Fight on!


If you liked what you read, subscribe below. Once in a while, I will send you a list of my new posts.