POSITION SUMMARY
As a Staff Software Engineer, you will drive the success of exciting initiatives that transform how our customers use UpKeep. 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
- 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.
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
KNOWLEDGE
- 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)
DESIRED BEHAVIORS
- 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.
At UpKeep, we celebrate and support our differences. We know employing a team rich in diverse thoughts, experiences, and opinions allows our employees, our products, and our community to flourish. UpKeep is honored to be an equal opportunity workplace. We are dedicated to equal employment opportunities regardless of race, color, ancestry, religion, sex, national orientation, age, citizenship, marital status, disability, gender identity, sexual orientation or Veteran status.