Senior Java Engineer

 | Szlak 49, Kraków

We’re looking for a team player for a small, cross-functional team of talented and passionate Software Engineers responsible for designing, building and maintaining most successful ecosystems of microservices.

Working with a cloud-native stack of state-of-the-art technologies and modern development approaches that work. Solving real-world data-intensive problems.

What?

  • Cutting-edge data-intensive systems for one of the leading global retailers
  • Driving rapid business transformation through technology in the spotlight of the process
  • Reinforcing software security against modern threats (e.g. botnets) using custom-built multi-factor adaptive authentication mechanisms
  • Contributions to the open-source software communities

How?

  • Single-responsibility, loosely-coupled, highly-cohesive software (Microservices)
  • Highly-available and low-latency software with elastic scalability and strict SLA requirements
  • Professional and comprehensive monitoring, logging and alerting
  • Data-intensive systems used at the backbone (e.g. Kafka, Spark) with appropriate data storage technologies (e.g. Cassandra)
  • Asynchronous, non-blocking, event-driven architectures (using e.g. Vert.x, RxJava, Reactor)
  • Multi-paradigm (incl. functional) development using modern Java and JVM languages including Scala and Kotlin
  • Domain-Driven Design with Event Sourcing and CQRS
  • Getting the most value out of the tests following TDD/BDD and multi-layer automation
  • Rapid delivery of small changes to production
  • Clear “you build it, you run it” philosophy displayed in cloud environments (e.g. AWS)
  • Evolutionary Agile approach to software delivery
  • Following Reactive Manifesto and 12-Factor applications
  • Great teamwork and knowledge sharing

Requirements:

  • Team player eager to share, lead by example but also open to new ideas and solutions
  • Problem solver, not problem seeker
  • Hands-on software engineer rather than a programmer
  • Fluent in Java and/or other JVM languages, understands language applicability and implementation fundamentals
  • Able to develop and maintain high-quality code
  • Has a deep understanding of data-intensive distributed systems
  • Hands-on experience in designing and development of scalable, distributed, highly available solutions
  • Experience in infrastructure development in the cloud environment
  • Deep understanding of the functional paradigm
  • Can communicate with the business
    Can express and document ideas through diagrams and technical documentation
    Communicative English, both written and verbal

Ready to dive in? Apply now @ jobs(at)virtuslab.com