Java/Kotlin Internal Tools Developer
Role details
Job location
Tech stack
Job description
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
Requirements
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 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 ba