Your Impact
We are seeking a Software Developer with 2–3 years of professional software development experience to develop, test, and maintain high-quality software applications and components.
The ideal candidate will have good programming and a solid understanding of software development fundamentals, and experience contributing to the software development lifecycle, including requirements analysis, implementation, testing, deployment, troubleshooting, and maintenance.
The candidate should be able to collaborate effectively within an Agile development team and have experience using AI-assisted development tools to improve coding, debugging, testing, learning, troubleshooting, and documentation efficiency, while applying appropriate engineering judgment to validate AI-generated solutions.
Develop, test, debug, and maintain software applications, features, and components with guidance from senior team members as appropriate.
Write clean, efficient, maintainable, and well-tested code following established software engineering standards and best practices.
Apply fundamental object-oriented programming practices when developing software solutions.
Develop and support desktop and/or web applications, services, APIs, and related software components.
Develop and maintain unit and integration tests to ensure software quality, reliability, and prevent regressions.
Use AI-assisted development tools to improve productivity in coding, debugging, testing, code review, refactoring, troubleshooting, learning, and technical documentation.
Participate in code reviews, design discussions, technical discussions, and knowledge-sharing activities with the development team.
Collaborate with developers, QA, DevOps, product teams, and other stakeholders to understand requirements and deliver effective software solutions.
Work with CI/CD pipelines and automated development processes to support efficient software build, testing, and delivery.
Troubleshoot and resolve software defects using effective debugging and problem-solving techniques.
Follow Agile development practices to deliver high-quality software in a timely manner.
Continuously develop technical skills and learn new technologies, development practices, and AI-enabled software engineering capabilities.
What You'll Need
2–3 years of professional software development experience, with hands-on experience developing and maintaining software applications or components.
Good programming and coding skills, with the ability to develop clean, maintainable, and testable software.
Proficiency in one or more programming languages, such as C#, C++, Java, JavaScript/TypeScript, or similar modern development languages.
Good understanding of object-oriented programming, data structures, algorithms, software design principles, and common design patterns.
Good understanding of the software development lifecycle, including requirements, design, development, testing, deployment, and maintenance.
Experience with desktop and/or web application development.
Good understanding of software testing practices, including unit testing, integration testing, debugging, and defect resolution.
Experience using AI-assisted software development tools to improve coding, debugging, testing, troubleshooting, learning, documentation, and overall development efficiency.
Ability to review and validate AI-generated code and recommendations rather than relying on generated solutions without appropriate technical review.
Experience with version control systems, such as Git or Perforce.
Familiarity with CI/CD and automated build and testing practices.
Experience working within an Agile software development environment.
Good analytical, debugging, and problem-solving skills.
Excellent written and verbal communication skills.
Demonstrated ability and willingness to learn new technologies and continuously improve software development skills.
#LI-RK1