Software Engineer - Java/Scala (Apps Foundation)

About the team:

Were Apps Foundation team of motivated professionals who turn most challenging tasks into reality.

We‘re the ones who focus on technological excellence in a full development cycle.

  • Technical team (.NET and Scala engineers, frontend engineers, manual and automation QA engineers)
  • Business team (Product manager)

Our projects are a core part of the company and highly used by other teams and services.

About the project:

Our components are written 50/50 on Scala and .NET. On frontend – mostly React and Angular. We are moving towards microservices architecture (all new development as microservices, splitting monoliths). In our environment we are highly dependent on API (REST, GQL, Swagger as an API documentation format).

When using Scala, we extend it with libraries as cats, scalaz and shapeless and build it with sbt. Akka is our core framework, enabling a fully asynchronous message processing in the app. Our Scala REST APIs are built with Akka HTTP and documented with Swagger.

MongoDB, MSSQL, ElasticSearch and PostgreSQL are key data storages along with Apache Kafka for data processing and RabbitMQ for messaging.  DevOps and Continuous Integration are our standard way of running software and we really do love it. We automate all deployment and configuration tasks with tools like Puppet, Ansible and PowerShell. We are heavily addicted to monitoring our services with Graphite / Graphana and all our logging is done via ElasticStack. All newly developed services are utilizing container technologies (Docker, k8s and etc).

About the role:

Your primary responsibility will be designing, building, testing, deploying, monitoring and maintaining products and services. This also includes code reviews (all code in our team is peer-reviewed) and doing DevOps tasks (deployment automation, configuration management, metrics, monitoring and alerting).

You’ll contribute to Apps Foundation and Adform-wide architecture, so you’ll have to actively participate in deciding how things are done and distributed between components and technologies.

You’ll be an integral part of our agile workflow: as any other team member you will participate in business and technical planning and have a word in iterative improvement of our process.

We believe you have:

  • Solid knowledge in Scala and Java
  • Experience in working with databases (you should be comfortable with SQL / NoSQL)
  • Strong skills of unit-testing your code and a habit to do so on a daily basis
  • DevOps and deployment automation experience (or willing to learn)
  • Familiarity with functional programming, sticking to its principles in practice
  • Ownership mindset and proactivity (team is constantly looking for ways to make our services better in reliability, quality, performance and etc and we expect you to share the same traits)
  • Good knowledge of high availability, high performance and security principles applied to web applications
  • Track record of successfully architecture, developed and delivered web or data processing applications
  • Apply best practice defined by different functional areas (Architecture, Quality, Security, Product Management, Project Management)
  • Upper-intermediate English (you must be comfortable to communicate in English with your colleagues from different countries both online and offline)

It would be an advantage if you have:

  • Are experienced with container technologies (Docker, Kubernetes etc)
  • Are familiar with VM provisioning (Puppet, Terraform, Ansible etc)
  • Have experience of working with Kafka
  • Are familiar with application monitoring concepts, have experience with Prometheus
  • Have Linux skills (experience in running production application on Linux)
  • Have a knowledge of MongoDB query language and performance optimization
  • Have C# and .NET platform knowledge or desire to learn it

We offer:

  • Experienced and professional team
  • Challenging and unique tasks
  • Dynamic, inspiring and international environment
  • Creative approach
  • Informal style of leadership and communication
  • And some other standard benefits: company offsite events, team buildings, game rooms and other fun office activities

About Us:

Adform provides an integrated Software as a Service platform for the buying, managing and serving of digital advertising. The company’s software consists of a Data Management Platform, a Demand Side Platform and an Ad Serving Platform with advanced analytics, reporting and creative tools that drive high impact digital advertising campaigns globally. Founded in Denmark in 2002, Adform services a client portfolio that includes the world’s leading agencies, advertisers, consultancies, and publishers.

To learn more visit us at adform.com

Apply