Crucible Quick Contact

Please feel free to contact us with any question you might have. We are confident that we can be the right choice for your recruitment effor

icon_widget_image Monday-Sunday Available 24/7/365 icon_widget_image Vatroslava Jagica 5, 11050 Beograd, Serbia icon_widget_image +381638401554 icon_widget_image office@cru.rs

Python Software Engineer

Location: Belgrade, Serbia

Hybrid: Belgrade candidates 2 days a week from office, Novi Sad 1 day and 1 day a month for other locations. 

Employment Type: Full-time , classic contract (preffered) or B2B.

Project Duration: Long-term

About the Role

We are looking for a Python Software Engineer to join a team developing a specialized software platform for the global wind energy industry.

The platform combines engineering requirements, scientific datasets, and geospatial information to support feasibility assessments and cost estimation for wind farm development. The product currently focuses on onshore wind projects, with offshore capabilities planned for the future.

This is a technically challenging engineering product where software meets scientific and physical modelling. As a result, engineers are expected not only to implement requirements, but also to understand the underlying problems and contribute to finding reliable technical solutions.

The platform is actively evolving, with ongoing modernization and stabilization work. You will work closely with international engineering and business stakeholders, using English as the primary language of communication.

What You’ll Be Doing

  • Design, develop, and maintain Python backend services and APIs
  • Build new features and improve existing application components
  • Translate business and engineering requirements into robust technical solutions
  • Work with relational databases, data models, and schema migrations
  • Write clean, maintainable, and well-tested code
  • Develop and maintain automated unit tests
  • Work with cloud-based and serverless technologies
  • Process scientific, engineering, and potentially geospatial datasets
  • Participate in technical discussions, estimations, and code reviews
  • Collaborate with international engineering and business teams
  • Contribute to the modernization, optimization, and stabilization of an existing platform

What We’re Looking For

  • 3+ years of professional experience in backend software development
  • Strong hands-on experience with modern Python
  • Professional experience with a Python backend framework such as FastAPI, Django, or Flask
  • Experience working with relational databases, ORM concepts, and database migrations
  • Good understanding of automated testing, particularly pytest or a comparable framework
  • Experience designing and working with REST APIs
  • Understanding of service-oriented backend architectures
  • Familiarity with Docker/containerization and CI/CD practices
  • Strong analytical and problem-solving skills
  • Ability to independently take ownership of backend features
  • High standards for code quality and maintainability
  • Good professional English communication skills
  • A responsible and critical approach to using AI-assisted development tools

Nice to Have

Experience with some of the following would be considered an advantage:

  • Azure Functions, Durable Functions, or other serverless technologies
  • Pydantic, SQLAlchemy, Alembic, or PostgreSQL
  • NumPy, pandas, SciPy, Xarray, or similar scientific data-processing libraries
  • GeoPandas, Shapely, PostGIS, or other geospatial technologies
  • Infrastructure as Code and cloud deployment workflows
  • Renewable energy, power systems, industrial engineering, or other engineering-focused domains
  • GitHub Copilot or similar AI-assisted development tools

What You Can Expect

  • Long-term engagement on a technically challenging international product
  • Hybrid work from Belgrade
  • Direct collaboration with international engineering and business stakeholders
  • Opportunity to work on software combining backend engineering, scientific data, and engineering modelling
  • A role with meaningful ownership and involvement in technical decisions
  • No on-call or shift work
  • Professional and collaborative engineering environment

Recruitment Process

  1. HR Interview
  2. Technical Interview
  3. Hiring Manager Discussion
  4. Offer