Java/Kotlin Internal Tools Developer
Role details
Job location
Tech stack
Job description
We're looking for aJava/Kotlin Engineerwho will develop tools and pipelines related to AI, rendering, data conversion, and similar areas.Tech stackLanguages: Kotlin, PythonCore development: Kotlin/JVM, Java, coroutines, serialization, reflection, dependency injection with Dagger3D and rendering workflows: Blender Python scripting, glTF processing, 3D model conversion, geometry/math-related tooling, scene and asset preparation pipelinesData and storage: MongoDB, SQLite, FlatBuffersInfrastructure and observability: Prometheus metrics, Sentry, CI/CD, Git, Git LFS, internal monitoring and loggingResponsibilitiesDevelop 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 knowledgeStrong 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 haveExperience 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.Examples of tasks you will be doingProcess 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.#J-*****-Ljbffr
Requirements
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.