As a Principal Engineer - UI Developer, you will play a pivotal role in shaping our user interface development process. You will be involved in all aspects of development, from design and planning to deployment, and will help establish best practices for future projects. Collaborating closely with the Tech, Design, and Quality Assurance teams, you will work on building and launching high-quality products that deliver exceptional user experiences.
Role & Responsibilities:
End-to-End Ownership: Code, develop, design, and architect features for existing applications. Take pride in owning modules throughout their lifecycle and delivering high-quality work products.
Scalable Architecture: Design, implement, and maintain highly scalable, multi-tier, distributed server software applications that ensure robust performance.
Full Application Lifecycle: Deliver across the entire app lifecycle: design, build, deploy, test, release to app stores, and provide ongoing support.
Collaboration: Work directly with developers and product managers to conceptualize, build, test, and release innovative products that meet user needs.
Technology Adoption: Continuously discover, evaluate, and implement new technologies to maximize development efficiency and enhance product capabilities.
Technical Roadmap: Contribute to defining the technical roadmap for the team, aligning with business goals and user experience standards.
Technical Debt Management: Manage technical debts by prioritizing and implementing necessary fixes, ensuring the longevity of code quality.
Must-Have Qualifications:
Proficiency in Advanced JavaScript, TypeScript, CSS3, HTML5, AJAX, JSON, and DOM concepts.
Thorough knowledge of the latest JavaScript frameworks and libraries such as React, AngularJS, RequireJS, Handlebars.
Understanding of JavaScript design patterns, OOP, and functional programming concepts.
Practical experience with modern front-end build tools like Webpack, Rollup, Parcel, Vite.
Strong skills in responsive design and development for mobile and tablet devices.
Experience with modern JavaScript testing frameworks like Jest, React Testing Library, Cypress, Playwright.
Knowledge of frontend performance optimization strategies, cross-browser compatibility issues, and best practices.
A sense of appeal and aesthetics from a usability perspective, with a keen eye for detail.
Strong analytical skills with the ability to verify assumptions and solve complex problems.
Pragmatic approach to development, balancing theoretical best practices with practical solutions.
High coding standards and commitment to shipping products with exceptional quality.
Exposure to CI/CD processes and tools (e.g., Jenkins, GitLab CI, GitHub Actions).
Awareness of how systems work end-to-end, including elementary knowledge of backend systems.
Deep understanding of the internals of technologies used or worked on, for example:
React: Virtual DOM, reconciliation algorithm, hooks implementation
Redux: State management principles, middleware, async actions
Webpack: Module bundling process, code splitting, tree shaking
Browsers: Rendering pipeline, JavaScript engines, network protocols
Strong expertise in web performance optimization techniques:
Code splitting and lazy loading
Asset optimization (minification, compression)
Caching strategies
Network performance optimization
Experience in building web applications that provide a native-like experience:
Progressive Web Apps (PWAs)
Offline capabilities
Smooth animations and transitions
Responsive and adaptive design for various devices and screen sizes
Good to Have:
Knowledge of Java, Kafka, and AWS.
Elementary knowledge of backend systems and technologies.
Familiarity with GraphQL
Bachelor's or Master's degree in Engineering (B.E./B.Tech) from premier engineering colleges (IITs/NITs/IIIT/DCE).
5-8 years of experience in frontend and web technologies.
Prior experience with internet companies or in the travel industry is a plus.