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.