Generally, this may include the analysis of COTS systems , hardware and software, or the internal design and development of software systems.
Dispenses technical advice, guidance, direction, and authorization to carry out major plans and procedures.
Coordinates the design, development, marketing, and maintenance of technology projects or product lines. Analyzes new technologies and runs competitive analyses.
Promotes the interfacing and control of the organization's present technology and the dissemination of technological information throughout the organization.
Technical Analysis - Analyze functional and non-functional requirements for development projects involving Programming frameworks as well as commerce, experience management, search, content management and analytics.
Technical Design – Create application design documentation for the development team with an understanding of current state and future enhanced state. Architecture diagrams, Interface/Integration specification artifacts, extracting features from existing functionality, coordination with development SMEs.
- Responsible for establishing current and long-range direction of technology aimed at keeping the organization on the forefront of change.
- Design, Architect, and Implement next generation digital architecture and solutions Implement, maintain, and improve Continuous Integration and Continuous Delivery environments
- Serve as a digital evangelist providing thought leadership and keeping current on industry trends
- Own and lead initiatives to define, design, and implement digital solutions which includes reference architectures, estimates, and costing.
- Provide technical leadership, project guidance, and business development in various digital technology areas
- Work with the development team to assist in code reviews and establish code standards as required Mentor/guide application developers.
- Advise business and technology delivery leadership on how to translate infrastructure and business requirements into executable technology solutions.
- Lead workshops and proof of concept exercises with business and technology teams and provide presentations of the proposed solution.
- Work closely with UX and UI designers to help them understand the constraints of applications so that they produce usable designs for both desktop and mobile experiences.
- Acts as a technical liaison between business, technology delivery teams and production support
- Define common business and development processes, platform and tools usage for solutions and delivery
- Conduct reviews and audits of existing solution, design and system architecture
- Perform profiling, troubleshooting of existing solutions
- Analyze, identify, and mitigate application performance issues
- Create technical documentation
- University degree in Computer Science, Engineering, Business or any combination of education and experience, which would provide an equivalent background.
- 8+ years working on large, complex software projects
- 3+ years of experience working in Agile environments
- Broad knowledge of software development and software testing methodologies along with change and configuration management practices in Linux based environments
- Strong knowledge of software delivery life cycles including agile methodologies
- Strong knowledge of cloud environments/services and solutions
- Strong knowledge of JEE and related frameworks
- Strong scripting skills (Python, Ruby, Perl, R, Spark)
- Proficient with Agile development management tools (JIRA, Confluence, and ALM preferred)
- Experience with automated deployment, continuous integration, and release engineering tools (Jenkins, Groovy, Bitbucket, Jira, Nagios, Zabbix, Cacti, New Relic, Graphite)
- Strong knowledge of infrastructure automation tools (Puppet, Chef, Ansible)
- Working knowledge of AWS, Google or Azure Cloud Computing Platform & Services
- Experience working with Docker or other virtualization platforms
- Working knowledge in DevOps solution delivery and strategy
- Experience with Big Data tools (Hadoop, Spark, Apache HBase, KafKa)
- Familiar with network architecture, security architecture and network topologies
- Solid knowledge of design patterns and refactoring concepts
- Practical expertise in performance tuning and optimization, bottleneck problems analysis
- Active community member and contributor to open source projects is a plus
- Ability to work in fast changing environment
- Ability to work with distributed teams in several time zones
- Ability to lead a large technical team to identify and solve technical problems
The company is committed to providing an inclusive and barrier free recruitment process to applicants with accessibility needs in accordance with the Ontario Human Rights Code and the Accessibility for Ontarians with Disabilities Act (AODA). If you require an accommodation during this process, please inform the company of your requirements.