POSITION SUMMARY
As a Staff Frontend Software Engineer, you will drive the success of exciting initiatives that transform how our customers use UpKeep. Your technical guidance will be a multiplier for the entire engineering team, you will be a partner to product managers and engineering managers in steering technical and product decisions. Your product and technical guidance along with working through and empowering others will enable new products and improve current ones in order to reach more customers and provide delightful and enriching customer experiences.
ESSENTIAL FUNCTIONS AND RESPONSIBILITIES
- Provide technical leadership to a talented engineering team, guiding them on architectural decisions and coding best practices.
- Establish common web app architecture for teams to follow
- Establish component design system for teams to use
- Setting up CI/CD
- Coordinating feature flagging strategy
- Shepherding team's security journey
- Helping teams with logging and monitoring
- Help teams address architectural debt
- Pair program and leveling up developers of all levels
- Collaborate cross-functionally with designers, product managers, and other engineers to design, implement, and iterate on features and product directions.
- Iterate quickly on experiments while preventing technical lock-in.
- Actively identify and propose strategies to resolve technical problems affecting the team, demonstrating a strategic mindset.
- Provide input on prioritization of engineering-led initiatives in short- and long-term planning and roadmaps.
- Contribute to the growth of team members through code reviews, documentation, technical guidance, and mentorship.
- Take responsibility for team and system-wide documentation, ensuring that knowledge is well-documented and shared within the team and beyond.
- Architectural diagrams
- RFCs (Request for Comments)
- ADRs (Architectural Decision Records)
EXPERIENCE
- Bachelor’s degree in Computer Science or a related field preferred
- 10+ years of hands-on programming experience in one of the following languages: Javascript
- Experience establishing application-wideapplication wide architectural standards
Experience building a Web App that uses React and not necessarily a “React App” (in your cover letter please let us know what in your opinion is the difference. Be specific with your own experience examples.)
KNOWLEDGE
- OOP (Object-Oriented Programming), design patterns, SOLID principles
Clean Architecture
- Excellence in front-end Typescript/React architecture and development
- Experience working with NodeJS
- Experience operating and maintaining live web services and troubleshooting live issues
- Experience developing fault-tolerant distributed systems from the ground up, including requirements-gathering, architecture design, project breakdown, and execution
- Experience defining team-level technical processes, such as code reviews and testing
- Experience developing and operating services at scale
- Experience with cloud services (e.g. AWS)
- Experience with containerization technologies (e.g. Docker, Kubernetes)
- Automated testing
DESIRED BEHAVIORS
- Receptive to change – is flexible. Seeks and adopts improved approaches and processes.
- Proactively seek and implement improvements of code's architecture, structure
- Initiates action – is results oriented, takes responsibility for actions and outcomes. Meets commitments and strives for high performance.
- Manages the workload - makes timely decisions, prioritises effectively, solves problems, monitors results and takes remedial action where necessary.
- Technically proficient – able to apply the technical knowledge and skills required in the job role and responsibilities in order to achieve the expected outputs.
- Takes responsibility for own learning - knows personal strengths, recognizes development needs, and takes action to improve. Is open to feedback and always seeks to learn.
- Communicates ideas – respectfully exchange information and proposes a way forward. Listen to views of colleagues and take in diverse perspectives.
- Works collaboratively – shares knowledge and information, fosters teamwork and contributes to a positive work environment where people want to come to work.
- Be a partner to EMs (Engineering Managers) and PMs (Product Managers)
- Understand the business
- Display ethical character and competence - acts with integrity and intent, is accountable for own actions, behaves according to the company values.
COMPENSATION
This role will receive a competitive base salary + annual bonus + benefits + equity. A variety of factors are considered when determining someone’s compensation–including a candidate’s professional background, experience, and location. Final offer amounts may vary from the amounts listed below.
The pay range for this role is $170,000 - $190,000 per year.