Write maintainable, clean, re-usable, object-oriented, and efficient programming code in compliance with department standards and templates.
Work within source control utilizing branching, merging, proper check-in procedures, and passing of continuous builds to ensure that software is always releasable.
Practice Test Driven Development (TDD) and ensuring that unit tests are created prior to writing programming code and that any programming code is structured in such a way to maximize testability.
Resolve software bugs in the programming code and modify unit tests to prevent future regression.
Work with other departments and team members to develop new policies and procedures and develop programs to support those policies.
Peer review programming code and participate in code reviews.
Learn and understand the technical details of business processes that support the operations of Clever Devices.
Work with management to define and establish processes, templates, and standards related to software development and to continually improve the quality of the process.
Contribute fresh, new ideas during developer meetings demonstrating a commitment on-going learning.
Mentor and assist in the training and on-boarding of other team members.
Any other tasks required by management.
Requirements
Diploma or degree in Computer Science or Engineering is required
A minimum of 2 years of demonstrated prior work experience conducting the primary responsibilities outlined in this job description
Experience with advanced debugging techniques, such as breakpoints, watches, attaching to remote processes, utilizing dump files, etc.
Demonstrated experience developing large-scale, high-availability applications and systems
Experience working with GIT for source control, branching and merging preferred
Experience working with JIRA preferred
Experience working in an Agile environment is an asset