Junior / Mid-level Scala Developer
AMP Algo s.r.o.
Praha · Kraj Praha · Česká republika
Popis pozice
We are a team that develops and deploys machine-learning models for trading and flexibility management in European energy markets. Our goal is to shape the future of energy, accelerate Europe’s transition to sustainable energy, and improve the stability and predictability of renewable generation. We build on smart data, optimization, and rigorous problem-solving.
We are currently looking for a Scala developer to join the team and help build and scale our trading platform and data pipelines.
Essential skills
Good understanding of principles used in functional programming (Scala experience is not strictly necessary)
Knowledge of basic principles (algebraic data types, common operations like map, fold, etc.)
Knowledge of data structures, algorithms, and time/space complexity
Familiarity with concurrency and parallelism (Threads, Locks, Actors, Task-level parallelism)
Good proficiency with Linux development / command-line tools
Nice to have / Bonus points
More advanced functional topics (functors, applicatives, monads, Kleisli arrows, subtyping/type variance, etc.)
Networking concepts (TCP, UDP, DNS, routing, switching, etc.)
Linux system programming/administration
Familiarity with hardware, working on bare metal, and performance characteristics
Scala IO / Effect systems
SQL databases
Knowledge of multiple languages and paradigms (C, Haskell, Lisp)
Who we are, what we do...
At the AMP Algo, we trade energy products on energy exchanges. For that, we develop an in-house trading platform, tools, and models.
We don't have customers in the usual sense. That means we don't have conflicting requirements, externally set deadlines, or design dictated by UI/UX decisions. Our tools serve our traders beat the market.
We need to solve problems with various levels of difficulty and correctness requirements – from data collection and dashboards for traders to trading desks and automated trading.
Our development process is based on review, and good code means how well someone else can judge that the code indeed does what it should.
When we talk about correctness, we mean it.
When processing from a data source breaks, we fix it – no big deal.
When a trader sees an incorrect position displayed in the trading platform – yikes! That could have been expensive; it's good that we have such attentive traders.
Now imagine an automated trading system making a wrong trade, in a loop, as fast as possible...
A new colleague starts with the easier tasks and gradually moves to the more involved ones.
Our technology stack is pretty thin.
Both the frontend and the backend are written in Scala, which means we can easily share non-trivial logic between the two and implement communication protocols as needed, rather than being stuck with solutions that never fit.
Scala 2 (with the intention to move to Scala 3 and possibly Kyo)
Scala.js, Laminar
Postgres
Akka HTTP
Slick/Quill
Juniority / Seniority
We are more interested in the ability to solve technical problems than in the number of years of industry experience. Things like web frameworks, AWS tools, GraphQL, Java Hibernate – all the usual – are of little importance to us. However, knowledge of how things work under the hood and PhD-level knowledge of CS topics – that’s a great plus.
Therefore, a freshly graduated candidate may be an equally good fit for us even without prior industry experience.
The usual benefits
Work on-site with flexible working hours
Fresh fruit in the office
25 days of vacation
Multisport card
Unlimited phone plan
Sick days
Our office is located directly on Wenceslas Square.