Position: Back-end Python/Django Developer
Company: Orbit IT Recruitment Agency
Experience required: 3y
Category: Python
English level: intermediate
Published: 2021-10-01T00:00:00+03:00

**STACK**
- Python 3 / Django
- Nginx
- PostgreSQL
- Celery
- RabbitMQ
- SQS

**MAJOR REQUIREMENTS**
We expect you to have a solid backend foundation. You, of course, do not need to be an expert in everything (nor we consider it possible), but you have to have a good grasp on what's going on on the backend in general, beyond Python and Django. Here are three random examples:

- You might not know all the pitfalls of sharding and replicating databases, but you should be aware such things are possible and be ready to explain why they exist;
- As well as you don't need to know the intricacies of threaded or asynchronous code, but need to have a general sense of when you might need these;
- You should understand what's Nginx and how it interacts with Django, even though it's totally fine if you're unable to configure Nginx yourself. 

And so on. In other words, we expect you to have a T-shaped set of skills, with Python and Django being your favorite tools, not the only ones you know. The broader your views on programming and the less you lock yourself in the language and framework - the better for us.

It's also important, that we do not have such excuse to avoid refactoring as a technical debt backlog and managers that wouldn't prioritize its tickets. The judgment on whether something should be refactored or not is made by the developers alone, and whenever any of these lags behind, the developers have no one to blame except themselves. So what we expect from you on this matter is to know how to refactor and be ready to make the judgment on whether the refactoring is needed.

**ABOUT COMPANY**
We're a product company, working on one of the best note-taking apps in the world. We pioneered the market 10 years ago as a two-person startup and evolved into a well-established company throughout the years.

**INFORMATION ABOUT THE TEAM**
We hire only if there is a real need, so you'll find a tight coherent team, where people get along, have fun and trust each other.

Your opinion will matter and the opinion of other developers, so you can expect constructive debates on various topics.

There is no elaborate management hierarchy and we watch closely that there are no communication barriers between anyone.

**BENEFITS**
We'll propose a *highly* competitive salary for the Ukraine market, should your skills match our requirements.

Paid vacations, sick leaves, days off for personal business, etc. are, of course, included.

**WORKPLACE**
We trust you to manage your time in whatever way you think appropriate and don't care if you're online during your working hours or how long it takes for you to reach for a message. There is no time-tracking software, no daily reports, no "no commit no work" or such. We simply assume that you do your best and evaluate the results of your work, not the way you work. Besides, we keep Extreme Programming philosophy close to our hearts and here you'll find:

- A complete CD pipeline with your changes delivered to real users every day;
- No arbitrary test coverage percentage, but rather heavy investments into testing and debugging tools;
- Trunk-based development with all code constantly integrated - merge conflicts are extinct species in our lands;
- No "technical debt backlog" for "later", but developers deciding on the spot if something needs refactoring.

**TECHNOLOGY**
WorkFlowy is a classical single-page application, split into a client and an API.

The backend is written on Python 3 / Django, PostgreSQL, Celery, RabbitMQ, and SQS, with some parts of the logic handled by microservices. Besides the API, the backend contains a set of internal tools for marketing and support.

The client is written in TypeScript / React, with a few (a million) sprinkles of jQuery. It's a hybrid application, that works on the web by default, and is wrapped into Capacitor for the phones and Electron for desktop.

The pipeline is managed by Drone CI, which runs the tests and deploys it all on AWS with Docker.