Job Title : Senior Staff Software Engineer
Work matters. It’s where we spend a third of our lives. And the workplace of the future is going to be a great place. We’re dedicated to bringing that to life for people everywhere. That’s why we put people at the heart of everything we do.
People matter. Our people have a passion for learning, building, and innovating. Whether you’re an engineer, a sales professional, a finance professional, or anything in-between, our roles aim to provide each person with meaningful impact and plenty of space to grow.
As a core member of the Platform Notification Team, you can help provide meaningful direction to our Notification features as we continue to grow and scale. The notifications team is a high-visibility arena where technical leadership is sought and recognized.
What you get to do in this role:
- Build high-quality, clean, scalable and reusable code by enforcing best practices around software engineering architecture and processes (Code Reviews, Unit testing, etc.)
- Develop & implement new features in the Notifications area
- Working in a Scrum-based Agile development process that is light on documentation and meetings and heavy on coding
- Designing and implementing software that is simple, intuitive and easy to use will allow customers to extend and customize the functionality to meet their specific business needs
- Play a vital role in the design and implementation of new products and features while also enhancing the existing product suite
- Translate requirements and mock-ups into fully functional features by working closely with business and product owners, and creative designers
- Collaborate with product managers and user experience designers to deliver delightful experiences
- Act as a mentor for colleagues and help drive knowledge-sharing
To be successful in this role, we need someone who has:
- Over 10+ years of experience designing and building scalable, reusable products/components
- Passion for software development, debugging, and problem-solving. We are seeking engineers who want to work across technologies and development environments/languages
- Strong knowledge of Java
- Strong problem-solving, debugging skills and an aptitude for learning new technologies
- Solid understanding of data modeling and databases
- In-depth understanding of data structures, algorithms, object-oriented design, design patterns, and performance/scale considerations
- Strong written and verbal communication
- Must be comfortable with juggling multiple priorities with the ability to manage time effectively
- Lead and mentor less experienced developers
- Bachelor’s/master’s degree in Computer Science or related discipline