Core Purpose:
A Full Stack Developer is a software engineer writing high quality code to implement business features according to specification. He/she is skilled in both front end and back end technologies. In addition to writing code, the developer collaborates with cross-functional teams to deliver high-quality products on time. She/He will use engineering practices in test driven development, continuous integration, and automated deployment.
Key Performance Areas: Core, essential responsibilities / outputs of the position (KPA's):
Technical Implementation
• Produce designs for low complexity user stories and start owning feature work end to end.
• Writing well maintainable and testable code following software engineering best practices.
• Apply agreed coding practices, continuous integration, and automated deployment.
• Ensure all code is reviewed by Senior developers. Write and review automated tests. Adhere to quality controls in CI/CD processes.
• Follow secure coding practices and recommendations in collaboration with the security team.
• Identify and report risks and issues related to current feature and provide technical mitigations.
• Participate in technical unpacking session to inform Agile estimation.
• Report and resolve production incidents as directed by senior developers or tech lead. Demonstrate good understanding of tools such as Kibana, Grafana, etc.
• Demonstrate ability to research & present findings and recommendations to an audience. Actively participate in knowledge sharing sessions.
• Acquire new knowledge by taking exams and certifications.
Collaboration
• Together with project teams assist in the implementation of the strategy related to coding practices, continuous integration and automated deployment.
• Highlight to senior developers and tech leads bottlenecks and production issues proactively and consult teams in order to improve technical solutions.
• Work in collaboration across various teams/squads in order to embed Agile ways of working.
Planning & Delivery
• Work strictly within timelines and deliverables to ensure efficiency in delivery.
• Articulate progress regularly to technical leads to ensure proper tracking of project and team deliverables
Stakeholders
• Interface with internal stakeholders to anticipate customer needs and facilitate solutions development.
• Collaborate across functional teams to enable the development of solutions necessary to drive the desired business outcomes for customers.
• Communicate main pain points to technical leaders in the coding and development process
Governance and Risk Management
• Adhere to functional policies, standard operating procedures and best practices that ensure operational efficiency, accuracy, security, integrity and compliance with relevant laws and regulations.
• Highlight any risks to senior technical leads to enable fast mitigation of these risks
Job Requirements (Education, Experience and Competencies):
Education:
• A National Diploma in IT, Engineering or other Sciences
• Bachelor’s Degree or Higher advantageous
Experience:
• Minimum of 3 years’ experience in Agile Software Engineering
• A solid understanding of software engineering fundamentals
• Experience in developing and scaling high-quality code in cross-functional product teams
• Technical experience and functional knowledge of the newest technologies and trends
• Can follow architecture decisions at a feature level
Technical Skills - Hands on experience in the following:
• Languages: Java, C#, JavaScript/NodeJs, GoLang
• Frameworks: Express JS, Spring Boot, Quarkus, Go Fiber
• Front End: React, Angular, VueJS
• Mobile Apps: IOS, Android, React Native, PWA Frameworks
• ORM Tools: JPA, Spring Data, Entity Framework, Hibernate
• Relational Databases: Oracle, MSSql, PostgreSQL, MySQL
• Non-relational Databases: MongoDB, Cosmos DB
• Cloud Environments: Azure, AWS, GCP
• Software Engineering: SOLID principles, Object Oriented Design Patterns, Refactoring, Testing
• Continuous Delivery: Test Automation, Version Control, Branching Strategies
• DevOps: Containers, CI/CD Tools, Observability Tools (Kibana, Prometheus, OpenTelemetry)
• Experience executing technical priorities within the Backlog
• Ability to learn and adapt to grow and maximize own potential