IBM Consulting builds long-term client relationships and helps companies advance their hybrid cloud and AI journeys through collaboration and technology. The Junior Software Developer will develop, support, and maintain applications using C, C++, and Python, analyze and resolve technical issues, collaborate with cross-functional teams, and implement solutions that meet client needs.
Develop and Maintain Applications: Develop, support, and maintain applications development platforms such as C, C++, Python, ensuring high-quality solutions that meet client needs
Analyze and Resolve Issues: Utilize expertise in technologies to analyze and resolve issues, providing timely and effective solutions to ensure minimal disruption to clients
Collaborate with Cross-Functional Teams: Work closely with cross-functional teams to design and implement solutions, providing technical guidance and support to ensure successful project outcomes
Implement Solutions: Implement solutions that meet client needs, and high-quality results
Qualification
Required
Bachelor's Degree
Government of Canada Security Clearance is a requirement for this role. You must be eligible to obtain Secret, NATO and Controlled Goods Clearances
Must be either a Canadian Citizen or Canadian Permanent Resident
Must have resided in Canada for a minimum of 10 consecutive years, without leaving Canada (for any reason) for more than 30 days at a time OR traveling abroad to any non-NATO countries for any period
Must have a clean criminal and credit history
This role involves examination, possession or transfer of controlled goods and technology as defined under the Canadian Controlled Goods Program and ITAR data/technology. To be eligible for employment in this role, you must be a Canadian citizen or Canadian Permanent Resident. Canadian citizens and permanent residents must be security assessed under the Canadian controlled goods program. If you hold dual or third nationality, in addition to being either a Canadian citizen or Canadian Permanent Resident the nationality must be from one of the following countries in order to be eligible for employment in this role: Australia, Austria, Belgium, Bulgaria, Canada, Czech Republic, Denmark, Finland, France, Germany, Greece, Hungary, Italy, Japan, Latvia, Lithuania, Luxembourg, Netherlands, New Zealand, Norway, Poland, Portugal, Romania, Slovenia, Spain, Sweden, Switzerland, Turkey, the United Kingdom, United States of America
All applicants will also be required to undergo an additional security assessment conducted by an IBM designated Controlled Goods Program official as a condition of employment
This role is onsite in Ottawa, Ontario only
Programming experience, including low-level systems development
Proficiency in C/C++ and Python
Strong understanding of bitwise operations and memory management
Solid knowledge of networking and communication protocols
Experience with system integration and interoperability, bridging legacy and modern technologies
Ability to interpret and understand technical business requirements to support solution development
Ability to follow established application and system development processes within the team
Proven ability to collaborate with cross-functional team members to deliver high-quality solutions
Strong communication skills, both verbal and written
Ability to write clean, maintainable code using modular design principles
Experience applying appropriate design patterns for web-based applications
Experience in develop and maintain unit, integration, and end-to-end tests
Experience in participating in code reviews and/or contribute to architectural discussions
Experience supporting and contributing to CI/CD pipelines and DevOps practices
Strong troubleshooting and debug technical skills
Ability to analyze and resolve defects in alignment with technical requirements and coding standards
Demonstrated a continuous learning mindset and willingness to develop new skills
Ability to adapt to changing priorities and take on a variety of responsibilities as needed
Experience with low-level engineering (e.g. Device drive development)
Preferred
Contribute to the development of technical designs and supporting documentation
Build technical knowledge to help design and implement effective solutions
Develop an understanding of interoperability standards and integration methods
Familiarity with event-driven and publish–subscribe architectures
Exposure to system engineering concepts and best practices
Experience working in Agile/Scrum development environments
Familiarity with AI-assisted coding tools and workflows
Benefits
Hybrid work arrangement
Support for long-term career development
Encouragement and support for continuous learning and skill development
IBM provides technology and consulting, including software, infrastructure systems, and cloud-based solutions.