Overview
The Frontend Engineer is responsible for designing, developing, and maintaining intuitive, high-performance, and scalable user interfaces for digital products. The role requires strong expertise in frontend development, modern JavaScript frameworks, UI/UX best practices, and software engineering principles. Engineers must work in an agile, DevOps-driven environment, ensuring high software quality, reliability, and maintainability.
Responsibilities
- Collaborate with Business Analysts (BA) and Product Managers to refine user stories and translate them into technical requirements.
- Work with Quality Assurance (QA) engineers to ensure automated test coverage and proactively fix bugs and defects.
- Partner with DevOps teams to automate build, deployment, and release processes.
- Design, develop, and maintain responsive and accessible web applications that deliver excellent user experiences.
- Implement and enforce frontend best practices, including component reusability, performance optimization, and accessibility.
- Improve software quality through Extreme Programming (XP) practices, including pair programming, code reviews, and unit testing.
- Ensure frontend security best practices, including protection against XSS, CSRF, and other vulnerabilities.
- Document technical decisions, architectural patterns, and frontend best practices.
Technical Skills
- Degree or Diploma in Computer Science, Computer or Electronics Engineering, Information Technology, or related disciplines.
- Experience with Git and modern branching workflows (GitFlow, trunk-based development).
- Proficiency in JavaScript, TypeScript, HTML5, and CSS3.
- Experience with frontend frameworks and libraries such as React.js, Next.js, Vue.js, Svelte, or Angular.
- Strong understanding of state management solutions (Redux, Recoil, Zustand, MobX).
- Experience with UI component libraries (Tailwind CSS, Material-UI, Chakra UI, Bootstrap).
- Hands-on experience with frontend build tools and bundlers (Webpack, Vite, esbuild, Parcel).
- Experience with modern CSS methodologies (BEM, CSS Modules, Styled Components).
- Experience with frontend testing frameworks (Jest, Mocha, Jasmine, Playwright, React Testing Library).
- Experience with performance optimization techniques (lazy loading, code splitting, reducing re-renders).
- Experience integrating RESTful APIs, GraphQL, and WebSockets.
- Experience with CI/CD pipelines for frontend applications (GitHub Actions, GitLab CI, Netlify, Vercel).
Software Engineering Practices
- Experience working in Agile teams (Scrum, Kanban) with strong collaboration skills.
- Knowledge of Extreme Programming (XP) practices such as TDD, pair programming, and continuous refactoring.
- Familiarity with cloud platforms (AWS, Azure, Google Cloud).
- Strong understanding of frontend security best practices and web performance optimization.
- Adherence to software craftsmanship principles, ensuring clean, maintainable, and efficient code.
Bonus Experience (Added Advantage)
- Exposure to mobile application development (React Native, Flutter).
- Experience integrating authentication and authorization mechanisms (OAuth, JWT, OpenID Connect).
- Knowledge of server-side rendering (SSR) and static site generation (SSG) (Next.js, Nuxt.js).
- Familiarity with headless CMS platforms (Contentful, Strapi, Sanity.io).
- Understanding of WebAssembly (Wasm) for frontend performance optimizations.
- Experience using Storybook for UI component development and documentation.