Software Engineer 2
- Markham, ON, Canada
$55 to $60 CAD / hour · Contract
Applications open in a new tab.
Job details
- Pay
- $55 to $60 CAD / hour
- Job type
- Contract
- Apply by
- Education
- Bachelor’s degree
- Experience
- 2-4 years experience required
- Posting language
- English
- Posted
Original job description
The main function of a Software Engineer is to design, develop, implement, test, and maintain business and computer applications software or specialized utility programs including mainframe and client/server applications, and major enhancement of existing systems
Job Responsibilities:
- Fine-tune and improve a variety of sophisticated software implementation projects
- Gather and analyze system requirements, document specifications, and develop software solutions to meet client needs and data
- Analyze and review enhancement requests and specifications
- Implement system software and customize to client requirements
- Prepare the detailed software specifications and test plans
- Code new programs to client’s specifications and create test data for testing
- Modify existing programs to new standards and conduct unit testing of developed programs
- Create migration packages for system testing, user testing, and implementation
- Provide quality assurance reviews
- Perform post-implementation validation of software and resolve any bugs found during testing
Qualifications:
- Bachelor's degree in a technical field such as computer science, computer engineering or related field required
- 2-4 years experience required
- A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design
- large systems software design and development experience
- Experience performing in-depth troubleshooting and unit testing with both new and legacy production systems
- experience in programming and experience with problem diagnosis and resolution
Ability to work with AI tools such as Cursor, Glean, Claude & others to speed up the development and implementation of solutions.
- Support the flashing of benches to the right software per release on multiple benches
- Support the changing of configurations as necessary to meet testing demands
- Support the developmet and execute comprehensive test plans, test cases, and test scripts (predominantly bench) as well as review ones by others for functional, performance and reliability requirements, in both development and production environments.
- Investigate issues and drive continuous improvement of processes, products, methodologies, and innovation
- Support validation of interface behavior across integrated vehicle systems, ensuring quality and consistency of software interactions and user-facing functionality. Being the voice of quality within the organization for assigned working domain.
Collaborative team of 9 engineers driving autonomous vehicle innovation.
Work on autonomy interface software critical to next-generation vehicle systems.
Test and validate advanced software, cameras, sensors, and perception technologies.
Contribute to some of GM’s most cutting-edge autonomous vehicle programs.
Help shape the future of autonomous driving and intelligent mobility.
Lead test bench readiness and stability efforts, ensuring both local and remote test benches are properly configured, maintained, and operational to support software and firmware validation activities.
Manage and optimize test environments, leveraging knowledge of test tools, scripts, and infrastructure to ensure benches consistently meet quality, performance, and availability requirements.
Collaborate closely with cross-functional engineering teams to troubleshoot issues, improve test execution efficiency, and maintain a reliable validation ecosystem.
Drive bench automation and process improvements, identifying opportunities to streamline test setup, execution, and maintenance activities.
Dedicate approximately 50% of time to test bench stability and support, ensuring validation platforms are ready for continuous firmware and software testing.
Dedicate approximately 50% of time to test automation development, partnering with the team to convert existing manual test cases into scalable automated solutions.
Expand automated test coverage by developing, implementing, and maintaining automated test scripts using established frameworks and best practices.
Champion automation initiatives that improve test efficiency, increase regression coverage, and accelerate software delivery timelines.
Top skills
Hands-on experience with controllers, test benches, and laboratory test equipment, including setup, configuration, and troubleshooting of Ethernet and CAN-based systems.
Experience in software development, scripting, test design, and test automation using Python and Pytest.
More about this job
Responsibilities
Develop, test, and maintain software for autonomous vehicle systems, including writing test plans and scripts, validating integrated system behavior, and resolving software issues. Maintain and configure test benches and laboratory environments, while developing automated tests to improve coverage, reliability, and validation efficiency.
Requirements
A bachelor's degree in computer science, computer engineering, or a related technical field is required, along with 2–4 years of experience. Candidates should have a strong computer science foundation, software development and troubleshooting experience, and hands-on skills with test benches, controllers, Ethernet or CAN systems, Python, and Pytest.
Skills
- Software Development
- Python
- Pytest
- Test Automation
- Test Bench Configuration
- Test Bench Troubleshooting
- Ethernet
- CAN Systems
- Test Planning
- Unit Testing
- System Requirements Analysis
- Troubleshooting
- Data Structures
- Algorithms
- Software Design
- AI Development Tools
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
- Manufacturing
- Transportation
Keywords
- Autonomous Vehicles
- Autonomy Interface Software
- Software Development
- Python
- Pytest
- Test Automation
- Test Benches
- Laboratory Test Equipment
- Controllers
- Ethernet
- CAN
- Firmware Validation
- Software Validation
- Test Plans
- Test Cases
- Test Scripts
- Regression Testing
- Unit Testing
- Quality Assurance
- System Requirements
- Data Structures
- Algorithms
- Software Design
- Troubleshooting
- Cameras
- Sensors
- Perception Technologies
- Cursor
- Glean
- Claude