Software Development Engineer

Employment Type:Contract
Job Location:Budapest Hungary
Job Function:

About The Address and Location Team

Address and Location Team is responsible for building and maintaining Address Service and Location Service. Address Service helps you use valid and correctly formatted physical addresses, by exposing APIs to find, look up, store and clean up addresses. Location Service’s vision is to be the master source of universally useful and up to date information about all physical locations and to make that information easily available and understandable to consumers. We master data that is used by 100+ downstream systems, our APIs are used to deliver core Customer journeys.

 

We build modern, event-driven, RESTful APIs and internal web applications supporting data ingestion processes. Technology sneak-peak:

  • main programming language is Java (Vert.x, RxJava, Vavr) but we embrace polyglot programming with Groovy, Kotlin, Scala, JavaScript and Python in our codebase
  • MongoDB, PostgreSQL and Elasticsearch for persistence
  • TypeScript, React/Redux, NodeJS for web application
  • Amazon Web Services, Kubernetes, Docker, Jenkins
  • React/Redux for web applications

 

We embrace the DevOps approach taking responsibility for the software we’ve built through its entire lifecycle. Having control over CICD pipeline and cloud infrastructure our code runs on in production the team is empowered to deliver often and deliver fast. Availability, latency, resilience and security are first class citizens discussed within the team on a regular basis and industry leading tooling at our disposal (Splunk, AppDynamics, Tenable, Runscope) are enabling us to have great visibility and data to incrementally improve.

 

The team operates in agile fashion adopting Scrum methodology and ceremonies.

 

You will be responsible for

Typically, the role involves the following activities:

  • Writing high quality code, often pairing with others
  • Writing unit/integration/E2E/performance/security/smoke tests in line with testing pyramid
  • Reviewing pull requests and providing quality, actionable feedback
  • Contributing to definition of features, estimating the effort, aiding with prioritisation
  • Automating the build, provisioning and deployment in the cloud
  • Implementing monitoring and alerting
  • Supporting production systems, resolving incidents and performing root cause analysis (paid after hours support rota)
  • Cooperating with wider technology group in order to resolve issues and deliver cross domain capabilities
  • Leading and/or participating in architecture/design/coding standards/operational best practices discussions
  • Mentoring less experienced engineers
  • Involvement in interviewing candidates for engineering roles
  • Sharing knowledge with engineering community

You will need

Skill and experience relevant for this job

  • Experience with modern Java
  • experience with JavaScript frontend development (JS, Typescript, React/Redux, NodeJS)
  • Working experience with Functional Programming paradigm in any language (preferably JVM language)
  • Proficient in at least one SQL or NoSQL database
  • Linux and Docker
  • TDD and BDD
  • Designing and developing systems for high availability and scalability
  • Knowledge of design patterns and engineering best practices
  • Problem solving, analysis and computational skills
  • Written and verbal communication skills. You can communicate effectively and efficiently taking into account the nature of your audience
  • Interpersonal skills and relationship building, will be a key part of this role. You instinctively work in a collaborative way and are comfortable working with a wide range of colleagues
  • Eagerness to learn

 

What would make you stand out

  • Experience with least one more JVM language (Kotlin, Goovy, Scala)
  • Exposure or understanding of CI/CD pipelines and how these feed into a micro services architecture
  • Experience with NoSQL databases
  • AWS or equivalent Cloud platform (EC2, ELB/ALB, Lambda, S3, VPC, Route 53 or comparable solutions in different cloud platform)
  • experience with infrastructure as code and immutable infrastructure