Senior Software Engineer Backend (Java/NodeJS)

Brief description of the vacancy

Senior Software Engineer Backend (Java/NodeJS)

Who We’re Looking For:

For the overlapping engineering solutions of two of our projects, we need a high-level Engineer with these areas of experience in priority order: AWS, Groovy, Jenkins, and Node.js. 

This individual will be working closely with our Global Team, but also coordinating with other distributed teams already assigned to the web platform that is based in Asia and Eastern Europe. 

The Engineer will be given specific tickets to work on but will also need to be aware of the overall goals as they may need to address new issues as they come up and even do some solution design for unexpected requirements. 

Initiative and self-reliance will be key to being successful in this engagement. 

This Engineer will be working on modifying our build templates and shared infrastructure to replace hard-coded references to accounts, URLs, buckets and regions with parameterized versions that can be used in different regions and different AWS accounts.

What You’ll Do:

  • Contribute code to the team’s business deliverables
  • Participate in design sessions and implementation plans.
  • Resolve technical issues and remove blockers for your team
  • Encourage innovation with new technologies and elegant solutions
  • Peer review teammate’s code
  • Practice DevOps ensuring a culture of testing and releasing software continuously using automation and monitoring
  • Evaluate technical decisions and their impact on the architecture
  • Help onboard new team members
  • Ensure successful quality software with emphasis on Security, Privacy, Reliability, Availability, Maintainability and Performance
  • Work through dependencies and integration with other engineering teams 
  • Advocate technical direction, define best practices and principles
  • Partner with the Product Owner to drive clarity on requirements. 
  • Define technical options, provide estimates on effort and risk, and evaluate technical feasibility.

What You’ll Need:

  • Master’s or Bachelor’s degree in Computer Science or Engineering 
  • 8+ years’ experience in highly distributed systems with high transaction volume
  • Experience with working on projects in highly collaborative, multi-disciplinary development teams 
  • Solid foundation in data structures, algorithms, object-oriented programming, MVC architecture, and design patterns 
  • Solid knowledge of web technologies and application stacks built on Java and Node.js using microservices on cloud-native architecture 
  • Experience designing APIs and creating RESTful microservices 
  • Experience with both relational and No-SQL databases (Cassandra, DynamoDB etc) 
  • Experience with modern build strategies, continuous integration, unit testing, test-driven development, static analysis, and automated unit/integration tests. Continuous delivery experience preferred. 
  • AWS Cloud development experience 
  • Experience delivering software in a Scrum development process 
  • The e-Commerce experience is a plus

Additional Skills:

  • Good negotiation skills and teamwork will help you to be successful in this role
  • Fluency in English at a level not lower than Upper-Intermediate

Recruiting process:

  • Non-technical interview – 30 minutes introduction call.
  • Technical interview (2 rounds on 2 different days) – 1.5 – 2 hours depending on the grade of the candidate. At the interview, you may be asked to present your portfolio or developed website with your design.
  • Discussion of interview results
  • Offer

What We Offer:

  • Competitive salary
  • Relocation support
  • Remote work opportunity
  • Remote workplace setup
  • Comfortable work in your local time zone
  • Flexible work schedule
  • Comfortable working in a fast-paced, results-oriented environment
  • Professional growth and development
  • Paid trips to professional conferences
  • Multicultural working environment