Planner 5d

Internal application developer (Java / Kotlin)

Job Description

We’re looking for a Java Engineer who will develop tools and pipelines related to AI, rendering, data conversion, and similar areas. 


Requirements:
  • 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

  • Responsibilities:
  • 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).

  • 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.

  • 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

  • You will be truly welcome in our team if
  • 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 about tech trends is your thing, you're speaking our language.
  • With solution-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!