Description

Role Description

 

  • Develop backend eCommerce web applications in cloud platform technologies.
  • Collaborate with designers & product managers to iterate on the design & implementation of our product.
  • Work with Engineers from the full stack to build and ship features.
  • Identify and uphold engineering best practices.
  • Monitor performance, watch for traffic drops related to usability problems & rectify the issues.
  • Review app and feature code, and plan future API upgrades with the development team.
  • Stay up to date on emerging technologies. 

     

Requirements

 

  • 7+ years’ experience developing large-scale web applications using Java, Kotlin, Go (or similar languages)
  • Experience with modern libraries and tooling.
  • Significant Java programming skills, data structures, and Micro-services architecture and development.
  • Significant experience with the Spring Framework (Persistence, REST, Messaging, Integrations) such as Spring Boot.
  • Significant knowledge of SQL Database and NoSQL Databases (MongoDB / Cassandra)
  • Significant experience in Messaging architectures & development- MQ Series or Kafka or equivalent.
  • Proven Experience in building RESTful APIs and a deep understanding of REST principles.
  • Proven Experience working with Docker or similar technologies, GIT, CI/CD, and writing unit/integration tests.
  • Strong analytical problem-solving skills and excellent written and verbal communication skills.
  • Self-starter with strong initiative, quality deliverables, and ability to work under pressure.
  • Business-minded approach to time, costs, and deadlines.
  • Demonstrated ability to work well within a team environment.

     

Key Responsibilities

 

  • Lead and participate in the design and implementation of large and/or architecturally significant applications.
  • Champion company standards and best practices. Work to continuously improve software delivery processes and practices.
  • Build partnerships across the application, business, and infrastructure teams.
  • Develop programming specifications. Design, code, and unit test application code using Software Development Life Cycle (SDLC) best practices.
  • Complete estimates and work plan independently as appropriate for design, development, implementation, and rollout tasks.
  • Create technical system documentation and ensure that this documentation remains current throughout all phases of the SDLC.
  • Participate in all phases of system testing.
  • Communicate with the appropriate teams to ensure that assignments are managed appropriately and that completed assignments are of the highest quality.

Education

Any Graduate