About the Company
A team working in the European energy trading sector develops and deploys machine learning models for trading and flexibility management. The focus of the organization is on improving the stability and predictability of renewable energy generation while contributing to the transition toward sustainable energy systems. The work is based on data-driven optimization and rigorous technical problem-solving.
About the Role
The company is seeking a Scala Developer to join the team responsible for building and scaling a trading platform and data pipelines. The role is part of an in-house development environment focused on energy trading tools and models used internally by traders.
The development environment emphasizes correctness, performance, and reliability, particularly in systems where errors may directly impact trading decisions and financial outcomes.
Responsibilities
- Develop and maintain components of the trading platform and data pipelines.
- Work on systems supporting data collection, dashboards, trading desks, and automated trading processes.
- Contribute to improving system correctness and reliability in high-impact environments.
- Collaborate with team members through code review and shared problem-solving practices.
- Gradually take on more complex development tasks after initial onboarding on simpler assignments.
- Support the implementation and improvement of internal trading tools and communication protocols.
Requirements
- Strong understanding of functional programming principles.
- Knowledge of algebraic data types and common functional operations such as map and fold.
- Good understanding of data structures, algorithms, and time and space complexity.
- Familiarity with concurrency and parallelism concepts such as threads, locks, actors, and task-level parallelism.
- Proficiency with Linux development environments and command-line tools.
Nice to have
- Advanced functional programming concepts such as functors, applicatives, monads, Kleisli arrows, and type variance.
- Knowledge of networking fundamentals including TCP, UDP, DNS, routing, and switching.
- Experience with Linux system programming or administration.
- Understanding of hardware-level performance characteristics.
- Experience with Scala IO or effect systems.
- Knowledge of SQL databases.
- Familiarity with multiple programming languages and paradigms such as C, Haskell, or Lisp.
About the Environment
The engineering approach is focused on correctness, with strong emphasis on code review and shared understanding of system behavior. The team builds both frontend and backend systems in Scala, enabling shared logic and flexible protocol design without being constrained by external frameworks or rigid architectural decisions.
The development stack includes Scala 2 with a planned transition to Scala 3 and potentially Kyo, Scala.js with Laminar for frontend, PostgreSQL, Akka HTTP, and Slick or Quill for data access.
The team prioritizes technical problem-solving ability over formal years of experience. Deep understanding of computer science fundamentals is considered more important than familiarity with specific enterprise frameworks.
Benefits
- On-site work with flexible working hours.
- 25 days of vacation.
- Multisport card.
- Unlimited phone plan.
- Sick days.
- Office located in the center of Prague at Wenceslas Square.
