Position: Senior Scala Team Lead
Company: DataArt
Experience required: 5y
Category: Scala
English level: upper
Published: 2022-02-01T00:00:00+02:00

The client is a fintech startup working in the banking sector and is involved in cash management and payments. They have their own banking platform that includes solutions for accounting, invoicing, payments, and banking.

Responsibilities:
Lead the development team
Work with the product team on the requirements
Work with the development team and SMEs to provide high level estimates
Lead the design, build, and evolution of the backend services that power the client platform
Engineer technical software solutions primarily using Scala based microservices deployed within the Azure infrastructure
Support high traffic API services, globally distributed data, and apply event-driven architectures
Participate in sprint planning and retros
Assist the development team with technical issues
Influence and drive software engineering and architecture best practices and standards within the team and the wider community
Apply principled engineering practices including unit testing, integration testing, continuous integration, and lead others in your team by example to do likewise
Communicate your ideas effectively to others within your team
Ensure that the development is completed in line with the timeline agreed with the delivery team, if there is any slippage, coordinate with the product and delivery teams to come up with an alternate plan
Mentor the team to improve technical ability
Participate in the full life cycle of the software product - from idea and design, via implementation and user interface, to operational considerations
Write clean code, take pride in your work and value simplicity, testing and productivity as part of your daily routine
Embrace new languages and frameworks, containers and cloud, and dig deep and learn new things all the time
Explore the inner workings of the tools and libraries you use to understand how they work

Must have: 
Strong experience developing and deploying Scala using the Akka framework within a commercial environment
Experience in functional programming
Strong experience with public cloud technologies (Azure)
Experience creating scalable and reactive applications with modern frameworks like Akka/Play, etc.
Have experience building highly available, mission-critical, high traffic systems
A demonstrable understanding of best practices in software engineering, including TDD, Agile Development, and Continuous Integration
Experience with event-driven systems, data streaming and analytics, and challenges of distributed and globally available systems engineering
Proficiency in Scala and at least one other JVM language
Experience using Akka HTTP to build microservices
Ability to dive deep into any technical component as well as understand and drive the overall system architecture
A good understanding of basic DevOps practices and containers including Docker
Familiarity with the Linux environment

Would be a plus:
Experience using Scala libraries from the functional programming paradigm (i.e. Typelevel Cats Effect, ZIO, etc.)
Experience with multiple cloud providers AWS/Azure/IBM
An understanding of Kubernetes
An understanding of NoSQL databases
An understanding of reactive programming
Teamworking experience