This Principal Frontend Developer role offers a collaborative innovative and growthoriented environment. If youre a seasoned frontend developer passionate about delivering exceptional digital solutions we encourage you to apply.
Roles & Responsibilities
As Principal Frontend Developer you will excel by:
Development Guidance and Best Practices
- Provide technical guidance and leadership to the development team promoting knowledge sharing and adherence to best practices
- Encourage a culture of innovation ownership and accountability within the team
- Contribute technically to projects when necessary demonstrating expertise and sharing insights
- Actively contribute to development tasks while ensuring effective task distribution within the team
Technical Leadership and Strategy
- Take technical responsibility for all stages and iterations in software development projects providing specific technical advice and guidance to team members with direction from the Head of Technology
- Define and implement strategies for edge caching considering performance usability and application support and guide the team to successful implementation
- Spearhead the resolution of P1/P2 issues ensuring timely and effective solutions
Programming Excellence
- Capable of reading editing and writing code using OOP best practices
- Familiar with Design patterns and principles and understands their applications
- Actively implements Design patterns and principles in coding
- Encourages the team to adopt and integrate Design patterns and principles
- Actively mentors the team presents lectures and provides support to increase the companys programming knowledge
MVC and ClientServer Model
- Understands the concepts of ModelViewController (MVC) and clientserver models
- Proficiently works with applications utilizing MVC and clientserver models
- Customizes applications using MVC MVVMC and clientserver models
- Advocates proper MVC and MVVMC usage within the team
JavaScript Expertise
- Proficient in JavaScript capable of debugging and fixing issues within frameworks like Magento and Symfony
- Writes JavaScript following accepted best practices
- Acts as a JavaScript expert leading the teams knowledge
- Constantly improves own knowledge and encourages team members to do the same
Framework Utilization
- Understands the utility of both Backend (BE) and Frontend (FE) frameworks such as Magento Symfony and React
- Skilled in React and Redux integrates them with Magento and Symfony and handles related programming tasks
- Experienced in enterpriselevel applications including Magento and Symfony projects capable of leading development projects
Dependency Management and Documentation
- Familiar with composer and npm for package installation and upgrades including Semantic Versioning
- Proficiently manages package installations upgrades and publishes
- Actively promotes best practices in dependency management
Code Design and Documentation
- Designs codes and documents applications based on agreed specifications
- Leads complex application design coding and documentation
- Takes technical responsibility for all stages of a software development project
CSS Proficiency
- Proficient in CSS including grid systems and animations
- Utilizes CSS preprocessors and task runners following best practices
- Drives best practices and team knowledge in CSS forward
Layout Creation and Accessibility
- Creates maintainable layouts using HTML and CSS while considering accessibility and SEO best practices
- Supports development team in understanding SEO and accessibility practices
- Mentors the team in improving SEO and accessibility practices
Code Commenting and Documentation
- Understands the value of code comments and uses them appropriately
- Writes clear and concise documentation when required
- Encourages code documentation within the team emphasizing the importance of why over what
Code Review and Refactoring
- Participates in code reviews and provides meaningful feedback
- Able to refactor code for readability performance and other reasons
- Understands the pros and cons of code refactoring and makes arguments for both sides
- Advocates reducing technical debt and suggests refactoring based on benefit vs cost
Unit Testing and TestDriven Development (TDD)
- Reads modifies and executes existing unit tests
- Writes unit tests for various scenarios including modern and legacy code
- Works with TDD and understands BehaviourDriven Development (BDD)
- Encourages the team to adopt testing and preaches its importance
Performance and Caching Expertise
- Prioritizes performance and avoids bottlenecks during code development
- Monitors personal work for performance issues debugs and implements fixes
- Regularly monitors performance during code reviews
- Actively mentors the team in performance best practices provides guidance in resolving performancerelated issues
DevOps and Version Control
- Proficient in using version control systems specifically Git
- Handles conflicts creates release candidates and resolves VCSrelated issues
- Mentors the team in Git best practices
Environment Maintenance and Docker
- Understands OS maintenance in development environments
- Supports maintenance of local shared and production environments
- Proficient in Docker and orchestration tools creates and maintains application stacks
- Actively mentors the team in Docker best practices
Team Collaboration and Leadership
- Works collaboratively within a team with a clear understanding of roles and responsibilities
- Assists the team leader and is capable of leading small to mediumsized teams
- Acts as a trusted member capable of delivering work and mentoring other developers
- Leads larger teams coordinates efforts and ensures cohesion among team members
Effective Communication
- Communicates effectively during standups through various channels like email Slack Jira etc
- Responds to queries from both technical and nontechnical team members
- Documents assumptions and articulates requirements clearly
Continuous Learning and Support
- Eager to learn and seeks help to enhance their skill set
- Provides guidance and support to fellow team members
- Mentors other developers on softwarerelated topics to improve their capabilities
Ownership and Quality Assurance
- Takes responsibility for own work and delivery
- Assumes responsibility for components based on their expertise (FE/BE)
- Ensures high standards of work quality within the team
- Defines documentation standards and actively mentors other developers
Prioritization and Time Management
- Understands the priorities of their work and works accordingly
- Supports the team leader in defining and organizing priorities
- Defines and manages team priorities ensuring timely delivery from a technical perspective
- Manages and minimizes interruptions to protect the teams productivity
This position will be predominantly remote with occasional office visits when required.