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 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.
We are constantly looking for 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 Engineer who will develop tools and pipelines related to AI, rendering, data conversion, and similar areas.
5+ years of job experience in Java development
Knowledge how to write clean and maintainable code (best practices, TDD, design patterns)
General understanding and knowledge of the Java ecosystem (frameworks, libraries, services)
Experience with Kotlin
Solid SQL knowledge (SQLite, MySQL, PostgreSQL)
Multi-threaded development experience - threads, coroutines, Rx, Java streams
Supporting technologies - REST, JSON, XML, HTML, Git
Knowledge of Linux, common tools, and it's ecosystem
Fluent in English
Develop new features and maintain console applications and utilities
Research into current and upcoming technologies like AI, big-data, 3D, media formats, etc.
Write maintainable, high performance and high quality code using best practices, SOLID, tests, code reviews, clean architecture, etc.
Communicate within the team to clarify complex technical questions and collaborate on solutions.
Work with development processes and tools like SCRUM, Jira, Git, IDEs, etc.
Write Java, Kotlin and Python code when needed
Prepare code and prototypes from AI researchers for production use
Continuously learn and improve your skills (with support from teammates whenever needed).
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.
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
Love what you do: We're looking for team members who truly enjoy their work and bring that enthusiasm to the team every day.
Tech geek at heart:If coding, experimenting with new software tools, or curious abouttech trends is your thing, you're speaking our language.
Withsolution-oriented mindset: When you are faced with challenges, you start thinking of possible solutions instead of dwelling on the problems.
Have tech hobbies? Yes, Please!: programming, micro-controllers, 3D printing, physics, mathematics, etc.
Team Player Who Gets It: We value team members who can grasp tasks quickly and communicate their ideas effectively – teamwork makes the dream work!
What we offer:
