Author
This is some text inside of a div block.
Last Updated
This is some text inside of a div block.
Editorial Transparency
This is some text inside of a div block.

Java/Kotlin Internal Tools Developer

About us:

Planner 5D is a global hub for home design, uniting over 100+ million users in 230 territories around our planet (yes, we have 2 users connecting from Antarctica each month!). Our platform simplifies the home renovation process from concept to execution, and this process has never been more straightforward with our cutting-edge software. You don't need to be a professional designer to enhance your home or workspace. We are dedicated to streamlining the design experience, making the customization of dream homes accessible to everyone.

Our cross-platform presence spans Web, iOS, Android, Windows, and MacOS, ensuring seamless synchronization for our users.  Planner 5D is more than just software; it's a vibrant community of enthusiastic and product-oriented professionals. From diverse backgrounds, our team collaborates across time zones, fueled by a shared passion to revolutionize the home design market.

We are constantly looking for like-minded talent eager to take ownership and drive innovation within our expanding suite of tools. Join us in shaping the future of home design.

We’re looking for a Java/Kotlin Engineer who will develop tools and pipelines related to AI, rendering, data conversion, and similar areas. 

 

Our tech stack:

Languages: Kotlin, Python

Core development: Kotlin/JVM, Java, coroutines, serialization, reflection, dependency injection with Dagger

3D and rendering workflows: Blender Python scripting, glTF processing, 3D model conversion, geometry/math-related tooling, scene and asset preparation pipelines

Data and storage: MongoDB, SQLite, FlatBuffers

Infrastructure and observability: Prometheus metrics, Sentry, CI/CD, Git, Git LFS, internal monitoring and logging

Responsibilities:

Develop and maintain Kotlin/JVM-based backend tools, console applications, utilities, and automation pipelines;

Develop and support Python-based Blender rendering pipelines, including scene processing, automation and production rendering workflows;

Work on platform components for preparing catalogs, launching processing pipelines, converting 3D models, and supporting internal production workflows;

Build and maintain tooling related to 3D content processing, geometry, scene preparation, wall generation, model conversion, and other math-heavy tasks;

Research and evaluate current and upcoming technologies related to 3D, rendering, media formats, data processing, and production automation;

Write maintainable, high-performance, and high-quality code using best practices, SOLID principles, automated tests, code reviews, and clean architecture.

Required knowledge of:

Strong experience with Java and/or Kotlin on JVM;

Practical experience with Python, willingness to work deeply with Python-based Blender rendering pipelines;

Good understanding of JVM ecosystem: Gradle, dependency management, modular code structure, debugging, profiling, logging, and performance optimization;

Solid SQL knowledge (SQLite, MySQL, PostgreSQL);

Good understanding of object-oriented programming, SOLID principles, clean architecture, and maintainable code design;

Ability to work with math-heavy, data-heavy, or algorithmic tasks and turn them into stable production solutions;

Ability to write clean, reliable, high-performance code and cover critical logic with tests;

Knowledge of Linux, common tools, and Linux ecosystem;

Fluent in English.

Nice to have:

Experience with Python, C / C++ languages;

Experience with popular libraries like Spring, Dagger, JUnit, Apache Commons;

Understanding of 2D / 3D technologies and software (for example OpenGL, WebGL, Raytracing, Blender);

Understanding of Mathematics, Geometry, Computer Vision;

Understanding of Kubernetes, Docker and nearby technologies.

Several example of tasks you will be doing:

Process data from APIs, databases, JSON, XML, and other sources;

Transform assets (images, 3D models, videos, etc.) into different formats;

Import and export of 2D/3D data from and to .dxf/.dwg/.blend formats;

Write a Blender plugin to load data and provide additional modeling functionality;

Write high performance code using CPU and GPU to the max (using parallel, concurrent programming like coroutines, threads, Rx, promises, futures, etc.);

Build processing pipelines, where multiple threads are used to max out CPUs and do lots of different processing on multiple threads/coroutines/Rx/java streams/etc.

What we offer:

  • Great work environment that balances freedom and responsibility
  • Our team is made up of friendly and passionate enthusiasts who are eager to help and share their knowledge
  • We believe in work-life balance, so you'll receive around 30+ days of paid holidays per year
  • Company computer equipment by request
  • Education courses for our team members, and we're willing to allocate funds toward your training expenses
  • English classes on our corporate platform
  • Offline company events in Lithuania and online team-building
  • Unlimited free Planner5D subscriptions

About Planner 5D

An AI-powered home design platform that enables users to create detailed 3D floor plans and interior designs.
Create an account to apply