Contribute to and be accountable for the design, development and test of software (end-to-end development life cycle). Write specifications and documentation. Design and implement applications (front-end and back-end), modules, databases and deployments in collaboration with other developers and software architects. Ensure high quality code delivery using best practices and tooling such as unit tests, formatting and linting tools. Contributing to the DevOps activities, required to deploy, validate and keep services and applications up and running. Work with software architects and other developers. Lead junior or medium level engineers when necessary. Collaborate with customer support and Smart-Monkey engineering divisions. Self-manage assignments and work autonomously when necessary. Demonstrate ability to navigate from high level decision making down to practical execution in a way that produces value, exceeds expectations, and promotes company success.