Senior Software Engineer - Front End (Web)
Role Profile
The role holder utilize a JavaScript based framework to implement performant, scalable front end solutions aligned to business needs and requirements.
Key Responsibilities:
- Web Design: Use markup languages like HTML to create user-friendly web pages. Keep up to date with the latest web design technologies and techniques in order to discuss them for inclusion within our website creations.
- Technical Delivery and Support: Write effective, scalable code with unit tests while maintaining and improving PWA applications. Optimize applications for maximum speed. Collaborate with back-end developers and consume backend API’s as well as with the design team to suggest usability improvements. Support product testing and bug fixes; Implement software enhancements and suggest improvements where necessary.
- Documentation: Prepare the necessary technical documentation for developed products.
- Problem solving: Work with the Tech Lead to contribute to the architectural direction of web application development using our proprietary framework. Work closely with the Engineering Manager and the team to ensure there is good cadence of project deliverables. Raise any concerns or potential bottlenecks in due time to ensure project delivery is least affected.
- Product Innovation: Work with the Tech Lead to contribute to the development of mobile web applications against tight deadlines as part of a cross-functional Agile delivery team.
- Team Support: Assist in mentoring of junior team members including holding pair programming sessions. Participate in all stages of the development lifecycle, from concept planning to build, testing and delivery.
Mininum Requirements:
- A minimum of 6 years proven work experience as a Front-end developer;
- A bachelor's degree in computer science; Engineering or related field;
- Strong working experience with JavaScript, Angular;
- Familiarity with Figma and/or able to convert wireframe/designs to HTML/CSS/SCSS/Angular page;
- Hands on experience with markup languages;
- Familiarity with browser testing and debugging ex: playwright/cypress;
- In-depth understanding of the entire web development process (design, development and deployment);
- Understanding of layout aesthetics;
- Organized and able to follow best practices regarding code quality, testing and code reviews;
- Familiarity with agile (scrum) environments;
- Experience with SCSS, experience with Ionic and an understanding of security on single page applications.
- Experience working with Launch Darkly is an added advantage
Competencies
Senior Software Engineer - Back End
As a Senior Software Engineer, you’ll join our growing team of Product and Technology professionals who share a passion for leveraging technology to empower informal retailers across the African continent. You’ll work with teams from multiple countries across the organization to imagine and build innovative solutions for Kyosk’s customers and internal teams.
To be successful in this role you will need to be a strong technologist, innovator and an analytical problem solver. You will need to develop high-quality, resilient, scalable software.
Key Responsibilities
- Play a leading role in the design and development of software solutions
- Triage, investigate and resolve errors
- Adhere to, promote and help to improve Kyosk's development processes
- Code reviews
- Mentor less experienced software engineers
- Experiment with new technologies/solutions and develop a PoC
Minimum Technical Requirements:
- 6 years of software development experience
- 2 years experience in the full SDLC (analysis, design, development, testing, integration, deployment, documentation, triage)
- Experience working with Agile methodologies
- Proficiency with administrative tools, e.g. Issue Tracking, Wikis, etc
- An advanced level user of dev toolchain (e.g. IDE, CI/CD, version control)
- Backend dev: Advanced knowledge of Java, SpringBoot, and Hibernate.
- Frontend dev: Advanced knowledge of Angular
- Working knowledge of containerization and orchestration
- Experience implementing the microservices design pattern
- Working knowledge of any cloud platform
- Experience designing and implementing a system from scratch
- Experience implementing complex automated tests (unit, integration, performance, etc)
- Demonstrates a clear understanding of system non-functional requirements (e.g. code readability, maintainability, scalability, extensibility, testability, etc), and can weigh the pros and cons of a solution w.r.t. non-functional requirements.
Minimum Behavioural and Soft Skills Requirements:
- Strong work ethic
- Focus on delivery
- Punctual
- Works independently
- Expectation management
- Passion for learning
- Ability to lead a discussion with clients in a professional manner
- Ability to give reasonably accurate time estimates
- Proactively accommodates value chain outside of the sphere of responsibility
- Ability to communicate technical information clearly and concisely
- Can take the lead on small projects
Desired Technical Competencies
- 8+ years of software development experience
- 3+ years of experience in the full SDLC
- Working knowledge of Kafka
- Frontend dev: working knowledge of NestJS
- Experience in e-commerce, payments, and/or distribution of FMCG products
- Experience using GCP
- Working knowledge of Docker containers and Kubernetes for orchestration
- Practitioner of the shift-left approach
- Experience introducing automated tests into a code base
- Experience architecting, designing and implementing a software system
Desired Behavioral Competencies