Java/Kotlin Internal Tools Developer
🇵🇹 Portugal | 🇪🇸 Spain | 🇦🇲 Armenia | 🇧🇦 Bosnia and Herzegovina | 🇪🇪 Estonia | 🇬🇪 Georgia | 🇱🇻 Latvia
JUnit
Management
Java
Python
C
C++
Kotlin
Docker
Kubernetes
PostgreSQL
MySQL
MongoDB
Git
Machine Learning
Design
Backend
Devops
SQL
Java/Kotlin Internal Tools Developer
from 🇵🇹 Portugal | 🇪🇸 Spain | 🇦🇲 Armenia | 🇧🇦 Bosnia and Herzegovina | 🇪🇪 Estonia | 🇬🇪 Georgia | 🇱🇻 Latvia
We’re looking for aJava/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.
We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses and identifying potential inconsistencies or verification signals in application materials based on available information. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.
apply for this job









