- Design and development of application functionality which meets business requirements with high quality within given deadlines.
- Developing maintainable, well-documented application functionality with an eye toward standardization, common components, simplicity, performance, robustness and other attributes of enterprise-strength solutions.
- Contributing technical expertise to defining application requirements in collaboration with business analysts, business representatives and others. You must be able to streamline as well as record requirements, perform gap analysis and offer functionality options where appropriate.
- Creating proofs of concept or prototypes if required; contributing to technical design of applications; contributing to database / data model design.
- Helping to identify coding patterns and anti-patterns and enforce implementation of the patterns through code reviews.
- Quickly resolving issues encountered by business lines in the production environment, maintaining a helpful, "high touch" approach to working with business users, performing root cause analysis, technology evaluation, and performance tuning.
- 5+ years of relevant software development experience.
- Must be proficient in the Java language (preferably versions 8+), Java EE & core libraries.
- High proficiency in development practices: unit testing, Continuous Integration, refactoring, clean code.
- Good understand of Java Design Patterns and OO Design.
- Experience in developing REST web services in Java.
- Proficiency in RDBMS concepts and SQL.
- Knowledge of Spring, Spring MVC and Spring Boot.
- Strong hands on experience with Angular/React, HTML5, CSS3 and related web technologies
- Experience with encapsulating RESTful API calls in front-end apps
- Experience with: Hibernate, JPA, JMS, JTA, Junit, Jenkins, SVN, Git, Maven.
- Ability to configure/install web applications (experience with WebSphere, Tomcat, or similar containers).
- Working experience with Angular, CSS and HTML
- Understanding application deployment procedures.
- Ability to adapt at Scrum/Agile methodologies.
- Ability to interpret and troubleshoot applications using logs.
- Excellent problem solving and analytical skills.
- Good communicator, keen to collaborate and share knowledge.
Technical attributes - nice to have
- Experience with containerization - Docker, K8s, Openshift
What We Offer:
- A collaborative environment that enables you to step outside your role to add value wherever you can;
- Direct access to clients, information and experts across all business areas around the world;
- Opportunities to grow your expertise, take on new challenges, and reinvent yourself—without leaving the firm;
- A culture of inclusion that values each employee’s unique perspective;
- High-quality benefits program emphasizing good health, financial security, and peace of mind;
- Rewarding work with the flexibility to enjoy personal and family experiences at every career stage;
- Volunteer opportunities to give back to your community and help transform the lives of others.