Description

Responsibilities

  • Define, design and implement complex, multi-tier distributed software systems throughout all phases of the software development life cycle.
  • Work on new and existing product initiatives and be a driver in the definition of product direction.
  • Review code to proactively identify and mitigate potential issues and defects and helps to identify sources of defects as well as troubleshoots various forms of code.
  • Use design tools to frequently share and communicate design ideas on larger systems.
  • Use patterns frequently, contributing to best practice and process enhancements.

Required Skills

  • Excellent understanding of distributed systems and service oriented architecture along with web services and related standards like REST/JSON.
  • Must be very strong backend Java Development.
  • Must have deep technical understanding of Java or Go, and willing to work with both.
  • Must have a strong handle on concurrency challenges and design solutions Heavy emphasis on code testing and designing for testability.
  • Nice to have skills to understand large scale data and ability to build machine learning models for forecast and prediction.
  • Self-motivated and fast learner.
  • Excellent communication, presentation, interpersonal and analytical skills.
  • Strong organizational and problem solving skills.

Required Experience

  • 7+ years of software design and development experience, solid foundation in computer science with strong competencies in data structures, algorithms and software design.
  • Experience in object-oriented design methodology and large scale application development in Java (or any other object oriented languages).
  • Strong experience with Core Java and Spring.
  • Experience building applications that deals with big data.
  • 3+ years of hands-on experience in an RDBMS (mongo, MySQL, PGSQL, etc).
  • Experience working within a lightweight agile project structure.
  • Relational database and SQL development experience.
  • Agile development experience.

Education Requirements

  • Bachelor’s Degree in Computer Science, Computer Engineering or a closely related field


 

Education

Any Graduate