Job responsibilities
- Executes creative software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems.
- Develops secure high-quality production code, and reviews and debugs code written by others.
- Identifies opportunities to eliminate or automate remediation of recurring issues to improve overall operational stability of software applications and systems.
- Leads evaluation sessions with external vendors, startups, and internal teams to drive outcomes-oriented probing of architectural designs, technical credentials, and applicability for use within existing systems and information architecture.
- Manage scope, timelines and prioritization of Technology projects, working closely with business stakeholders and product owners.
- Leads communities of practice across Software Engineering to drive awareness and use of new and leading-edge technologies.
- Perform Architectural reviews and Code-reviews.
- Adds to team culture of diversity, equity, inclusion, and respect.
- Design, build, deploy and maintain software applications for Internal Audit functions in close collaboration with our business/customer stakeholders.
Required qualifications, capabilities, and skills
- Formal training or certification on enterprise application development concepts and 5+ years applied experience.
- Demonstrated proficiency in software applications and technical processes within a technical discipline (core Java/J2EE server side hands on development experience based on Java technologies including core Java, Spring and application containers).
- Hands-on practical experience delivering system design, application development, testing, and operational stability.
- Advanced in one or more programming language(s).
- Proficiency in automation and continuous delivery methods.
- Advanced understanding of agile methodologies such as CI/CD, Application Resiliency, and Security.
- Cloud - Experience with both Private and Public clouds with Docker/Kubernetes.
- Experience with JDBC/JPA frameworks like Spring and Hibernate.
- Familiarity with JS frameworks/libraries (e.g. ReactJS, Angular), JavaScript, HTML 5, CSS etc.
Preferred qualifications, capabilities, and skills
- Proficiency in software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.).
- Understanding of the financial services industry and their IT systems.
- Knowledge on cloud-based application architectures, micro services, and distributed systems.
- TDD - Practical experience with unit testing using tools like JUnit and Mockito.
- Knowledge of build tools like Maven, source control like Git/Bitbucket with CI/CD.
- Database development skills including SQL, relational data design, stored procedures and database performance tuning.
- Experience with refactoring concepts and how they apply when building and maintaining high-quality solutions.