Role Overview
You will be a working engineer on a product team that ships and cares for production web applications used by real customers. Your days involve turning design mockups and product requirements into responsive, accessible interfaces; wiring those interfaces to backend APIs; debugging issues that appear in the browser; and writing automated tests that keep the software stable during changes. Your work matters because it directly impacts the reliability, usability, and maintainability of applications the company depends on for daily operations — so you will be expected to own tasks end to end, from initial investigation to post-deployment follow-up.
Key Responsibilities
- Convert design specifications and product requirements into responsive, accessible web interfaces using JavaScript/ES6+, TypeScript, HTML, CSS/SCSS, and component-based UI libraries.
- Integrate frontend applications with RESTful APIs (and GraphQL where applicable), handling authentication, error states, and data synchronization correctly.
- Read, debug, and safely modify existing production codebases without introducing regressions, whether fixing visual defects, logic errors, or performance problems.
- Write and maintain automated tests at unit, integration, and end-to-end levels using tools like Jest, Cypress, or Playwright to prevent regressions and support refactoring.
- Investigate production issues systematically using browser developer tools, network inspection, logs, and other diagnostic techniques to identify root causes and implement durable fixes.
- Participate actively in code reviews, technical discussions, sprint planning, and CI/CD pipeline improvements, ensuring quality and shared knowledge across the team.
- Collaborate with designers, product managers, backend engineers, and QA to clarify requirements, surface technical trade-offs, and deliver work that meets both user needs and technical constraints.
- Take end-to-end ownership of assigned features: clarifying the problem, implementing the solution, testing it, getting it reviewed, deploying it, and monitoring the outcome.
Requirements & Qualifications
- Strong practical grasp of modern JavaScript (ES6+) and comfort with TypeScript in production applications, including generics, unions, and type narrowing.
- Deep understanding of semantic HTML, CSS layout systems, responsive design principles, and cross-browser behavior, including accessibility considerations.
- Hands-on experience with SCSS or similar CSS preprocessors, and familiarity with CSS methodologies that keep styles maintainable.
- Proven experience building component-based interfaces with a modern framework such as Angular, React, or Vue, including state management, forms, routing, and component lifecycle.
- Practical experience consuming RESTful APIs, understanding HTTP semantics, error handling, pagination, and how frontend applications manage loading and mutation states.
- Working knowledge of automated testing — able to write meaningful unit tests and end-to-end tests using tools like Jest, Jasmine, Cypress, or Playwright.
- Comfortable with Git workflows: branching, committing, opening pull/merge requests, reviewing others' code, and resolving merge conflicts.
- Working knowledge of relational databases and SQL — able to write basic queries, understand joins, and reason about how data flows from database to backend to frontend.
- Strong debugging and problem-solving skills: can investigate unfamiliar code, reproduce issues, isolate variables, and trace root causes without needing to be told every step.
- Familiarity with Linux command-line environments and common development tooling (editors, terminals, package managers, build tools).
- Understanding of core web security concepts: authentication, authorization, session management, role-based access control, and common vulnerabilities like XSS and CSRF.
- Clear communication skills — able to explain technical decisions to both engineering peers and non-technical stakeholders.
- Bachelor's degree in Computer Science, Software Engineering, Information Technology, a related science field, or equivalent practical experience demonstrated through employment, internships, open-source work, or substantial personal projects.
Good to Have
- Experience with Tailwind CSS, Bootstrap, or another utility-first or component UI framework.
- Professional experience with GraphQL APIs, including queries, mutations, and caching.
- Familiarity with CI/CD pipelines and automated deployment workflows.
- Experience with Docker or containerized development environments.
- Node.js or backend development experience, especially for building internal tooling or test utilities.
- Prior work in complex domains such as healthcare, financial services, or enterprise software, where business rules and data models are nontrivial.
653 open positions on Semasocial right now
· 9512 open positions in Nairobi County, Kenya
· 42 posted in the last 7 days
Contact Information