Developer (III) (ENG-ECE)
(JD0663)
Engineering a Brighter Future
https://www.eng.mcmaster.ca/about-us/strategic-plan/
About the Faculty
Ranked among the top engineering schools in Canada and worldwide, the Faculty of Engineering. has a reputation for innovative programs, cutting-edge research, leading faculty, and aspiring students. Engineering faculty, staff and students at McMaster pursue research and learning in more than 22 research centres, institutes and networks whose interdisciplinary pursuits cross-departmental and faculty boundaries. Outside the University, we regularly collaborate on research projects with partners in universities, the government and more than 100 companies in Canada and abroad.
About the Department
The Department of Electrical and Computer Engineering stands as one of the largest within the Faculty of Engineering, offering a comprehensive array of academic options. We provide 11-degree programs and are supported by 40 faculty members, each specializing in key areas such as biomedical technologies, communication technology, systems and networks, electrified and autonomous transportation, electromagnetic and photonics, integrated and embedded systems, microelectronics and VLSI, optimization, learning and control, power electronics and electric machines, and signal, image, and video processing. The department nurtures a vibrant community that supports over 200 graduate students and nearly 400 undergraduate students in their academic and professional pursuits.
About the Position
We are welcoming applications for the Limited-Term (contract) position of Developer (III) . The successful incumbent will lead the design and development of an AI-enabled research platform from concept through production deployment.
The successful candidate will work directly with a multidisciplinary research team to translate research ideas into a scalable, secure, and production-quality software platform. This role requires technical leadership, hands-on software development, and the ability to make sound architectural decisions while preparing the platform for future AI-powered capabilities such as prediction, recommendation, optimization, and intelligent decision support.
This position will report to Dr. Mehdi Narimani.
Job Summary
The Developer (III) is responsible for providing technical expertise in a specific business applications area which requires a working knowledge of the technical infrastructure underpinning the applications. Plans, consults, and coordinates complex project assignments in the design, development and implementation of applications software. Provides technical expertise working as part of a service or project team to implement complex technical solutions that meet client and business requirements. Responsible for contributing to the planning of the work programs and the review, development, and modification of best practices and technical solutions.
Purpose & Key Functions
- Develop new application software specifications that encompass functional, programming, and system process flows.
- Conduct business analysis, determine and implement a course of action, set priorities, and recognize and take into account changing events and conditions during projects.
- Solve diverse and unusual problems by analyzing information where considerable interpretation of processes is required.
- Provide walkthroughs of systems and their interconnectivity with other applications in the organization.
- Ensure the detailed client specifications for all system components are valid and meet a defined set of requirements.
- Interview clients, review business rules, and determine business process flows.
- Act as a mentor to junior staff in the technical implementation aspects of projects.
- Estimate and plan project timelines and deliverables and adjust to unplanned changes and the impact on project schedules and resources.
- Negotiate with customers to set priorities, establish the fee-for-services, and discuss contingencies should a delivery date not be achievable or if the delivered product is not to the expectations of the client.
- Complete cost-benefit analyses to ensure that the client will see value and return on investment in resources such as, time savings, financial savings, and improved service.
- Develop and install new and modified University administrative applications systems using project management and application life cycle best practices.
- Complete the technical design, detailed specifications, programming system components, and system and integration testing for new applications.
- Contribute to project management documents for tracking project steps and process flow.
- Document the logical flow of processes and data in reports and flowcharts.
- Coordinate various tasks, resources, and people required to carry out problem solutions including the identification and sequencing of database administrator functions and setting security authorizations.
- Create project plans which include task lists, test plans, client training plans, and analysis and documentation of project implications on other functional areas.
- Write and document business requirements for small to medium projects.
- Define, develop, and perform application testing procedures.
- Adapt techniques and interpret or modify procedures to achieve objectives where any changes are within the agreed project scope and deliverables.
- Gather information from customers to determine business, auditing, and system requirements.
- Facilitate meetings with customers and interpret, assess, and evaluate customer business requirements to establish project scope and design criteria for systems.
- Write complex programs using various computing and scripting languages.
- Debug computer program code.
- Develop and modify interfaces for existing applications and systems while maintaining the integrity of data and processes.
- Develop components for new multi-faceted computer systems and revise existing systems comprised of numerous application components.
- Work with and understand complex data models and databases for the most effective and efficient organization of data based on processing requirements.
- Contribute to the review, development, and modification of best practices and technical solutions.
- Communicate project, issue, and system status to project leads and managers.
- Perform load and stress testing to anticipate the impact of application usage on the production service environment.
- Complete calculations to estimate various capacity requirements such as database size.
- Search and gather information from a variety of sources including computer applications, internet, and legislative documentation and consolidate relevant information to complete environmental scans.
- Develop time and cost estimates for project assignments.
- Work cooperatively with others to effectively determine information and understand business requirements of a complex nature.
- Deliver presentations to team members as it relates to project work.
- Exchange technical information with colleagues during the application development process.
- Explain and exchange technical concepts and information to clients in a non-technical manner to ensure that the customer comprehends the issue.
- Provide advice to customers on alternative and recommended approaches to computing system solutions for meeting their business requirements.
- Provide production service implementation training to clients.
- Provide expertise and working knowledge of application components such as internet, intranet, mainframe, personal computer, and database structures.
- Interpret complicated technical program specification documents, translate, and develop into application code.
- Prepare and review operations documentation, training materials, and timelines.
- Provide Level III post implementation support to users regarding technical issues.
- Take ownership of technical issues by identifying underlying problems, analyzing potential solutions and implementing system resolutions, including workarounds.
- Apply and enforce department change control policies and procedures.
- Participate in all phases of testing including, but not limited to, system, integration, acceptance, regression, and performance.
- Manage defects identified during all phases of a project.
- Resolve problems in the test, production implementation, and post-implementation phases in coordination with other technical and business groups.
- Communicate testing results to others.
- Maintain information technology process flow, methodology, and control documentation.
- Update and maintain knowledge of application components such as, internet, intranet, personal computer, and database structures.
- Remain current with relevant development and project methodologies.
- Remain current with frequent updates and changes to technology.
- Work with project leads and managers to prioritize and schedule issues resolution.
- Remain current with security policies and procedures and work with System Administrators to implement security changes.
- Facilitate effective dialog between technical staff.
- Read and understand complex Business Process Diagrams and develop basic (Level II) models.
- Read and understand a complex project plan and develop simple project plans.
- Understand the different levels of testing and develop simple use cases and test scripts.
- Follow a test script and document defects.
- Acquire and maintain a basic understanding of Business Intelligence and Data Warehousing principles.
- Develop simple queries using basic Business Intelligence tools.
- Provide recommendations to supervisor.
- Perform a range of varied work activities in a variety of structured environments.
- Understand and use appropriate methods, tools, and applications to complete work tasks.
- Demonstrate a rational and organized approach to work and identify development opportunities.
- Plan, schedule, and monitor own work within short time horizons.
- Absorb technical information when it is presented systematically and apply it effectively.
- Organize time, work and resources to accomplish objectives in the most effective and efficient way.
- Use measurement methods to monitor progress toward goal attainment, tenaciously working to meet or exceed those goals, while deriving satisfaction from the process of goal achievement and continuous improvement.
- Ensure that the internal and external customer perspective is a driving force behind decisions and activities.
- Follow service practices that meet customers’ and University needs.
- Interact with others in a way that gives them confidence in one’s intentions and those of the University.
- Work collaboratively with others to achieve departmental and institutional goals. Actively participate as a member of a team to move the team toward the completion of goals.
Supervision
- Provides direction to others in how to carry out work tasks.
Qualifications
- Bachelor’s degree in Computer Science or related field.
- Requires 4 years of relevant experience.
Assets
- Previous experience working in a university environment is considered a strong asset.
Additional Information
This position will be responsible for the following duties, including but not limited to:
- Taking technical ownership of the platform architecture, implementation, and delivery.
- Designing and developing modern full-stack web applications using Python and React or Next.js.
- Building secure backend services, REST APIs, authentication, and database solutions.
- Designing scalable cloud infrastructure using AWS, Azure, or Google Cloud.
- Implementing CI/CD pipelines, automated testing, monitoring, and deployment processes.
- Integrating external APIs, research systems, and AI/ML services.
- Developing dashboards, reports, visualizations, and user workflows.
- Collaborating with researchers to translate research requirements into software solutions.
- Recommending technologies, engineering practices, and architectural improvements.
- Producing technical documentation and supporting long-term platform maintainability.
The successful candidate must have and/or demonstrate:
- Exceptional organizational, analytical, and problem-solving skills.
- Strong communication (verbal and written) and excellent interpersonal skills.
- Ability to build relationships with both technical and non-technical stakeholders.
- Resourcefulness and creativity when resolving issues and maintaining workflows.
- Ability to manage multiple projects simultaneously and meet tight deadlines.
- Ability to work independently and make technical decisions with minimal supervision.
- Knowledge of prediction, forecasting, recommendation, classification, or optimization techniques.
- Familiarity with Infrastructure as Code, or modern DevOps practices.
- Familiarity with server user access, storage, backups, monitoring, logs, and deployment support.
- Familiarity with server-side software dependencies, environment configuration, and resource usage.
The successful candidate must also have prior, hands-on experience in the following areas:
- Backend development using Python.
- Data visualization and analytics.
- Integrating AI or machine learning capabilities into production software.
- Building modern frontend applications using React or Next.js.
- Designing scalable software architecture and RESTful APIs.
- Working with relational databases and data modeling.
- Cloud platforms (AWS, Azure, or Google Cloud).
- Docker, Git, and CI/CD pipelines.
- Developing research, scientific, or engineering software.
- Software engineering, testing, and debugging.
We are searching for an experienced software engineer who enjoys building products from the ground up. The successful candidate will take ownership, solve complex technical problems, and deliver high-quality software that evolves as research needs grow.
Flexibility is required to work occasional evenings, weekends and evening hours to meet the demands of the position.
NOTE : Should the successful applicant be a Unifor Unit 1 bargaining unit member, who meets the eligibility conditions of Article 19.02 of the Unifor Unit 1 Collective Agreement, then the Limited Term Assignment will be defined as a Career Growth Opportunity in accordance with Article 19 of the Unifor Local 5555 Unit 1 Collective Agreement .