Java/Kotlin Internal Tools Developer

Planner 5D
Municipality of Madrid, Spain
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Municipality of Madrid, Spain

Tech stack

Clean Code Principles
Java
Multitier Architecture
3d Models
API
Artificial Intelligence
Computer Vision
Automation of Tests
Profiling
Code Review
Databases
Concurrent Computing
Console Applications
Continuous Integration
Data Conversion
Serialization
Software Debugging
Dependency Injection
Linux
Microprocessors
Gradle
Java Virtual Machine (JVM)
JSON
JUnit
Python
PostgreSQL
MongoDB
MySQL
Object-Oriented Software Development
OpenGL
Performance Tuning
Prometheus
Standard Sql
SQLite
WebGL
XML
Data Logging
Data Processing
Scripting (Bash/Python/Go/Ruby)
Delivery Pipeline
Code Structure
Core Api
Backend
GIT
Kotlin
Solid Principles
Kubernetes
Sentry
Asynchronous Programming
Apache Commons
Data Pipelines
Docker

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

About the company

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 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. Talent we seek We are constantly looking for

Apply for this position