Staff Software Engineer

Upkeep
Summary
Join UpKeep, a fast-growing SaaS company revolutionizing maintenance with its AI-powered CMMS, as a Staff Software Engineer. You will play a key role in developing and improving products, collaborating with designers and product managers, and providing technical leadership to the engineering team. The position requires extensive experience in Javascript, Typescript/React, NodeJS, and cloud services. You will be responsible for designing, implementing, and iterating on features, guiding architectural decisions, and resolving technical problems. UpKeep offers a competitive salary, benefits, and equity, along with a remote-first work environment and a culture that values innovation and collaboration. The company is backed by prominent investors and serves a large customer base, including major corporations.
Requirements
- 10+ years of hands-on programming experience in Javascript
- 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)
Responsibilities
- Collaborate cross-functionally with designers, product managers, and other engineers to design, implement, and iterate on features and product directions
- Provide technical leadership to a talented engineering team, guiding them on architectural decisions and coding best practices
- 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
- Determine methods and procedures used by the team, focusing on continuous improvement and efficiency
- 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
Preferred Qualifications
- Receptive to change – is flexible. Seeks and adopts improved approaches and processes
- 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
- Display ethical character and competence - acts with integrity and intent, is accountable for own actions, behaves according to the company values
- Act as a good citizen of UpKeep
Benefits
- Competitive comp, meaningful ownership, and benefits that support your health, focus, and long-term growth
- The base pay for this role is $175,000 - $195,000 USD per year