Build large-scale applications using Java or similar languages, with a focus on high performance, scalability, and resiliency in a service-oriented environment.
Troubleshoot issues from a production environment, ideally including experience supporting a self-service environment.
Work with stakeholders to understand business needs and translate them into technical requirements.
Provide technical leadership to other software engineers, including mentoring, code reviews, and pair programming.
Contribute to all phases of the development lifecycle.
Development and review of changes with a focus for design, efficiency, and quality
Work as part of a team as well as working autonomously
Prepare and produce releases of software components
Contribute to improvements to the software development process
Support continuous improvement by investigating alternatives and technologies and presenting these for review.
Requirements:
6+ years of experience working as a Software Engineer, or similar role.
BS/MS degree in Computer Science, Engineering, or a related subject
Experience using Java 8 or higher, Spring Framework, REST, Hibernate, Junit
Experience developing in an Agile environment, using current engineering best practices
Experience using - CSS3, HTML5, JavaScript
Experience with at least one MVC Framework – e.g., Angular.js, Backbone.js, Ember.js
Experience using a RDBMS – e.g., SQL (MS SQL Server, Oracle)
Experience in SCM technologies such as Git, SVN
Experience with SaaS model/Cloud Execution (Azure preferred)
Ability to work independently and be a self-starter.
Ability to think, evaluate, and solve complex technical problems.
Experience in using JIRA/Confluence
Strong understanding of cloud architecture patterns, such as microservices, serverless, and containers.
Familiarity with modern frameworks for building high-throughput and resilient microservices.
Other Skills of Benefit:
BDD(Behavior-driven) and TDD(Test-driven) development