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++

 

Senior Operations Developer

The Position

As a Senior Operations Developer, you will design, implement and deliver software components for some of the world's largest retailers. You will tackle the technical challenges in an agile environment with massive data storage (5 PB) that serve copious volumes of customers (20 million) and data (2 TB daily) online. It would be expected of you to actively propose new solutions to “old” problems, seek out the bad code and fix it, champion the change to new technology and new processes and above all have the real passion for software development. You will also be responsible for helping coach and mentor developers within your team.  This role will include some weekend work as the team rotate schedules during the week to accommodate 7 day coverage.

Key Accountabilities

 

  • Drives problem determination and resolution.
  • Ensures PM's have accurate technical advice, assessments and estimates form development team.
  • Assists in transfer of business and technology knowledge.
  • Promotes team effectiveness by removing technical blockers.
  • Participates in code and design reviews.
  • Working as part of a project team in an agile environment, working with the Lead Developer and Project Manager to ensure team deliverables are met.
  • Developing and maintaining required documentation.

Required Experience & Skills

  • Post-secondary degree/diploma in Computer Science or equivalent. 
  • 5+ years' experience in web application development using C# and the .NET framework.
  • 5+ years' experience in relational database development using Microsoft SQL Server.
  • 3+ years' experience working in an Agile / SCRUM development environment.
  • Ability to multitask over multiple projects in an agile team.
  • Excellent communication.
  • Driven attitude.
  • You have a degree in Computer Science (or a relevant field), or an equivalent combination of education, experience and amazing ability.
  • Knowledge of SOLID principles.
  • Hands on Experience with ASP.Net Forms and MVC, JavaScript and WPF considered a strong asset
  • 5+ years' experience with large design efforts, enterprise level deployment, and n-tier architecture.

Nice to have

  • Experience with Reddis, RabbitMQ, Azure
  • Experience with different web application frameworks
  • Experience with an Agile development process

 

Operations Developer

Position

PNI Digital Media is currently looking for an Intermediate Operations Developer to use their technical expertise for designing, implementing, documenting, maintaining, and supporting the platform and sites to meet the client requirements using PNI’s practices and standards. This role is cross-functional and can include front-end, back-end, database and flash development.  This role will include some weekend work as the team rotate schedules during the week to accommodate 7 day coverage. 

Key Accountabilities:

  • Participates in the development of technology solutions which utilizes PNI’s processes, templates, best practices and standards to maximize reliability, functionality, and integrity while minimizing costs and cycle time.
  • Participates in problem determination and resolution.
  • Develops and maintains required documentation.
  • Develops unit tests, and integration tests.
  • Supports QA and BA on acceptance testing.
  • Provides technical advice, assessments and estimates to PM or SM.
  • Assists in transfer of business and technology knowledge.
  • 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 technology/ systems 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 or SM on a regular basis.
  • Consults with others to solve problems when required.
  • Communicates outcomes of Lead Developer meetings to development team.
  • Participates in Product demos.
  • Schedules & participates in code reviews.

Experience and Skills:

  •  Post-secondary degree/diploma in Computer Science or equivalent.
  • 3+ years’ experience in (web)-application development utilizing C#.NET in Visual Studio.
  • 2+ years' experience with software version management systems (e.g. Git) and task/bug tracking software (e.g. JIRA)
  • 2+ years working in an Agile / SCRUM development environment
  • 2+ years' experience in relational database development using Microsoft SQL Server
  • Nice to have: Experience with technologies such as MVC, ORM, IOC, etc.
  • Excellent understanding of and some experience using Test Driven Development.
  • Deep understanding of object-oriented design patters and pragmatic programming principles.
  • Experience with Sitefinity CMS.
  • Expertise with nServiceBus and MSMQ considered a strong asset.
  • Hands on Experience with ASP.Net Forms and MVC, JavaScript and WPF considered a strong asset
  • Experience with high-performance, scalable enterprise systems would be a strong asset.
  • .NET development experience is a plus.
  • Understanding of, and experience with, server-client computing and relational database environments.
  • Self-motivated and directed, with keen attention to detail.
  • Able to prioritize and execute tasks in a high-pressure environment.
  • Experience working in a team-oriented, collaborative environment.
  • Good written (technical documentation) and oral communication skills.

 

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

 

Lead UI Designer

Purpose:

The Lead UI Designer is a passionate, detail-oriented individual who leverages their creative expertise to create and manage conceptual designs, wireframes, high fidelity mockups, interactive prototypes and application workflows for internal and external PNI clients. Working closely with the Creative Director, the Lead UI Designer will be responsible for managing projects from start to finish and be in constant communication with the creative team as a mentor and as a team member to help solve design problems. As the lead, it is very important to understand and learn what's important to our clients and treat their needs as your own.

Key Accountabilities:

• Manages creative requests and resources to make sure all projects are on track.

• Focuses on high-level creative thinking, producing concepts and ideas in line with project requirements.

• Works on mood boards, brainstorming, concept creation & design decks for presentations.

• Is part of all projects, assisting where needed, and will take on smaller projects independently

• Comes up with design solutions and maps out an estimated timeline for execution

• Focuses on continuous education and skills development.

• Oversees the creation of visual material for the PNI brand and its services ensuring that it meets a consistent look and feel and follows the style guide.

• Able to communicate with people from other teams, executives or clients in order to acquire more information, clarify issues, solve problems, present ideas and facilitate meetings.

• Ability to inspire the team by leading by example everyday.

• Delegates projects to senior designers and responsible for relaying the vision of the Creative Director

• Acts as a mentor by ensuring the team is always learning and engaged.

• Conducts quarterly performance reviews for the UI and graphic designers.

• Creates a great working environment for the team and establishes solid relationships with each creative team member.

• Delivers pixel perfect design, whether it is conceptual design, high fidelity mockups or presentations.

• Translates requirements into design specifications with an emphasis on user experience.

 

Required Knowledge and Skills:

• 6+ years experience that can demonstrate high level proficiency in design, web and multimedia software applications as well as printing procedures, photography, illustration and verbal and written communication.

• Diploma/Degree in Interaction Design or Digital Arts.

• Advanced knowledge with Adobe Creative Suite, Invision and Sketch.

• Knowledge of HTML/HTML5, CSS/CSS3, JQuery.

• Strong knowledge of UX processes.

• Ability to manage multiple projects and prioritize tasks while being detailed oriented.

• Must be able to work as a team or independently.

• Ability to stay on top of current trends if not be in front of it.

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.

 

Intermediate Developer

Position:

PNI Digital Media is currently looking for an Intermediate Developer to use their technical expertise for designing, implementing, documenting, maintaining, and supporting the platform and sites to meet the client requirements using PNI's practices and standards. This role is cross-functional and can include front-end, back-end, database and flash development.

Key Accountabilities:

  • Participates in the development of technology solutions which utilizes PNI's processes, templates, best practices and standards to maximize reliability, functionality, and integrity while minimizing costs and cycle time.
  • Participates in problem determination and resolution.
  • Develops and maintains required documentation.
  • Develops unit tests, and integration tests.
  • Supports QA and BA on acceptance testing.
  • Provides technical advice, assessments and estimates to PM.
  • Assists in transfer of business and technology knowledge.
  • 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 technology/ systems 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.
  • Communicates outcomes of Lead Developer meetings to development team.
  • Participates in Product demos.
  • Schedules & participates in code reviews.

Experience and Skills Required:

  • Post-secondary degree/diploma in Computer Science or equivalent.
  • 3+ years' experience in (web)-application development utilizing C#.NET in Visual Studio.
  • 2+ years' experience with software version management systems (e.g. Perforce) and task/bug tracking software (e.g. JIRA)
  • 2+ years working in an Agile / SCRUM development environment
  • 1+ years' experience in relational database development utilizing Microsoft SQL Server Experience with technologies such as MVC, ORM, IOC, etc.
  • Excellent understanding of and some experience using Test Driven Development.
  • Deep understanding of object-oriented design patters and pragmatic programming principles.
  • Experience with Sitefinity CMS considered a strong asset.
  • Expertise with nServiceBus and MSMQ considered a strong asset.
  • Hands on Experience with ASP.Net Forms and MVC, JavaScript and WPF considered a strong asset
  • Experience with high-performance, scalable enterprise systems would be a strong asset.
  • .NET development experience is a plus.
  • Understanding of, and experience with, server-client computing and relational database environments.
  • Self-motivated and directed, with keen attention to detail.
  • Able to prioritize and execute tasks in a high-pressure environment.

PNI offers a full list of perks and benefits fully paid by company, including healthcare and matching RRSP plan plus lots of fun activities throughout the year.

 

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.