- Develop features/applications, including collaboration in requirements definition, prototyping, design, coding, testing and deployment
- Implement robust, highly scalable, highly optimized mobile, front end or back end components
- Evaluate and integrate latest technologies and third party libraries/APIs, as appropriate
- Contribute to design, code, specification and architectural reviews and technical documentation
- Some years’ experience as a software engineer; demonstrated success developing a variety of software systems while taking on increasing responsibility for analysis, design, implementation and deployment tasks (if you’re a fresher, but have done programming contests and have demonstrable coding project work — feel free to apply)
- Some experience building highly-scalable web-based software systems, utilizing N-tier architectures, dynamic content, and distributed processing
- Some experience with open source Python frameworks such as, Django and Java frameworks such as Spring, Hibernate.
- Experience with relational databases such as PostgreSQL, MySQL, Oracle, etc.
- Solid OO analysis and design skills and some experience working with design patterns
- Solid data structures and algorithms knowledge
- Experience working with teams in rapid delivery environments, Agile, CI, etc.
- Ability to self-organize and work effectively with minimal supervision and have the mindset for experimentation with newer ideas and techniques (we want you to be innovative and creative in everything you do)
- Excellent analytical and problem solving skills, bring your math, probability and statistical inference skills
- Excellent communication and collaboration skills, we want clear English communicators as you’ll have to work with our global teams
- BS or MS in engineering, computer science, or a related discipline or equivalent experience