Job Description
A reputable ICT organization is looking for an experienced Senior Front-End Developer with strong expertise in React.js and Angular to join its development team. The ideal candidate will be responsible for designing, developing, and maintaining complex, user-friendly web applications with UI/UX. You will work closely with product managers and back-end developers to bring high-quality user interfaces to life.
Key Responsibilities:
i. Lead the design and development of complex front-end applications using React.js and Angular, ensuring optimal performance and user experience.
ii. Develop reusable, modular, and maintainable UI components in both React and Angular ecosystems.
iii. Implement robust state management solutions using Redux, NgRx, or other state management libraries, ensuring efficient data flow across the application.
iv. Work closely with cross-functional teams, including back-end developers, designers, and product managers, to translate business requirements into technical specifications.
v. Write clean, maintainable, and well-documented code following industry best practices, including modular design, testing, and code reviews.
vi. Optimize front-end performance, ensuring fast load times and smooth interactions, especially for large-scale applications.
vii. Implement unit and integration tests using testing frameworks like Jest, Mocha, Karma, or Cypress to ensure the reliability and stability of applications.
viii. Ensure cross-browser compatibility and address any issues related to rendering and responsiveness.
ix. Ensure that the applications are fully responsive, mobile-friendly, and adapt well across various screen sizes.
x. Provide guidance and mentorship to junior and mid-level developers, promoting best practices and continuous learning within the team.
xi. Stay up to date with the latest trends, frameworks, and technologies in front-end development and integrate them into the development process where applicable.
Required Skills:
i. Minimum of 5 years of experience in front-end development, with strong expertise in both React.js and Angular.
ii. Strong proficiency in JavaScript (ES6+) and TypeScript.
iii. Expertise in HTML5, CSS3, SASS, and CSS frameworks (e.g., Bootstrap, Material UI, Tailwind).
iv. Advanced experience with React.js and Angular, including component-based architecture, lifecycle methods, hooks (in React), and directives (in Angular).
v. Proficiency with Redux, NgRx, or similar state management libraries.
vi. Strong experience using Git for version control, including branching, merging, and pull requests.
vii. Experience integrating with RESTful APIs and handling asynchronous operations using AJAX/Axios, GraphQL, etc.
viii. Familiarity with testing tools such as Jest, Mocha, Cypress, or Karma to ensure application stability and quality.
ix. Experience optimizing web applications for speed and performance, including lazy loading, code splitting, and caching strategies.
x. Ability to design and develop effectively UX/UI to implement pixel-perfect and responsive designs.
xi. Familiarity with Agile/Scrum processes and a strong understanding of the software development lifecycle.
xii. Experience with Continuous Integration and Continuous Deployment pipelines (using Jenkins, GitLab CI, CircleCI, or similar tools).
xiii. Familiarity with cloud platforms like AWS, Azure, or Google Cloud and their front-end services.
xiv. Experience with modern frameworks or libraries such as Next.js, Vue.js, or Svelte.
xv. Experience working with design systems and component libraries (e.g., Material Design, Ant Design).
xvi. Experience with React Native or Ionic for mobile application development is a plus.
Personal Attributes:
i. Strong analytical and troubleshooting skills to handle complex front-end challenges.
ii. Ability to work collaboratively in a cross-functional team environment with a strong emphasis on communication and teamwork.
iii. Able to take initiative and lead front-end projects, providing technical guidance and mentoring to junior developers.
iv. Comfortable working in a fast-paced, constantly evolving development environment.
v. A continuous learner who is excited to stay on top of the latest trends in front-end development and web technologies.