Design, develop, test and debug highly distributed storage service. Strong background in algorithms and data structures required
Job Title: Distributed Systems Engineer - SDET Job Location: Pune, India Job Description: Are you looking to put your computer science skills to use? Are you looking to work for one of the hottest start-ups in Silicon Valley? Are you looking to define the next generation data management platform based on Apache Spark? Are you excited by the idea of being a Spark committer? If you answered yes to all of the questions above, we definitely want to talk to you. We are looking to add highly motivated engineers to work as a QE software engineer in our product development team in Pune. We work on cutting edge data management products that transform the way businesses operate. As a distributed systems engineer (if you are good) , you will get to work on defining key elements of our real time analytics platform, including 1. Distributed in memory data management 2. OLTP and OLAP querying in a single platform 3. Approximate Query Processing over large data sets 4. Online machine learning algorithms applied to streaming data sets 5. Streaming and continuous querying Requirements: 1. Experience in testing modern SQL, NewSQL products highly desirable 2. Experience with SQL language, JDBC, end to end testing of databases 3. Hands on Experience in writing SQL queries 4. Experience on database performance benchmarks like TPC-H, TPC-C and TPC-E a plus 5. Prior experience in benchmarking against Cassandra or MemSQL is a big plus 6. You should be able to program either in Java or have some exposure to functional programming in Scala 7. You should care about performance, and by that, we mean performance optimizations in a JVM 8. You should be self motivated and driven to succeed 9. If you are an open source committer on any project, especially an Apache project, you will fit right in 10. Experience working with Spark, SparkSQL, Spark Streaming is a BIG plus 11. Plans & authors Test plans and ensure testability is considered by development in all stages of the life cycle. 12. Plans, schedules and tracks the creations of Test plans / automation scripts using defined methodologies for manual and/or automated tests 13. Work as QE team member in troubleshooting, isolating, reproducing, tracking bugs and verifying fixes. 14. Analyze test results to ensure existing functionality and recommends corrective action. Documents test results, manages and maintains defect & test case databases to assist in process improvement and estimation of future releases. 15. Performs the assessment and planning of test efforts required for automation of new functions/features under development. Influences design changes to improve quality and feature testability. 16. If you have solved big complex problems, we want to talk to you 17. If you are a math geek, with a background in statistics, mathematics and you know what a linear regression is, this just might be the place for you 18. Exposure to stream data processing Storm, Samza is a plus Open source contributors: Send us your Github id Product: SnappyData is a new real-time analytics platform that combines probabilistic data structures, approximate query processing and in memory distributed data management to deliver powerful analytic querying and alerting capabilities on Apache Spark at a fraction of the cost of traditional big data analytics platforms. SnappyData fuses the Spark computational engine with a highly available, multi-tenanted in-memory database to execute OLAP and OLTP queries on streaming data. Further, SnappyData can store data in a variety of synopsis data structures to provide extremely fast responses on less resources. Finally, applications can either submit Spark programs or connect using JDBC/ODBC to run interactive or continuous SQL queries. Skills: 1. Distributed Systems, 2. Scala, 3. Apache Spark, 4. Spark SQL, 5. Spark Streaming, 6. Java, 7. YARN/Mesos What's in it for you: 1. Cutting edge work that is ultra meaningful 2. Colleagues who are the best of the best 3. Meaningful startup equity 4. Competitive base salary 5. Full benefits 6. Casual, Fun Office Company Overview: SnappyData is a Silicon Valley funded startup founded by engineers who pioneered the distributed in memory data business. It is advised by some of the legends of the computing industry who have been instrumental in creating multiple disruptions that have defined computing over the past 40 years. The engineering team that powers SnappyData built GemFire, one of the industry leading in memory data grids, which is used worldwide in mission critical applications ranging from finance to retail.
You’re Part: Communication Drive discussions to create/improve product, process and technology Coding Thinking tools, creating tools Build abstractions and contracts with separation of concerns for a larger scope Rapid proto-typing Robust and scalable web-based applications Design Do high level design with guidance; Functional modelling, break-down of a module Thinking platforms & reuse Architecture Do incremental changes to architecture: impact analysis of the same Do performance tuning and improvements in large scale distributed systems Org Development Mentor young minds and foster team spirit You’re Array (Nice to Haves): The farsightedness it takes to look at business problems critically from more than one perspective. The capability to craft object-oriented models and design data structures, implement business logic and data models with suitable class design. Ability to break-down larger/fuzzier problems into smaller ones in the scope of the product Sound soft skills to gel with colleagues from other teams in order to harness the development process. An understanding of the industry’s coding standards and an ability to create appropriate technical documentation. You (Must Haves): Extensive and expert programming experience in any one programming language (strong OO skills preferred). Deep experience in at least one Object Oriented programming language (Java/C/C++, Ruby, Clojure, Scala,and SQL) A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design. Have a penchant for solving complex and interesting problems Worked in startup like environment with high levels of ownership and commitment BTech, MTech, or PhD in Computer Science or related technical discipline (or equivalent). Excellent coding skills – should be able to convert design into code fluently Good skills to write unit & integration tests with reasonable coverage of code & interfaces - TDD is a plus Experience in building highly scalable business applications, which involve implementing large complex business flows and dealing with huge amount of data. Experience with multi-threading and concurrency programming Above exposure in the art of writing codes and solving problems for large scale. You’re Cheers! Apart from all the general benefits of best in industry compensation, equity, healthcare etc , Flipkart prides in calling out the big hand for you to be Great Work, Great People and Great environment. We call ourselves an incubator for engineers where you get all the optimal conditions to do and experience your best.