As a Software Engineer, your typical day might include:
Develop High-Quality Front-End and Back-End Components
- Collaborate with other development team members to influence and develop components that adhere to industry best practices and architectural principles.
- Provide workable solutions and options that address both functional and non-functional requirements (scalability, performance, security, maintainability, etc.).
- Recommend and implement innovative solutions aligned with technology trends to demonstrate how IT can effectively and efficiently solve problems.
- Review pull requests from other team members, ensuring adherence to company coding standards and industry best practices.
Product Design Mindset
- Develop code with a focus on design repeatability and re-use to enhance overall quality and speed of development.
- Consider cost implications in design decisions to ensure they are factored into recommendations.
- Maintain a proactive mindset to identify potential technical issues, reduce technical debt, and suggest preventive measures.
Collaboration & Communication
- Share experience, technical expertise, and best practices to help the IT team overcome hurdles.
- Provide coaching and guidance to other Software Engineers to help them understand key principles and overcome challenges.
- Communicate clearly and concisely across all levels, facilitating design decisions with other Software Engineers and IT stakeholders in simple terms.
Job Experience, Functional Knowledge, and Qualifications
ESSENTIAL
- 3+ years of experience in a Software Engineering role working with JavaScript, Node, and/or Java.
- Experience working full-stack, covering both front-end and back-end development.
- Strong understanding of how to develop products that meet both functional and non-functional requirements, including scalability, maintainability, performance, and security.
- Hands-on, practical experience working with React, Serverless, ELK Stack, and/or Docker.
- Strong understanding of cloud technology capabilities in either AWS, Google Cloud, or Azure.
- Experience with databases such as Postgres, Oracle, MariaDB.
- Strong communication skills in English, both spoken and written.
DESIRABLE
- Thorough understanding of concepts, principles, and implementation approaches of service-oriented architecture, including microservices, micro frontends, docker containers, CI/CD, Ansible, etc.
- Hands-on experience using Behaviour Driven Development (BDD) or Test Driven Development (TDD) approaches.
- Mobile app development experience in either iOS or Android (and associated frameworks).
- Experience working with 3rd party APIs to integrate different products and services