Backend Junior Developer (Python)

Red Black Tree is an entirely Serbian software company with over nine years of experience in the industry. Our offices are located in Belgrade and Čačak, with approximately 40 team members at the moment.

Our focus is on software development, mostly for clients in the USA, Europe and Asia. We’ve been dedicated to quality assurance, meeting deadlines, professionalism and personal progress. We are a team that provides more than it's promised - whenever it’s possible, which is the case most of the time. That’s how we have acquired high-quality collaborations and long-term projects which provide us with stability.

We value a friendly and positive environment - that’s why we put an extra effort into keeping everything exceptional, from relations with co-workers to the office equipment.

Technologies are carefully selected based on the project requirements. Those are mainly complete systems, which include Mobile apps, Web applications, Backend APIs, databases, containerization and Cloud, which will help you acquire a broad and high-quality knowledge base. We’re not afraid to adapt to modern technologies, just like we did with e.g. Angular, React, Vue.js, as well as .NET Core, Elixir, Kotlin, Python and others before they became widely used and popular.

If you love programming and want to excel at it - let us know! We are always on a lookout for talent to join us.

What we provide

  • Dynamic and challenging end-to-end projects.
  • New technologies in action.
  • Experienced seniors to work with.
  • Defined career path and mentorship.
  • Possibility to switch projects and technologies.
  • Developer-centric, macOS-dominated environment.
  • Full-time employment.
  • Hybrid working model.
  • Flexible working hours.
  • Competitive salary.
  • Additional paid vacation days.
  • Private health insurance.
  • Paid sick leave.
  • Additional support for new parents.
  • English language lessons.

Projects

More about the project

We are developing a secure, inclusive and flexible online therapy platform. It was built to provide improved access to mental health professionals, through an affordable, simple-to-use video conferencing platform that takes the hassle out of organising a practice with marketing, bookings, reminders, billing and collections taken care of. A hand-picked team of counsellors and psychiatrists offer their services to both the general public and to institutional clients ranging from Universities to businesses (such as AXA, the second largest insurance company in the World) to public sector bodies (such as the NHS, National Health Service).

Our small but powerful team steered full system design and specification, provided consulting, software development, DevOps, and other IT services in the past two years.

We have built the whole system from scratch using Python, Flask, Postgres, Vue.js, Nuxt.js, Docker, Terraform, and AWS Cloud.

As the user base, functionalities, and the expansion plans grow rapidly, the team has to expand too - which is why we would like to hear from you!

More about the project

We are a team of a dozen people, developing a complete software system for a US non-profit, iMentor. Because we know that while talent is equally distributed, opportunities are not, RBT partners with iMentor for the last 4 years in their fight to give every young person a fair chance to graduate college by matching every student with a committed college-educated mentor. Together, we help students in over 50 high schools and 14 cities across the US to fulfill their potential.

The Platform is used by mentees and mentors to communicate, work together on lessons that prepare them for college, and let iMentor's program managers to supervise thousands of pairs. Our team focuses on design, development, and maintenance of the iMentor platform.

We have built a cloud based SaaS from scratch, with a backend written in Python and Flask using Docker, that queries Postgres, Redis, and MongoDB, and presents using Angular, Swift, and Kotlin.

We're looking for developers who can understand and describe technical tradeoffs, think creatively about paying down technical debt while simultaneously delivering beautiful solutions, and want to change the world for young people.

What we look for

  • University degree in computer science (or equivalent).
  • At least 1 year of experience in Python development.
  • Experience with relational and NoSQL databases.
  • Experience with building REST APIs.
  • Experience with Linux/Unix operating systems.
  • Experience with code versioning tools (Git).
  • Experience working with Cloud Computing Services (Azure, AWS, or GCP) is a plus.
  • Experience with Flask is a plus.
  • Experience with microservices or service-oriented architecture (SOA) is a plus.
  • Experience with distributed systems is a plus.
  • Experience with Kafka is a plus.
  • Experience with Docker is a plus.
  • Proactivity and self-determination in every aspect of work.
  • Readiness to learn new skills and grow with the company.

If interested

Usual way: send your CV to jobs@rbt.rs.

If you’re in a rush: call +381606865002 (Marijana Kezunović, HR Assistant).

Selection process

  • The selection process consists of three interviews, conducted in Serbian, two tests and an assignment.
  • The whole process is organized remotely.
  • Each step in the process can lead to disqualification.

Initial Interview (30 minutes)

  • Initial Interview is conducted by the HR and one or more Team or Project Leaders.

Tests (45 minutes)

  • After the interview, the Candidate takes tests on logical reasoning and English language.

Assignment (Candidate proposes an estimate)

  • After the tests are done, the Candidate is provided with an assignment.

Technical Interview (30 minutes)

  • Technical Interview is conducted by one or more Team or Project Leaders and in the presence of HR.
  • The Candidate is questioned about his/her technical knowledge and skills, professional interests, tools and techniques used in previous work, and other relevant experience.
  • The Candidate is provided with relevant information regarding the project and opportunities for learning and professional development.

Final Interview (30 minutes)

  • Final Interview is conducted by the Team or Project Leader and HR.
  • Final Interview topics cover mutual expectations and conditions of employment.