As a SeniorSoftware Engineer
Job responsibilities
- Executes software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Creates secure and high-quality production code and maintains algorithms that run synchronously with appropriate systems
- Produces architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
- Gathers, analyzes, synthesizes, and develops visualizations and reporting from large, diverse data sets in service of continuous improvement of software applications and systems
- Proactively identifies hidden problems and patterns in data and uses these insights to drive improvements to coding hygiene and system architecture
- Contributes to software engineering communities of practice and events that explore new and emerging technologies
- Adds to team culture of diversity, equity, inclusion, and respect
- Defines a roadmap to build out features of the solution that deliver capabilities which align with specific short-term use cases and requirements.
- Works with teams across the bank to source reference data (and associated metadata)
- Builds metadata-driven declarative data transformations (JSON-to-JSON)
- Partners closely with colleagues through pairing and code reviews
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 3+ years applied experience
- Hands-on practical experience in system design, application development, testing, and operational stability
- Demonstrated experience in Golang development and with distributed computing
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Overall knowledge of the Software Development Life Cycle
- Solid understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
- Demonstrated knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)
- Proficiency in working with information/data models
- Hands-on practical experience in both consuming and writing web service APIs -RESTful or Graph-based using JSON and/or XML.
- Some exposure to LDAP, Active Directory, OIDC, SAML, Kerberos, Amazon IAM, or other enterprise/cloud authentication/authorization technologies
- Experience of deployment through a controlled pipeline e.g – Jenkins, GIT, Bitbucket, Artifactory, automated test and integration
Preferred qualifications, capabilities, and skills
- Experience with logic programming – Rego, Datalog or Prolog
- Experience with formal test methods, deterministic simulation testing, Satisfiability Modulo theories, Boolean Satisfiability
- Use of RDF technologies such as SparQL or JSON-LD
- Declarative model transformations or mappings – e.g. in a data pipeline