Descriere job

Job Description

About the Role:
Do you get challenged to be better than you were the day before? Do you take a keen interest in system architecture, great ways of working and great implementations? Do you have a passion for getting things done? Would you love to create experiences that impact the lives of millions of customers? Then we would like to hear from you!
As a back-end engineer you will develop critical software, expose core services, and enable new and sophisticated end user experiences that will make a difference for consumers and for retail industry experts world-wide.

 

Key Responsibilities:
 

  • Design, develop and deploy enterprise back-end services, including new API layers and microservices, hosted in Cloud or hybrid On-Premise/Cloud environments
  • Actively participate in a collaborative team that applies principles of Agile, DevOps and CI/CD methodologies
  • Work with product owners and stakeholder teams to understand requirements, and translate these into pragmatic and effective technical solutions
  • Create technical designs and contribute to system architecture
  • Write APIs and service interfaces used by other developers, including web and mobile application developers
  • Work on solutions to migrate or encapsulate legacy systems and data to a modern architecture
  • Collaborate with teams to integrate user-facing elements with server-side logic
  • Ensure code quality through writing unit tests, automation and performing code reviews
  • Contribute ideas to finding the best solutions for algorithms, technologies and products/tools to be adopted
  • Work with product and design teams to understand end-user requirements, formulate use cases, and translate these into pragmatic and effective technical solutions
  • Improve code quality through unit tests, automation and performing code reviews
  • Mentor, and provide feedback to other team members
  • Required Skills:

     
  • Experience in developing Microservices or Business Services or APIs using Java 8+, Spring Boot
  • Demonstrated recent experience with hands-on coding and software design
  • Solid software design knowledge – you should know how to create software that is extensible, reusable and meets desired architectural objectives
  • Experience with Java
  • Solid practitioner of the Agile/Scrum development process, ideally with test-driven development, DevOps and continuous integration/deployment (CI/CD)
  • Great communication skills, both oral and written
  • 3+ years in professional development
  • Bachelor’s degree in Software/Computer Engineering, Computer Science or related field, or comparable relevant experience
  • Preferred (Optional) Skills:
     
  • Experience with REST/ XML/JSON, Tomcat
  • Understanding of Service Discovery, Inter-Service Communication, Service Deployment and Service Orchestration frameworks
  • Exposure to Google Cloud Platform (GCP), Amazon AWS or Microsoft Azure
  • Good knowledge and experience with Kubernetes, Docker, Jenkins, API Connect, Kafka in a cloud environment
  • Solr, CloudSQL (Postgress), BigQuery, Datastore/Cassandra/CloudSQL (Postgress)
    Redis
  • Hands-on experience in Functional Reactive Programming (FRP)
  • Familiarity with web front-end development (e.g. HTML, JavaScript and CSS)
  • QA skills in testing, scripting and test automation
  • Willingness to learn new technologies and approaches
  • Readiness to work in a global team with contributors from different backgrounds, skills and locations