Duties and Responsibilities:
Technology Strategy
- Developing appropriate technical solutions to address complex business opportunities, evaluating and selecting technologies, and collaboratively gaining organizational commitment to your proposed technical designs.
- Designing and implementing plans for developing, managing and maintaining software ecosystems.
- Researching emerging technologies and making recommendations that will increase future cost effectiveness, system flexibility, performance and capability.
- Making recommendations for improvements and/or alternatives to existing components.
- Maintaining and enhancing the technical capability of the team.
Technical Planning
- Validating and prioritizing the technology roadmap with the product owners and product managers
- Defining technical requirements and creating architectural specifications that demonstrate feasibility, illustrate desired functionality, explain the integration with existing systems/platforms, and the technical methodology necessary to delivering the next feature.
- Working with application engineers to understand the legacy code base and how best to modernize it.
- Implementing appropriate processes and tools to ensure the smooth operation of the development process.
- Progressively documenting the company’s new technology portfolio
- Working with product managers and engineers to create sprint backlog items that are clearly defined, appropriately scoped, and include clear success / acceptance criteria.
Technical Leadership
- Providing architectural expertise, oversight, direction, and assistance to a team of software engineers, product managers and technology management throughout the software development lifecycle.
- Leading the selection and adoption of appropriate technical tools and processes, and establish standards to ensure the efficient development, delivery and maintenance of high-quality code.
- Serving as a technical resource and mentor, and providing guidance to junior members of the team.
- Working collaboratively with the product manager during the sprint planning process, and scrum master during sprints to ensure the team knows what to do next and to remove technical obstacles.
Knowledge, Skills and Abilities (in order of importance):
- 3+ years supporting an Azure infrastructure
- Expertise in C# and .NET 2.0+ (we are currently on 3.1 moving to .NET 5)
- Experience building high-performance Web APIs using REST or RPC-based patterns
- Familiarity with web-based, client-side UI development (we use Vue.js)
- Familiarity with Azure DevOps (including Build and Release pipelines)
- Basic understanding of agility-based software development methodology and process.
- Strong knowledge of software and data security principles and practices.
- Good knowledge of applicable data privacy practices and laws.
- Exceptional analytical, conceptual, and problem-solving abilities.
Educational Experience:
- College diploma or university degree in the field of computer science/engineering or information systems. This requirement may be satisfied with 12+ years relevant work experience.
- Certifications in software development, systems architecture, or enterprise architecture are desired.