Advanced Security Engineer

Position

The Advanced Security Engineer has responsibility for supporting the development, implementation, and operation of secure software and information systems that support PNI's Global Enterprise and serve PNI's' customers.

This position assists the business with security, privacy, and compliance related aspects with respect to functionality, performance, scalability, reliability, realistic implementation schedules, and adherence to development goals and principles.

Key Responsibilities

  • Provides information security expertise related to mobile and web e-commerce application development.
  • Supports multiple products, customers and GT teams as an application security SME.
  • Create baseline threat model and risk assessment for all applications and systems in use at PNI Digital Media.
  • Determine application/infrastructure/operational security gaps and controls to improve PNI's security posture.
  • Maintain and communicate status of application related threats/controls/risk to management.
  • Implement and champion secure SDLC practices at PNI Digital Media.
  • Assist internal PNI PMO staff and customers with security requirements during inception and elaboration phases of SDLC.
  • Assist internal engineering and architecture teams with implementation of tactical and strategic security patterns.
  • Create security architecture and design documents to provide assurance to customers and technical sales support to internal staff.
  • Assist customers during integration and implementation phases of SDLC.
  • Experience as an information technology (preferably security) instructor is desired.
  • Review internal and third party application security test results, rate the risk of detected issues, and work with engineering and architecture on design and implementation of controls.
  • Review bug reports, identify and rate the risk of detected security issues, and work with engineering and architecture on design and implementation of controls.
  • Participate in related industry organizations and special interest groups. 
  • Keep abreast of evolving vulnerabilities and attack patterns that could impact PNI's e-commerce business.
  • Technical presentations on application security patterns and best practices (cryptography, mobile application security, SSO, etc.).
  • Mentor select engineering and architecture resources on application security patterns and best practices.

Knowledge and Skills

  • Expert knowledge and experience with application security weaknesses and design patterns (OWASP Top Ten, OWASP ASVS, etc.) applied to MVC architecture is required.
  • Expert knowledge and experience with e-commerce payment services and PCI-DSS requirements for application development and operation is required.
  • Expert knowledge and experience with IAM application security technologies (OAUTH, OpenID, SAML, etc.) is required.
  • Expert knowledge and experience with creating security design, architecture, and risk assessment documents is required.
  • Excellent verbal and written communication skills including the ability to author and present materials ranging from detailed technical specifications to high-level presentations.
  • A positive attitude and a desire to tackle challenging problems through teamwork and collaboration is required.
  • Familiarity with MS Dot Net and Active Directory is desired
  • Expert knowledge and experience with smartphone platforms (iOS, Android and/or BlackBerry) and mobilized services is required.
  • Expert knowledge of and experience with cryptographic systems running on mobile devices and mobilized services.
  • Expert knowledge of and experience with mobile application security (software and firmware) and related peripheral technology such as NFC is required.
  • Knowledge and experience with security technologies such as intrusion detection/prevention, event correlation, firewall, antivirus, anti-spam, policy enforcement, patch/configuration management, usage monitoring, audit, secure application development, etc. is desired.

Security Manager

Position

Reporting to the VP Technology, the Security Manager has strategic responsibility for ensuring all PNI projects, software development and deployments adhere to PNI's security requirements. The position is also responsible for security reporting, documentation and compliance across the enterprise. In addition to the core responsibilities listed above, this position assists the business with security and privacy related aspects in respect to functionality, performance, scalability, reliability, realistic implementation schedules and adherence to development goals and principles.

Key Responsibilities

  • Responsible for Security, Privacy and Compliance related tasks for PNI Digital Media
  • Support the business with ongoing testing programs and analysis using internal and external tools and teams
  • Support security analysis for all PNI
  • Report on key security metrics on a monthly basis
  • Working with Development Management and Operations Management, initiate and maintain security training programs for various teams and individuals
  • Keep key stakeholders informed of any potential risk to the PNI infrastructure and technology
  • Ensure development and infrastructure teams meet objectives in relation to security initiatives
  • Champion a culture of security with PNI upper management
  • Champion PCI-DSS and retailer contract compliance with upper management
  • Run basic security awareness training on an on going basis for all employees
  • Champion secure SDLC framework with project, release and operations teams
  • Risk assessment, remediation and tracking of security and compliance issues.
  • Document PNI security architecture and operations
  • Manage IS team performance, workload assignment and prioritization, and other labour related matters
  • Develop and document process for IS team and program

Knowledge and Skills

  • Must have previous experience in a Security IT role
  • IT security certification - CISSP, CISM or GIAC certification is an asset
  • Must have understanding of perimeter security devices, including firewalls, routers, switches, IDS\IPS, RAS, VPN and DMZ technologies.
  • Must have understanding of big data and cloud based systems
  • Strong understanding of Agile development
  • Strong writing, presentation, project management and communication skills
  • A Bachelor degree, or related field, or equivalent experience
  • Ability to influence at all levels in an organization

 

Senior Developer iOS

PNI Digital Media is looking for a Senior iOS Developer on a permanent full time basis for their Vancouver office. Working within an Agile environment, you will use your technical & organizational expertise to work on a project team in ensuring successful delivery of software components and deliverables. 

Key Accountabilities:

  • Works with Senior iOS Developers on our iPhone and iPad applications
  • Write high-quality and efficient code that solves user needs as defined by PM & BA
  • Create view layouts in XCode Interface Builder based off design specs and wireframes
  • Collaborate closely with our product managers, designers, and server engineers to help shape the evolution of the PNI mobile experience
  • Use solid knowledge of the iOS platform to help guide design and engineering decisions
  • Improve unit testing and development processes
  • Optimize applications for maximum speed and scalability
  • Prioritize a wide variety of work tasks with your teammates
  • Perform code and design reviews
  • Schedule & participate in code reviews

Required Experience and Skills:

  • Post-secondary degree/diploma
  • 5+ years building consumer-facing web and/or mobile software in a developer role
  • Previous experience on a project team within the mobile environment
  • Fluency with Objective-C and creation of Dynamic libraries
  • Knowledge of cutting-edge iOS technologies (e.g. Pass Kit, Collection Views, Auto Layout, ARC)
  • Experience with social media SDK integration
  • Experience with performance and memory tools
  • Experience integrating with server-side RESTful APIs
  • Proficient with Git and continuous integration
  • 5+ years working in an Agile / SCRUM development environment
  • Passion for a consistent and responsive user experience
  • Have built or contributed to a successful mobile application (include download link in application)
  • Passion for iOS Development

Nice to have:

  • Android and/or Java experience
  • Experience developing E-commerce or Photography apps on iOS
  • Experience writing server-side APIs
  • Experience in web application development utilizing C#.NET in Visual Studio
  • Relational database development utilizing SQL / SQL Lite
  • Active contributor to open source software
  • Developed custom apps for a client
  • OpenGL ES
  • Experience with C++

 

QA Automation Developer

Purpose:

The QA Automation Developer is mainly focused on the Automation side of QA and serves as a quality assurance resource to monitor and evaluate the quality of deliverables for the solutions to ensure they meet the client requirements using PNI's practices and standards.

Key Accountabilities:

  • Develop and maintain Automated test script
  • Develops and executes testing plans and strategies for deliverables which implement PNI's processes, templates, best practices and standards to maximize reliability, functionality, and integrity while minimizing costs and cycle time.
  • Develops test plans and strategies based the quality assurance strategy and plan.
  • Takes direction and is able to work independently testing a product for flaws and digging into a problem until a reproducible set of steps for the root cause of a problem can be documented and handed off to development for fixing. Resolution testing of same.
  • Leads push teams as required to ensure quality of a release and a fast, efficient, low-impact push process.
  • Tracks bugs / issues and their fixes.
  • Advises on the go/no-go decision for releases.
  • Develops and maintains required documentation.
  • Participates in the development of unit tests, integration tests, regression tests, acceptance testing.
  • Monitors and acts on quality metrics.
  • Mentors the team on testing and quality practices.
  • Provides mentorship to more junior team members in becoming better testers.
  • Promotes test driven development and testing at the developer level.
  • Encourages and supports continuous improvement.
  • Provides technical advice, assessments and estimates to PM.
  • Develops a strong working knowledge of products, services, and industry trends to select appropriate technologies to meet PNI and Client requirements.
  • Works with the Business Analyst in the translation of business requirements into testing requirements.
  • Initiates interaction with Enterprise Architects and Lead Developers to research and identify alternatives which will provide cost savings and/or increased operating efficiencies.
  • Promotes team effectiveness.
  • Communicates with all areas to ensure a smooth efficient process.
  • Reports status to PM on a regular basis.
  • Consults with others to solve problems when required.
  • Identifies recurring quality issues and develops initiatives to address them. Acts as a driver for these initiatives.
  • Acts as QA Managers eyes and ears within the teams to communicate bi-directionally the needs of PNI for Quality.

Required Skills

  • Read and understand Test Plans. Be able to create test plans and strategies for all sizes of projects.
  • Experience with testing web sites and web applications a must; experience with retail web sites a definite bonus.
  • Read, understand and follow test scripts. Must be able to help put together meaningful and complete test scripts based upon software flows and Test Plans. Must be able to maintain and update scripts for evolution cycle of the product.
  • Take direction and then be able to work independently testing a product for flaws and digging into a problem until a reproducible set of steps for the root cause of a problem can be documented and handed off to development for fixing.
  • Capable of handling the test process from planning through implementation for projects, leveraging and leading team members where necessary.
  • Must be able to take problems found during QA process, analyze to determine target party for issue resolution and then facilitate investigation and solution with development and PM teams.
  • Understanding of test automation tools and some experience with test automation implementation.
  • Create reports and analysis of testing progress and results.
  • Excellent English communication skills, both verbal and written
  • Excellent reasoning, analysis and problem solving skills and the ability to document ideas clearly and concisely
  • Positive and upbeat attitude
  • Contributes and is owner of the QA Lore and Knowledgebase.

Education and Experience

  • Computer Science or Engineering degree/ diploma.
  • Minimum of 3 years software testing experience with at least 1 years' experience in Automation
  • Experience in testing Internet-based applications. Familiar with .NET based websites.
  • Understanding of Software Configuration Management processes and activities.
  • Experience using test automation tools and preparing automation scripts.
  • Experience in collecting and analyzing software quality metrics.
  • Complete knowledge of testing methods
  • IIS 5+, HTML, XML, CSS, JavaScript and DHTML knowledge an asset
  • Understanding of Web Services an asset.
  • MS SQL Server knowledge and testing experience an asset.
  • Experience with automation tools (coding, not record/playback)
  • Experience building automation framework
  • Some knowledge of Load testing
  • Experience with continuous integration is a plus

 

QA Automation Lead

The Position:

The Automation Lead serves as a quality assurance resource that acts as key point of contact for all aspects of automation, providing leadership and coordinating automation resources, monitoring and evaluating the quality of automation code to ensure they meet PNI's requirements using PNI's practices and standards.

Key Accountabilities:

  • Works closely with the QA manager to establish and evolve formal Automation processes ensuring that the team is using industry accepted best practices
  • Oversee all aspects of Automation including establishing metrics, applying industry best practices and developing new tools/strategies and processes to ensure quality goals are consistently met
  • Lead and mentor automation team members on coding and quality practices.
  • Develops and executes automation plans and strategies for deliverables which implement PNI's processes, templates, best practices and standards to maximize reliability, functionality, and integrity while minimizing costs and cycle time.
  • Review deliverables of team members and provide feedback, check status of assigned tasks, resolve any issues faced by team members and ensure timely completion of automated testing activities.
  • Document, implement, monitor and enforce all standards, guidelines, methodologies and processes as defined by the organization
  • Collaborate with all stakeholders and prepare Automation test strategy and scripts
  • Identify and prepare the complex business regression scenarios
  • Monitors and acts on quality metrics.
  • Reviewing and approving automation and performance testing artifacts and deliverables
  • Encourages and supports continuous improvement.
  • Provides technical advice, assessments and estimates to PM and QA manager.
  • Develops a strong working knowledge of products, services, and industry trends to select appropriate technologies to meet PNI and Client requirements.
  • Initiates interaction with Enterprise Architects and Lead Developers to research and identify alternatives which will provide cost savings and/or increased operating efficiencies.
  • Promotes team effectiveness.
  • Communicates with all areas to ensure a smooth efficient process.
  • Reports status to QA manager on a regular basis.
  • Consults with others to solve problems when required.
  • Identifies recurring quality issues and develops initiatives to address them. Acts as a driver for these initiatives.
  • Contributes and is owner of the QA Automation Knowledgebase.

Required Skills

  • Experience in Automation using Selenium (2+ years)
  • Hands on experience in scripting is must (5+ years)
  • Experience in developing the automation frame work
  • Hands-on experience in testing web services and web-based applications is required;
  • Experience in Agile methodologies
  • Extremely proactive with a strong bias for action.
  • Ability to code in C#
  • Should be a team player, strong communicator.
  • Ability to develop frame work from scratch
  • Ability to write test cases
  • Lead a small team, prioritize tasks and deliver
  • Create reports and analysis of automated testing progress and results.
  • Excellent English communication skills, both verbal and written
  • Excellent reasoning, analysis and problem solving skills and the ability to document ideas clearly and concisely
  • Positive and upbeat attitude

Education and Experience

  • University degree or technical diploma.
  • Minimum of 5 years software testing experience
  • Experience in testing Internet-based applications. Familiar with .NET based websites.
  • Experience managing a team of 4 or more.
  • Full understanding of Selenium and C# (5+ years)
  • Full understanding of Jmeter (3+ years)
  • Understanding of Software Configuration Management processes and activities.
  • Experience using test automation tools and preparing automation scripts.
  • Experience in collecting and analyzing software quality metrics.
  • Complete knowledge of testing methods
  • IIS 5+, HTML, XML, CSS, JavaScript and DHTML knowledge an asset
  • Understanding of Web Services an asset. 
  • MS SQL Server knowledge and testing experience an asset.

 

Project Manager

Project Manager

Our Project Managers are responsible for leading and facilitating all activities performed by the project team throughout the project life cycle. In this role you'll be accountable for the execution of the project, will ensure that projects meet our clients' requirements, and that they are completed on time, within budget and to the required quality.

Key Accountabilities:

Project Management

  • Utilizes PNI's practices and standards to develop and manage project charters, project plans and task assignments for all team resources, also specifying client commitments.
  • Interfaces with key project stakeholders, including the client, Account Managers, Business Analysts, Lead Developers and Enterprise Architects.
  • Determines necessity for gap analysis on new initiative or at-risk projects. Facilitates gap analysis process.
  • Determines priorities between projects when managing more than one project.
  • May gather requirements and document them for analysis, estimation, design and QA.
  • Maintains status reports, meeting minutes and other project documentation throughout the project duration; ensures it is written in a clear and concise manner.
  • Works with the team to create estimates, determine timelines and perform technical assessments for the project in initiation stage.
  • Works with the team to review project status, identify project tasks and dependencies.
  • Conducts risk analysis and maintains risk management documentation.
  • Identifies, communicates and removes barriers as related to projects and processes.
  • Works with main project stakeholders to obtain Go/No Go decisions for all project phases
  • Works with Release team to plan releases and all related activities, provides information to the release team required for production system update
  • Manages project close-off and hand-off to maintenance

Agile-specific

  • Organizes daily scrums and enforces scrum format. Maintains scrum minutes and ensures continuity in the scrum architecture.
  • Defines, maintains and modifies project workflow and transitions in PM tools as-required to accommodate project / team needs.
  • Maintains burn-down chart and communicates status to the team daily and stakeholders as per procedure.
  • Facilitates sprint planning and review sessions and ensures team ownership and involvement in the process.

Developing People & Tools

  • Provides individuals and their managers with accurate and timely feedback and coaching for performance improvement.
  • Resolves or facilitates resolution of conflicts.
  • Pursues opportunities for improving existing PNI procedures related to project planning execution and closing.
  • Participates in the selection of tools and methods for managing projects.
  • Mentors junior project managers.

Experience and Skills Required:

  • 5+ years of Project Management experience with minimum 1 year experience managing large projects.
  • PMP or CSM certification is an asset.
  • True believer in the Agile principles and values with minimum 2 years' experience working in an Agile environment.
  • Understanding of the Software Development Life Cycle.
  • Experience working with off-shore developers, to ensure quality of work and timely delivery.
  • Experience working on projects with logistics complexity.
  • Excellent written and verbal communication skills with the proven ability to effectively communicate with clients and partners, and across the different levels of the organization.
  • Exceptional planning, organizational and problem solving skills.
  • Strong motivational and team building skills.
  • Excellent time management and project tracking skills.