Role Overview
We're looking for Software Engineers to design, develop, and maintain critical software in a fast-paced, quality-conscious environment. You will own key pieces of the system, from authoring functional specifications to implementing scalable algorithms and troubleshooting complex problems in a distributed computing environment.
Responsibilities
- Design, develop, and maintain critical software in a fast-paced quality conscious environment.
- Author software functional specifications and design documents.
- Quickly understand complex systems/code and own key pieces of the system, including the delivered quality.
- Design and implementation of scalable algorithms.
- Diagnose and troubleshoot complex problems in a distributed computing environment.
- Perform peer reviews of specifications, designs, and code.
- Work alongside Site Reliability Engineers and cross functional teams to diagnose/troubleshoot any production performance related issues.
- Be a team player and work across teams.
Requirements
- Deep understanding of how distributed resilient software is built and deployed.
- Solid foundation in data structures, algorithms and software design with strong analytical and debugging skills.
- Comfort in working in short, agile, iterative development cycles.
- Entrepreneurial spirit, priding yourself on getting things done with a high level of quality.
- Strong desire to work in an unstructured, fast moving startup environment.
- B Tech degree in CS or equivalent.
- Experience with AWS/Azure/GCP is a plus.