Senior Software Development Engineer (Java)

Responsibilities & Activities

  • Design, implement, test, deploy and maintain software solutions
  • Work in an agile team and look for ways to continuously improve through asking and providing feedback
  • Engage and coordinate with Product Managers and other engineering teams (Front-End, QA, Dev-Ops) in development new features, support, maintenance and troubleshooting production issues
  • Manage individual project priorities, deadlines and deliverables
  • Rapidly prototype and build Proof of Concepts to demonstrate to stakeholders

Essential Skills & Experience

  • Experience with Java, Spring Framework and web services architecture/technologies
  • Strong Object-Oriented design skills with understanding of common design paradigms and software design patterns
  • Thorough understanding of Software Development Lifecycle and methodologies
  • Strong experience with building RESTful web services
  • Ability to perform and influence code reviews as well as technical design meetings
  • Experience with Amazon Web Services (AWS)
  • Deep understanding of scalable computing systems, software architecture and data structures
  • Experience working with SQL and NoSQL (MongoDB, Cassandra, Hadoop, Solr) databases
  • Design and build reusable libraries and APIs

Preferred Skills & Experience

  • Strong analytical skills with excellent problem solving abilities
  • Experience developing with continuous delivery / Continuous Integration processes and tools (e.g. Jenkins)
  • Experience with Linux platform
  • Knowledge of performance testing, application tuning and load testing
  • Working experience with Scrum or similar agile methodologies
  • Experience with version control systems (e.g. Git) and understanding of branching models & strategies