Job Title: Senior Software Developer
Reports To: Development Manager/Development Lead
Context: At the Senior level you are mentoring your teammates and sharing expertise.
Developers must participate in all aspects of the Sigma Systems product development life cycle.
Developers working within the engineering teams at Sigma Systems are expected to write quality, well-engineered, unit tested, maintainable and readable code, engineered according to Sigma Systems’ development and architectural standards
Standard design patterns should be followed where applicable and preferably they should follow a test driven approach to development.
Developers are required to engage with Product Management to produce technical and functional specification documentation appropriate to technical developer and non-technical business audiences.
- Develop the necessary best practices to work with and write a great code base.
- Help evaluate and select the tools, languages and frameworks used by the team.
- On board and mentor new members of the team ensuring their success.
- Begin to take an ownership position on code and systems developed by others.
- Proficient in the ‘real-world’ use of Sigma Products you are developing.
- Own the specification of software requirements and designs, engaging with Product owners to understand functional and business requirements
- Champion the production of quality, maintainable and testable code
- Learn how to measure non-functional aspects of the code, particularly performance and scalability.
- Adhere to project and department standards for quality, proficiency, and customer satisfaction.
- Ensure all Project assigned deliverables are completed on specification, quality and according to agreed timelines
- Able to assess cross project impact of design and technology decisions
- Able to assess new technologies and provide architectural and design vision and steering.
- Application development
- Composing and Writing Text
- Acquiring Information
- Delivering High Quality Work
- General project delivery skills
- Interacting with People at Different Levels
- Sharing Information
EDUCATION & EXPERIENCE
- Honours degree in computing or a related subject, or commensurate industry experience.
- Good verbal and written communication skills
- Extensive experience building, testing, and deploying high quality, highly reliable, scalable web applications, APIs, and user-interfaces in a team environment
- Extensive experience working on Product development using an agile methodology