19 Jul
Principal Software Engineer
Vacancy expired!
- Competitive base salary, generous bonuses, and stock option plan
- Work/life balance
- Complete ownership of your daily schedule and workload including work from home as much or little as you would like
- You will work on the most critical production system of our core product.
- Join a growing team where there are ample opportunities for career development, advancement, and an outsized impact on company performance
- Apply distributed computing and map-reduce knowledge to compute, dedupe, and derive insights from billions of records daily
- Invent noise-tolerant algorithms that improve data quality and coverage
- Work on scaling issues to 10x our data-handling capability over the coming year
- Write custom UDFs, UDAFs, UDTFs to simplify complex operations
- Design and implement tools to scrape data, validate data, and semi-automate human feedback.
- Significantly strengthen your existing skills in statistics, data analysis, and programming.
- Intellectually contribute to the software, data, process, and growth of other team members
- Promote and set examples for high code quality like unit testing, good variable naming, modularity, etc.
- Help junior engineers grow via discussions, knowledge-sharing, and code reviews.
- Participate in writing applicable patents for your ground-breaking work.
- 4+ years of professional, recent coding experience in Java (ready to code in week 1)
- 2+ years of professional coding experience in Python
- Experience with SQL with an understanding of joins, group by, partitioning, clustering, skewness, and analytic functions (ready to analyze data in week 1)
- Comfortable with Unix / Linux command line
- Familiarity with basic statistics and histograms
- Understanding of the map-reduce paradigm
- Familiarity with Django, Django admin, Django REST Framework
- Can take vague requirements and move toward an actionable design by coordinating with engineers, product managers, UX, data analysts, data scientists, QA, etc.
- Familiarity with docker and container platforms like Mesos and Kubernetes
- Experience with Big Data Platforms like Hadoop / Hive / Spark
- Experience with SQL query optimization
- Experience with writing Hive / Presto UDFs in Java
- Familiar with many issues discussed in the book Effective Java
- Application benchmarking and optimization
- Multi-processing and concurrency
- You understand that software engineering work does not end with the code
- You can work independently but coordinate effectively with your team
- You take ownership of projects and drive them to conclusion
- You're a good communicator and are capable of not just doing the work, but teaching others and explaining the why behind complicated technical decisions
- You aren't afraid to roll up your sleeves: This role will evolve over time, and we'll want you to evolve with it!
Vacancy expired!