We are looking to add a strong Senior Software Engineer to our big data team to work on various aspects of the platform like public and private APIs, distributed services, and data stores. Seasoned and highly motivated, you will help to decide upon technology choice through R&D and prototyping. You are a strong coder and are not afraid to tackle languages, systems, and tools you don't know and help on projects outside of your area when needed. There is no "box" in our team and versatility is a quality that we truly enjoy for ourselves and expect from others.
Our group operates in an extremely fast-paced environment with high demands on our engineers, where we value ownership, smart risk-taking, innovation, collaboration and lean processes. A successful candidate will have had experience in such an environment and has high standards set for their own delivery of quality in everything that they do.
About You/Required Skills:
• Excellent, up-to-date coding skills. Proficiency in Java and Scala will help you get going faster, but your primary languages aren’t as important as being a great programmer.
• Excellent design and architecture skills. Software that is reliable, testable, instrumented and maintainable should be what you do by default.
• Extremely well versed in RESTful micro services architecture.
• Prior experience building micro services with strong understanding of scaling, performance; a proven track record in delivering these systems.
• Building Concurrent, Scalable Distributed systems using Akka, Apache Kafka.
• Building analytical solutions using Apache Spark and Streaming frameworks such as Apache Samza or Kafka Streams.
• You are comfortable in working with multiple databases like Cassandra, Redis, Elasticsearch, etc.
• Ability to choose the right data model for a given problem.
• SQL proficiency.
• Solid understanding of functional programming concepts.
• Confident, creative, flexible, and a proven collaborator.
• Can explain complicated things in simple words.
• Always learning new things in your domain.
• Able to effectively interact with people at every level of the organization.
• Advanced Computer Science knowledge and background (algorithms, distributed systems, low latency, concurrency, big-O notation, etc.).
• 5+ years experience developing software as an engineer.
• Disciplined approach to testing, quality assurance and operational concerns.
• Change is not a problem.
• Always learning new stuff.
• Strong commitment to software development best practices and code quality.
• Love to participate in and help improve key processes including software requirements, software design, code review, and testing.
• Stay abreast of technology trends, and share with the team.
The Role/Duties:
• Take ownership of systems and maintain responsibility for your code throughout the software lifecycle.
• Design and develop for the cloud.
• Release services to production; own reliability and uptime of these services once in production.
• Identify and address application and system performance bottlenecks.
• Document everything because you know it is essential.
• Contribute to building an efficient, engaged, exciting engineering culture.
You will get:
• A great work space.
• Ability to work from Mountain View or San Francisco.
• An incredible team of smart and supportive people.
• The chance to build a platform that will be part of the IoT revolution.
• The opportunity to stay at the forefront of technologies.