- An incredible desire to be part of a team that delivers impactful results every day.
- Design and develop highly scalable, reliable and fault tolerant systems with minimal guidance for one of the world’s fastest growing unicorns
- A commitment to writing understandable, maintainable, and reusable software.
- Translate business requirements into scalable and extensible design
- Pair with team members on functional and nonfunctional requirements and spread design philosophy and goals across the team
- Partner with the product management team to define and execute the feature roadmap
- Coordinate with cross functional teams (Mobile, DevOps, Data, UX, QA etc.) on planning and execution
- Continuously improve code quality, product execution, and customer delight
- Proactively manage stakeholder communication related to deliverables, risks, changes and dependencies
- Communicate, collaborate and work effectively across distributed teams in a global environment
- Building and managing fully automated build/test/deployment environments
- An innate desire to deliver and a strong sense of accountability for your work
- Willingness to learn new languages and methodologies
- An enormous sense of ownership
- You write code because you like to
- A deep passion for crafting delightful customer experiences
- Experience in software development or a serious open source track record
- Hands-on experience in designing, developing, testing and deploying applications on Clojure, Ruby, Go or Java for large scale applications
- Deep knowledge of Linux as a production environment
- Proficient in OOP, including design patterns. Experience with functional programming is a plus.
- Data modeling experience in both Relational and NoSQL databases
- Ability to understand and implement Continuous Integration and Continuous Delivery
- Well versed with Lean methodologies, TDD and Test Engineering and Automation
- Ability to design and implement low latency RESTful services
- Experience troubleshooting server performance memory issues, GC tuning, resource leaks etc.
- Excellent understanding of interactive application development paradigm, memory management, performance/resource optimizations, database interactions, network programming, concurrency and multithreading, fault tolerance, monitoring, security and operability of systems
- Continuously refactor applications to ensure high-quality design
- Ability to plan, prioritize, estimate and execute releases with good degree of predictability
- Ability to scope, review and refine user stories for technical completeness and to alleviate dependency risks
- Passion for learning new things, solving challenging problems
- Ability to get stuff done!
Feel secure when applying: look for the verified icon and always do your research on a company. Avoid and report situations when employers require payment or work without compensation as part of their application process.