Software Development Engineering – CW – Senior, Software Engineering
Job Overview
Job title: Software Development Engineering – CW – Senior, Software Engineering
Job description: Job Description: As a Senior Software Development Engineer at Finance Company, you are expected to perform the following general duties:
Participate in team prioritization discussions with Product/Business stakeholders
Estimate and own delivery tasks (design, dev, test, deployment, configuration, documentation) to meet the business requirements
Automate build, operate, and run aspects of software
Drive code/design/process trade-off discussions within their team when required
Report status and manage risks within their primary application/service
Drive integration of services focusing on customer journey and experience
Perform demos/acceptance discussions in interacting with Product owners
Improve operational experience and metrics in ownership areas
Mentor and guide new and less-experienced team members
Identify opportunities to improve an overall process and trim waste
Share and seek knowledge within their Guild/Program to drive reuse and productivity
Professional Qualifications
Business operations: Leverages working knowledge of Finance Company business, systems, products, and customer requirements in making fact-based business decisions.
Market knowledge: Applies deeper knowledge of local/regional markets and industry trends linking to own technical expertise to provide relevant and up-to-date work deliverables.
Competitor knowledge: Reviews information on competitors product offerings, business models and technology innovations on a regular basis and shares findings.
Growing and developing teams: Actively seeks and participates in activities which stretches ones existing skill set and adds new, and more difficult capabilities for team members.
Inspiring and empowering others: Encourages and uses the strengths of colleagues to effectively deliver and innovate work approaches to constantly exceed expectations.
Coaching and feedback: Use an evidence-based approach to provide constructive feedback to team members maturely handling the conversations towards positive outcomes.
Technical Qualifications
Programming: Has ability to write secure code in three or more languages (e.g.C, C+, C#, Java, JavaScript, COBOL, SQL); familiar with secure coding standards (e.g.OWASP, CWE, SEI CERT) and vulnerabilities
Programming: Understands internal of operating systems (Windows, Linux, Mainframe) to write interoperable and performant code; able to perform debugging and troubleshooting to analyze core, heap, thread dumps and remove coding errors; understands cryptography techniques and libraries to build secure communication and user authentication/authorization (e.g. OAuth1.0a, SAML, GnuTLS, OpenSSL, PKCS#11, CryptLib, JCA/JCP, JWT/JWS/JWE)
Development Practices: Understands and implements standard branching (e.g.Gitflow) and peer review practices; Apply tools (e.g.Sonar, Zally, Checkmarx) and techniques to scan and measure code quality and anti-patterns as part of development activity; understands and builds test code at unit level, service level, and integration level to ensure code and functional coverage
Development Practices: Able to apply DRY (Dont Repeat Yourself) principle to enable common library development for enterprise-wide reuse; has skills in test driven and behavior driven development (TDD and BDD) to build just enough code and collaborate on the desired functionality; has skills to author test code with lots of smaller tests followed by few contract tests at service level and fewer journey tests at the integration level (Test Pyramid concepts
Patterns and Frameworks: Understands theuse of basic design patterns (e.g.factory, adaptor, singleton, composite, observer, strategy, inversion of control); has skills inbuilding applications using open frameworks to achieve reuse and reduce development times (e.g.Spring Boot, Steeltoe, Angular, DXP, others)
Patterns and Frameworks: Understand use cases for advanced design patterns (e.g. service-to-worker, MVC, API gateway, intercepting filter, dependency injection, lazy loading, all from gang of four) to implement efficient code; understands and implements Application Programming Interface (API) standards and cataloging to drive API/service adoption and commercialization
Patterns and Frameworks: Understand use cases for advanced design patterns (e.g.service-to-worker, MVC, API gateway, intercepting filter, dependency injection, lazy loading, all from gang of four) to implement efficient code; understands and implements Application Programming Interface (API) standards and cataloging to drive API/service adoption and commercialization
Planning: Has skills to collaborate with team and business stakeholders to estimate requirements (e.g. story pointing) and prioritize based on business value; understands work classification to determine software capitalization opportunities; has skills to elaborate and estimate non-functional requirements, including security (e.g. data protection, authentication, authorization), regulatory, and performance (SLAs, throughput, transactions per second)
Practices and Metrics: Has skills to understand, report, and optimize delivery metrics to continuously improve upon them (e.g. velocity, throughput, lead time, defect leakage, burndown); has skills to document and drive definition-of-done for requirements to meet both business and operational needs; understands cost of defects and implements a well-defined defect life cycle to minimize defect leakage and improve customer and operational experience; has skills to conduct product demos and co-ordinate with product owners to drive product acceptance sign-offs
Engineering Principles: Understand the basic tenets of buildingand runningmission critical software capabilities (security, customer experience, testing, operability, simplification, service-oriented architecture)
Engineering Principles: Has skills to implement and govern data protection at rest and transit to meet regulatory needs (e.g. PCI DSS, GDPR); has skills to understand customer journeys and ensure Finance Company good experience by continuously reducing Mean time to mitigate (MTTM) for incidents and ensuring high availability (99.95% as a starting point); has skills to simplify deployment and eliminate software and infrastructure snowflakes using standardized platforms, ephemeral instances, and automation
Patterns and Protocols: Understands encryption and digital signature standards and patterns (e.g. symmetric/secret-key – AES, public key, and hashing – SHA-2 and SHA-3) and recommend software or hardware (HSM) implementation solutions; has skills to implement authentication and authorization patterns depending on use cases (e.g. RBAC, multi-factor, SSO, biometric)
Automation: Has skills to orchestrate release workflows and pipelines, and apply standardized pipelines via APIs to achieve CI and CD using industry standard tools (e.g. Jenkins, Bamboo, AWS/Azure pipelines, XL Release, others); able to configure rules and build automation for code with vulnerability scanning and software composition analysis using standard tools (e.g. Sonar, Checkmarx, Nexus, JFrog XRay, Veracode, others); manage builds and artifacts leveraging standard tools (e.g. Artifactory) to ensure error-free deployment of production code using canary and blue-green techniques
Performance and Observability: Has skills to implement standard logging and event correlation for business transactions and security events for faster troubleshooting and compliance; familiar with adoption of standard logging frameworks and tools (e.g. log4j, SLF4J, Splunk) to aggregate and analyze time-series of logs; has skills to build monitoring and alerting focusing on key signals (resource usage, threshold breaches, rate of change) by using industry standard tools (e.g. Dynatrace, Netcool/OMNIbus, OpenTracing)
Test Strategy: Follows Finance Company testing standards via the Test Strategy; has skills to author test cases leveraging behavior driven development and customer journey concepts; understand organization of testing artifacts (e.g. test folders, sets, runs) in ALM tools and link them to automated testing code to report status of test runs
Testing Types: Understand functional and non-functional testing types and elaborate and estimate test efforts; understand how to build and automate robust tests to minimize defect leakage by performing regression, performance, deployment verification, and release testing
Platform as a Service (PAAS) /Function as a Service (FAAS): Understands general concepts around PAAS and FAAS, and building applications that can be hosted on any standardized on-prem/public or private cloud environments
Containerization: Shows basic knowledge of containers, how they work, and their interaction with applications and other systems on the platform
Company: PRI Global
Expected salary:
Location: Vancouver, BC
Job date: Thu, 10 Mar 2022 05:10:41 GMT
Job Source: Careerjet.ca