As an experienced Software Engineer - Java, you will dive head-first into creating innovative solutions that advance businesses and careers. You’ll join an inspiring and curious team of technologists dedicated to improving the design, analytics, development, coding, testing and application programming that goes into creating high quality software and new products. You’ll be tasked with keeping the team and other key stakeholders up to speed on the progress of what’s being developed. Coming in with an understanding of the importance of end-to-end software development-such as Agile frameworks-is key. And best of all, you’ll be working with and sharing ideas, information and innovation with our global team of technologists from all over the world.
We are a progressive development team within the firm working on technology at a scale that is seldom found elsewhere in the world. We use agile methodologies in our development practices and believe that great software is developed through ongoing thoughtful conversation as opposed to a big upfront design. We are building a technically diverse ecosystem using a mixture of Vendor Products, Custom In house built solutions, Graph DB’s, Relational DB’s, NoSQL db’s, and combining it all through a managed services layer. We’re looking for true technologists who are driven by the desire to learn and push the boundaries of technology.
This will require an understanding of requirements, operating models, business flows and data and then partnering with technical specialists to deliver appropriate solutions. There is an implicit ownership and accountability for the solution working as intended.
The ideal candidate is a results-oriented hands-on leader who can handle many different roles such as:
- Contributes to product area, or software in order to automate manual operational work
- Troubleshoots priority incidents, facilitates blameless post-mortems and supports solutions for closure
- Engages with development teams throughout the software life cycle ensuring sustainable software releases.
- Applies analytics on past data, like incidents and usage patterns for predicting issues and takes proactive actions.
- Drives adoption of self-healing and resiliency patterns.
- Lead and participate in performance tests, identifies the bottlenecks, opportunities for optimization and capacity demands
- Defines and drives adoption of a best in class monitoring frameworks to accomplish end to end application or service monitoring and noiseless alerting end application or service monitoring and noiseless alerting with proper telemetry
- Deploys sustainable software, system and product upgrades
- Adds value to team delivery and works with team to complete tasks to high quality and actively learns new skills
- Self manages the effort split between operational work and engineering work
- Supports end-user functional and system support issues via various channels (e.g. tickets, email, chat)
- Be part of the rotational support coverage as needed
- Mentors other junior team members
- BS/BA degree or equivalent experience
- Advanced knowledge of application, data and infrastructure architecture disciplines
- Understanding of architecture and design across all systems
- Working proficiency in developmental toolsets
- Ability to collaborate with high-performing teams and individuals throughout the firm to accomplish common goals
- Understanding of software skills such as business analysis, development, maintenance and software improvement
- Application Development work experience - Agile environment preferred
- Minimum of 7 years of Java 8/J2EE distributed application development, REST
- Advanced Java skills with writing high performing code and Java memory profiling
- Solid understanding of micro services, Spring Boot, Netflix frameworks, API gateway, etc.
- Solid understanding of building services in cloud.
- UI development experience using AngularJS/ReactJS
- SQL and Maven experience
Req #: 180122773