Scala Developer
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.)
- More advanced functional topics (functors, applicatives, monads, Kleisli arrows, subtyping/type variance, etc.)
- Knowledge of data structures, algorithms, and time/space complexity
- Good proficiency with Linux development / command-line tools
Nice to have / Bonus points
- 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 to 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 the processing of some 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 frontend and backend are written in Scala, which means that we can share non-trivial logic between both sides easily and implement communication protocols as needed, instead of being stuck with usual 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 spent in the industry. 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 at Karlovo náměstí.