The Digital Experience Engineering team is responsible for designing, developing, and delivering industry-leading digital solutions for Wealth Management clients and staff. Our solutions encompass web and mobile applications that deliver Investment Management and Private Banking functions enhanced with collaboration capabilities and self-service capabilities. The team consists of engineers spanning multiple disciplines including UI, UX, microservices architecture, data science, and content management. Come join a dynamic team building next-generation digital experiences using the latest technologies while following scaled agile development methodologies.
* Drive the design and implementation of scalable, high performing robust applications.
* Programming well-designed, testable, efficient code.
* Backend development using Java, Spring, Rest etc.
* Provide application software development services or technical support in complex situations
* Work with the team on technical design, development and documentation of cross-functional, multi-platform application systems.
* Ensure that expected application performance levels are achieved by coordinating, coding, testing, implementation and documentation.
* Analyze, design and develop tests and test-automation suites.
* Provide technical mentorship and guidance to more junior engineers including code reviews and defining and implementing best in class standards.
* Improve our software delivery capabilities via automation and repeatability
* Help the tech management team shape best practices for developing, sharing and continuously improving our software platform.
* Coordinate with internal and external technology teams as needed for end to end service delivery.
* Scaling the backend architecture and codebase to support growth.
Consults with internal business groups to provide appropriate application software development services or technical support. Provides application software development services or technical support in more complex situations. May also be responsible for requirements gathering and BRD/SRD preparation. Has thorough knowledge of the Software Development Life Cycle. Conducts reviews of the test Plan and test Data. May allocate/ coordinate work within a team/project. The job holder leads the technical design, development and documentation of cross-functional, multi-platform application systems. S/he analyzes, defines and documents requirements for data, workflow, and logical processes and interfaces with other systems. S/he also ensures that expected application performance levels are achieved by coordinating, coding, testing, implementation and documentation. Design and development of backend features and components. Scaling the backend architecture and codebase to support growth. Reducing the level of technical debt of the backend codebase. Programming well-designed, testable, efficient code. Analyze, design and develop tests and test-automation suites. Develop flowcharts, layouts and documentation to satisfy requirements and solutions. Maintain software functionality and currency (technical debt and gain). Actively participate in code reviews. Integrate software components into a fully functional software system. Apply security and privacy principles. Execute full lifecycle software development. Develop software verification plans and quality assurance procedures. Troubleshoot, debug and upgrade existing systems. Ensure software is updated with latest features. Participate in deployment process following all change controls. Provide ongoing maintenance, support and enhancements in existing systems and platforms. Provide recommendations for continuous improvement. Active learning engagement. Complete all required mandatory training / policy awareness curricula on time. Use learning tools such as Pluralsight to complete both recommended and aspirational targets set in personal development plans. Demonstrate team work. Leverage existing products/functionality and promote reuse. Work alongside other engineers on the team to elevate technology and consistently apply best practices. Collaborate closely with all the other members of the team to take shared responsibility for the overall efforts that the team has committed to. Collaborate cross-functionally with data engineers, business users, project managers and other engineers to achieve elegant solutions. Utilize local meetups to gain and share knowledge. Compiles documentation written by more senior developers of all procedures used in system. Acts as mentor to junior level engineers. Prior experience with using a specific application development toolkit and knowledge of a backend development language required (i.e. C#, Java) S/he must have knowledge about the functions and features of modern and traditional structured methods for developing applications. Communications and organization skills; team work skills. Contributes to the achievement of area objectives.
Deep understanding of the software development life cycle with hands on design and coding experience
Experience in test driven and behavior driven development
Experience with agile software development methodologies, tools and processes.
Knowledge of orchestration of microservices in an container-based cloud environment
Excellent communication skills (written and verbal), ability to work in a team environment.
Excellent analytical and problem-solving skills and the ability to work well independently.
Experience with complex system integration projects.
Experience working with business analysts, project managers, developers and technical architects in multiple geographical areas.
Self-motivated, fast learner, willing to go outside of comfort zone and learn new things.
Strong Analytical Skills, Able to comprehend and dissect a problem
Experince working with external client facing application.
Experience in the financial services sector a plus.
Attitude to challenge status quo and provide alternate solutions
Technical Skills (Distributed)
* Deep expertise in Java, Spring, Spring Boot, J2EE Design Patterns, REST services,SOAP Services,spring batch, any ORM Framework
* Hands-on experience in RDBMS(Oracle) and NoSQL(mongodb)
* Experience with cloud technologies, continuous integration and continuous delivery.
* Expertise in Test driven development (Junit, JMeter), Continuous Integration (Jenkins, Gitlab), Build tool(Maven) and Version Control (Git), Development tools (Eclipse, IntelliJ), Docker.
* Experince with mocking framework(Mockito)
* Experience with one of the messaging frameworks like Kafka, Rabbit-MQ or IBM MQ.
* Experience with one of the caching frameworks.
Bachelor's degree in computer science engineering or a related discipline, or equivalent work experience required. 7-9 years of experience in software development required; experience in the securities or financial services industry is a plus. Job holder must have understanding interdependencies and business impact of future IT plans. S/he must have prior lead experience selecting and implementing vendor-specific methodologies and prior consulting experience with structured methodologies. Extensive experience with developing and supporting backend environment required. Job holder must have broad experience with multi-platform development tools and toolkits.