Software Engineer II
Responsibilities:
Software Design & Development (50%) Design, implement, and maintain software solutions that are traceable to requirement specifications and aligned with established coding conventions and development processes. Deliver robust, well-tested code through unit, integration, performance, and reliability testing.
Defect Investigation & Resolution (30%) Investigate and diagnose software defects reported in the field or surfaced during testing. Identify root causes and drive issues to resolution in a timely and thorough manner.
Design & Code Review (10%) Actively participate in peer design and code reviews, providing and receiving constructive feedback to maintain code quality and knowledge sharing across the team.
Documentation & Training (10%) Contribute to customer-facing documentation including user guides, application notes, and release notes. Support the customer success team by delivering training on new features and functionality.
Minimum Qualifications:
Degree in Computer Science, Computer Engineering, or Electrical Engineering; or a Technology Diploma with equivalent industry experience in software development.
1–3 years of hands-on software development experience, with a strong backend foundation.
Proficiency in Java for backend development and familiarity with JavaScript for frontend or scripting contexts.
Backend development experience, preferably in Java-based or service-oriented architectures.
Experience with relational databases (e.g., MySQL) and/or NoSQL databases.
Working knowledge of web services and API design (REST, SOAP).
Experience with cloud platforms, particularly AWS (EC2, S3, Lambda, RDS).
Familiarity with containerization and orchestration tools such as Docker and Kubernetes.
Experience with Git, CI/CD pipelines, and modern DevOps practices.
Familiarity with Agile development principles and ceremonies.
Experience with frontend technologies including HTML5, CSS3, and modern JavaScript (ES6+).
Exposure to frontend frameworks (e.g., React, Angular, or Vue) is a plus.
Strong problem-solving skills with the ability to diagnose complex technical issues and drive them to resolution.
Comfortable working both independently and collaboratively in a team setting.
Able to manage competing priorities and deliver measurable results in a fast-paced, agile environment.
Effective written and verbal communication skills, including the ability to contribute to technical documentation.