LEAD DEVELOPER
COMPETITION #MLL209/24-25-E
Reporting to the Supervisor, Application Services, The Lead Developer is responsible for technical direction, guidance and leadership to the development team and support of their assigned technology / solution domain. The incumbent will be responsible for complex and large assignments while ensuring appropriate daily support of production solutions. The Lead Developer ensures the efficient and effective development and delivery of on time, quality releases, and that the stakeholders are satisfied with the solutions delivered. The Lead Developer will contribute to all aspects of software development, from design to estimation to development and testing.
The successful candidate is an enthusiastic and motivated senior developer with expertise in at least one of the following: Java Script Framework (i.e. Angular, Node.js, Vue.js, etc.), Mobile framework (i.e. Ionic, Apache Cordova, and phone gap) as well as experience in using REST API, Oauth and SSO. This is an exciting opportunity for seasoned developer who is passionate about developing tools to help achieve business goals and objectives.
Responsibilities
- Apply the systems development methodology and standards to ensure effective solution design, development, testing, and implementation are completed in partnership with the business and ITS.
- Propose and assess solutions, determine which solution best fits the business need, identify gaps and shortcomings, and determine necessary workarounds or changes to the solution.
- Create system design proposals working with stakeholders to ensure efficiency, compatibility and interoperability of the proposed solution.
- Provide guidance and direction to the development team, ensuring adherence to best practices, coding standards, and Enterprise Architecture guidelines.
- Translate business requirements into well-designed and documented software components based on the technologies and solution domain assigned.
- Exhibit and establish a culture of quality software design.
- Explain assumptions and methodologies and simplify complex concepts for non-technical users.
- Articulate pros and cons of an action in a clear manner.
- Set high-level design objectives, review and critique software designs proposed by the team and other solution designers.
- Maintain product roadmap and development plan documents for assigned domain.
- Propose frameworks, technologies and standards for development and implementation of software products within assigned technology/solution domain.
- Ensure quality engineering processes for the project such as software version control of the source code repository, build automation, unit testing, software configuration management, and packaging.
- Conduct research on hardware and software products to justify recommendations and to support technology solution purchasing efforts.
- Participate in business case development by working with stakeholders.
- Participate in the definition and preparation of software and/or services tenders, proposal evaluation, vendor selection, and recommendation.
- Prepare estimates of time and resources required to analyze proposed changes to software and to analyze the root cause of operational problems.
- Plan and organize the development schedule, ensuring appropriate scope is being addressed, and execute milestones in a fast-paced environment that may be faced with requirements that stretch capacity.
- Organize development releases into the production environment.
- Lead, mentor and oversee development team members.
- Assign Service Desk incidents and problems to appropriate team members.
- Design, develop, maintain, test, document, and support software programs and applications in accordance with the systems development methodology and standards.
- Document technical designs, using flow charts, class diagrams, sequence diagrams, activity diagrams, data flow diagrams, database schemas, and descriptive software component documentation.
- Develop, support, and maintain software to meet business needs.
- Provide advanced trouble shooting and problem-solving skills to resolve defects and incidents.
- Document investigation results including causes of errors, and solutions provided.
- Design, run, and monitor software performance tests on new and existing programs for the purposes of correcting errors, isolating areas for improvement, and general debugging.
- Liaise with technology staff, vendors and end-users to implement and/or assist in resolving problems with software programs and applications.
- Contribute to improvements in processes and deliverables that increase the effectiveness of the team in responding to customer and business need.
- Accurately report project and/or development status to stakeholders and management.
- Analyze business and technical designs to thoroughly identify testing requirements.
- Test development artifacts and document results.
- Administer critical analyses of test results and deliver solutions to problem areas.
- Develop low risk procedures for converting to and implementing new software and solutions.
- Train end users to operate new or modified programs.
- Maintain an awareness of trends in development technologies and best practices.
- Participate in assigned education programs as requested.
- Develop procedures on how functions are performed.
- Create user manuals for applications.
- Other related duties as assigned.
Qualifications
- University degree or a two-year college diploma in Computer Science or similar discipline or an equivalent combination of education, certification, and experience.
- A minimum of eight years of software development and implementation experience, with at least three years demonstrated proficiency in the applicable technology/solution domain.
- Previous training in a variety of programming languages, analysis and design techniques, development methods and practices, and relational databases and operating systems.
- A strong track record in analysis and solution design, demonstrated leadership skills, ability to balance multiple competing priorities, excellent communication, organization, technical, and problem-solving skills.
- Experience and proficiency in Microsoft 365 (Word, Excel, PowerPoint, Teams, and Outlook).
- The ability to work and lead in a team environment.
- Continuously upgrading knowledge is required to keep up to date on new technology and changes in information technology that could be relevant to what the development team is working on. Demonstrated knowledge and experience in upgrades and migrations to stay up to date on information technology platforms, services and applications.
Secondary Qualifications
- Previous experience in the following areas are an asset:Java Script Framework (i.e. Angular, Node.js, Vue.js, etc.), Mobile framework (i.e. Ionic, Apache Cordova, and phone gap) web content management systems, mobile and web site/application development, web service development, Enterprise Service Bus (ESB), ETL development, Cognos BI tools, JD Edwards, Lawson, and Data Warehouse development are assets.
- Experience working in an agile development environment is an asset.
- The following certifications would be an asset: Drupal Developer, MuleSoft Developer, JD Edwards Advanced Developer, Cognos Modelling and Frameworks and IBM DataStage.
- Knowledge of ITIL process is an asset.
- Knowledge of Service Oriented Architecture (SOA).
- Previous experience in the gaming, retail and/or distribution industries, ERP systems, Business Analytics, financial or human resources functions are assets.
Apply by visiting our Careers Portal
Salary: $83,595.20 - $105,497.60 annually (under review)
Location: 1555 Buffalo Place, Winnipeg
Union: CUPE
Additional Postings available from Manitoba Liquor and Lotteries Corporation