<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=278116885016877&amp;ev=PageView&amp;noscript=1">

, , ,

Jan 24, 2024 | 7 Minute Read

Becoming A Python Staff Engineer At Axelerant

HANUSH KUMAR, MARKETING ASSOCIATE

Table of Contents

Introduction

A staff engineer is an engineering architect within Axelerant. 

They plan and create the path for others to follow for project deliveries.

Ensure everyone and everything related to the project remain on the same page.

One might say, if a project team were a band, they would be the lead lyricist, musician, and sometimes, the singer, too. They are the rockstars of engineering.

Since learning that Axelerant was taking on a big Python project—first of its kind in India, or possibly, South Asia—I wanted to learn more about the Python staff engineer role.

And I wanted to learn it from the person responsible for hiring the next Python staff engineer at Axelerant—Bassam Ismail.

Meet Bassam—The Director of Digital Engineering

Bassam lives with his family in the majestic city of Srinagar, in Jammu and Kashmir, India.

Bassam-the Director of Digital Engineering in Axelerant

As the rest of India began enjoying the cool pleasant winds that follow Indian summers, Bassam’s hometown was already covered in snow. In fact, a snowstorm pushed our conversation back by a day.

Bassams home covered in snow in Kashmir

Bassam joined Axelerant in 2012, after working as a freelance designer in Pixoto for a few years.

Ankur Gupta (Axelerant’s CEO) reached out to me one day about an opportunity. I didn’t know anything about Axelerant at the time,” he said.

He met Aliya Khanam during the hiring process—a fellow Kashmiri who vouched for Ankur and their work.

Little did he know that this was the beginning of two relationships—with Axelerant, that would take his career to the next level, and with Aliya, who would eventually become his life partner. 

Bassam with his family

After Four Years, He Left Axelerant In 2016

“As an engineer, I always look forward to solving different problems. Applying and expanding my skill set. I had to see how other companies were doing things,” said Bassam.

It was this drive and curiosity that led him to a rather strange conversation with Ankur Gupta.

“I was honest about my intention. I told him that I wanted to try out different roles, different projects in the industry,” he said.

As a fellow software engineer, Ankur understood what Bassam needed at the time. 

“We both understood that I was coming back,” he shared. 

I started the interview with the most pricking question.

Why did you rejoin Axelerant?

Surprisingly, I found the work very similar, almost the same wherever I went.

And there was a powerful hierarchy. And a disregard for work-life balance, innovation, or people pushing beyond what is expected from them. 

Bassam early on in his career with Axelerant

There was also the cultural difference—complete remote work, a people-centric atmosphere, and empowering policies. 

It made me realize Axelerant always thought ahead of time.

Moreover, as I said, every time I left Axelerant, I always intended to learn things from others. 

Ankur and I were clear on this: I was going to return. 

It was either this or taking a sabbatical. 

I was spoiled with the flexibility to experiment with different jobs, not something you see every day.

 

 

Can you tell me about the Python project?

Basically, the project is a betting application. 

And in a betting application, you can bet on many things, like Dream 11, which is explicitly focused on cricket. 

But what we are building includes sports, casinos, racing, and more.  

Firstly, it allows for betting across several different sports and races. 

And on top of that, what we are building is not a single application. 

It's a code base that will allow you to spin up multiple of these sites. For reference, we can take Shopify.

You go to Shopify, sign up, and have your own store. It's very similar to that.

It's a massive project with an equally massive scope. 

Click here to apply for the Python staff engineer role at Axelerant

Does this project allow customers to start their betting websites?

Yeah, and these betting websites will be configurable. 

Customers can choose which games and genres to build their betting websites on.

It's up to them whether one wants just sports like cricket, soccer, rugby, or casinos, or a combination of genres. They will be charged a fee for it. 

But on our end, we need to build a scalable platform.

Let's say we are hosting ten websites, each with 20,000 active visitors.

That's around one-fifth of a million.

Tomorrow, instead of ten, we may have 100 websites. That would take the number of active users to 2 million (or 20 lakhs).

What regions are we targeting at first for the application?

At first we are going to target South Asia.

Because this type of an application hasn’t been done yet over here. So, we’ll have significant leverage in the market.

What type of skill set are we looking for in the staff engineer?

What we are looking for is experience building highly scalable systems.

Systems that can easily grow based on traffic—that already have a lot of traffic and a lot of active users. 

These are the primary metrics for us.

The application will first start attracting customers—or, as we call them, white labels.

Each white label will bring in its active users. 

So, with each white label, the application must grow to accommodate thousands of active users.

What type of technologies would we use in this project?

Since this is a staff-level role, the staff engineer is expected to architect the whole system—a continuous, evolving process.

Building large, scalable systems that can handle a lot of traffic should be their core area of interest.

For this project, we’re using Python along with FastAPI to ensure the maximum performance of the application. The microservices architecture is adored for its fault tolerance and ease of deployment, and we haven’t failed to leverage this architecture to shape this app.

So the project involves deploying multiple code bases as opposed to the single codebase architecture.

All these deployments happen on AWS, and to manage and orchestrate these services, we use Kubernetes on AWS EKS.

Also, engineers don’t have to manually provision the infrastructure as we use TerraForm for automation.

Another primary piece is the database—we're using Postgres in a dp-per-service fashion. We're using Redis as the caching system, and AWS ElasticCache to manage Redis.

Since the project is still in its early phase, we’ll be leveraging AWS Services such as SNS, SQS, or Kafka and a time series database from AWS. 

I do understand that not all professionals have expertise in the exact technologies we use.

If potential engineers don't have FastAPI experience, anyone with a Python background should be relevant as long as they have worked with Postgres as it is the go-to DBMS in many cases.

Also, if the engineers do not have experience in AWS, familiarity with Azure or GCP works. Other than that, they should have experience with either Flask or Django as they are the leading Python frameworks used worldwide.

What type of responsibilities would the Python staff engineer have?

The staff engineer's primary focus would be to understand the business requirements. 

Not just a specific business requirement, but the whole business requirement. 

What is the problem that the business is solving? 

It's building a platform to allow users or sort of proprietors to launch white labels for betting and the traffic would be significant, especially around international sporting events. 

They should have this high-level picture, because based on this picture they have to architect the system. 

What does it look like on a granular level?

On a day-to-day level, the staff engineer will work with a product manager and a project manager. 

  • They will come up with work worth two weeks, which we call a sprint. They need to ensure that the work done in these two weeks is demonstrable to the client, it's solving a very specific feature of the product. And it's done in the right way. 
  • Every time somebody makes an increment in their work, they usually raise a pull request on GitHub, they have to review the code, they have to give them feedback. 
  • If required, they have to work with the developers and figure out whether certain problems are solvable or not. Or if there's a different approach required. 
  • And finally, collaborating with the end client. 

The technical staff engineer has to go through the client requirements, understand them, clarify doubts, get all the references, and then come up with our architecture based on those requirements.

And then also talk to the developers whether everything is feasible and develop level or not.

What type of compensation are we looking at?

We actually started with INR 4 million (40 lakhs) per annum. 

But given the current market rate, we are willing to go up to 6 million (60 lakhs) INR. Maybe even this might be insufficient to hire the kind of person we want to hire for the role. 

We are keeping our stance flexible in this case, because this project will be highly beneficial for Axelerant.

That's the case with digital engineering projects, the profit margins are higher than other types of projects.

And the staff engineer's role won't be limited to this project only. 

What would be their impact at Axelerant?

The role of a staff engineer is unique. 

They typically don't work as individual contributors and write code daily.

Their workload can vary depending on the project—some might require their presence for an extended period, while others, an hour or so a day.

And their impact will be across multiple projects, not just one.

The staff engineer within the Digital Engineering team will help us work on many projects, which means a lot of profitability for Axelerant because digital engineering projects have greater profit margins than our other projects.

Their efforts will help Axelerant grow, and we will be able to try out new and exciting things down the line.

How do you ensure work-life flexibility in the team? 

There isn't a unique answer to this. 

At Axelerant, work-life balance and flexibility are given significant importance. Much more than I've seen in most other places.

Bassam out with his team members in a fine winter day

Even now, though we're running late on the project timelines, especially from the backend side, we don't push people to work more than eight hours. 

And we have never done that. Never. 

We only like people to be accountable for their work. And that's it. 

The expectation is that you will be working 40 hours a week. 

You're working more only if that is what you want to do. 

But we'll still recommend that you just work 40 hours a week. And we're bringing this number down to 35. 

We want people to take breaks. Go on vacation. 

 

 

We only ask that you give us a decent heads-up so that we can plan our work accordingly.

Bassam and the Kashmir team

Why should someone join Axelerant as a staff engineer?

From a technical standpoint, you will be solving a lot of challenging, complex problems that have yet to be solved within India. 

 

 

We don't have a betting platform that does something like this. 

This application is like a SaaS (Software as a Service) for betting. This would be one unique problem set for someone to solve. And that would give them serious leverage in their career. 

Then there is Axelerant's culture. 

 

 

Look at the thought behind our empowering benefits for team members

The benefits might change, but the thought behind it would be the same—because that people-centric attitude is what matters.

And one has a lot of growth prospects here.

You get to define your own career based on the efforts you put in.

Click here to apply for the Python staff engineer role at Axelerant
About the Author
Rohit Ganguly, Content Marketer
About the Author

Rohit Ganguly, Content Marketer

Rohit is a content marketer first and a YouTuber second. He loves to interact with animals, feed them, clean his apartment, and spend time with friends and family. Curious by nature, he also enjoys literature, movies, meditation, and calligraphy.


Hanush_img

Hanush Kumar, Marketing Associate

Hanush finds joy in YouTube content on automobiles and smartphones, prefers watching thrillers, and enjoys movie directors' interviews where they give out book recommendations. His essential life values? Positivity, continuous learning, self-respect, and integrity.

Back to Top