Software Engineer
The ideal candidate should have a broad understanding of computer science concepts and their applications, including software development methodologies and technical expertise.
Responsibilities include actively supporting the development team, mentoring less experienced colleagues, driving innovation, and delivering roadmap features with agility and high quality.
* Actively support the development teams;
* Mentor less experienced team members;
* Drive the team to innovate and deliver roadmap features with agility and high quality;
* Digest requirements from the product team and work on solutions with performance and scalability features for cloud systems;
* Development of new features and software products;
* Raise and discuss trade-offs of different design approaches by elaborating detailed design documents;
* Participation in the complete cycle of development from requirements gathering, development, and testing;
* Participation in technical discussions with customers and stakeholders;
* Perform code reviews to ensure quality and consistency;
* Conduct yourself as a trusted technical advisor and thought leader;
* Follow agile processes and participate actively in all development phases.
Essential Skills:
* Experience leading development teams and managing software projects;
* Proficiency with development in Python versions 2 and 3 and other programming languages;
* Experience with automated testing frameworks like pyTest;
* Experience with Linux environments, CLI commands, Shell Script, and logs;
* Experience with containerization using Docker and continuous integration/continuous deployment (CI/CD) pipelines;
* Experience with Jenkins and other automation tools;
* Experience with version control systems like Git and GitHub;
* Knowledge of Agile development methodologies (e.g. Scrum, Kanban, etc.) and software development principles.