Senior Software Engineer x 2
Story Behind the Need:
The team is looking for someone with a software background who will work with other data engineers, DevOps engineers, and other development/engineering teams in the bank to develop the technical solutions for enterprise data initiatives. The role of the Senior Software Engineer operates within the Product Engineering & Delivery team. This valuable member of the team will participate in creating scalable automated systems for re-usable data assets, pipelines and services for the broad enterprise use.
Typical Day in Role:
• Design and implement services and components to enable enterprise-wide use of data
• Automate and re-factor services code
• Work closely with software/data engineers and DevOps engineers to build data management capabilities that drive real business outcomes
• Participate in planning and retrospective sessions, attend stand-ups, etc.
Candidate Requirements/Must-Have skills:
1. 5+ years’ experience in building enterprise software
2. 5+ years’ experience with object-oriented programming languages (e.g. Scala, Python, Java)
3. 3+ years’ experience working with big data technologies (e.g. Spark, Hive)
4. 3+ years’ experience working with relational databases (e.g. MySQL, PostgreSQL)
5. Understanding of data management disciplines such as data quality and data profiling
6. Understanding of CI/CD (e.g. Jenkins, Git, Bitbucket, other)
7. Experience in software engineering best practices such as code reviews, testing frameworks, maintainability, and readability
Nice-To-Have Skills:
• Knowledge and understanding of container and micro-services technologies (e.g.
Docker, Kubernetes) is an asset
• Previous experience working in a technology company or financial institution
• Experience with performance tuning data pipelines
Soft Skills:
• Proven strong analytical design, troubleshooting and problem solving skills
• Strong communication skills, both written and spoken
• Team player, self-starter, fast learner
• Attention to details, high standards for quality
• Ability to write and maintain clear documentation
Education/Experience:
• Bachelor’s degree in Computer Science, Software Engineering, Mathematics, or similar discipline