Principal Software Engineer
Santa Cruz, CA
Managed by Jobot Pro
$180,000 - $220,000
A bit about us:
THIS IS A 100% WORK FROM HOME OPPORTUNITY OPEN TO ANYONE LEGALLY ABLE TO WORK IN THE UNITED STATES
Headquartered in the San Francisco Bay Area and with offices around the world, we are a well-financed and rapidly rising B2B Software company leveraging AI to revolutionize the Account-Based Marketing (ABM) space. We leverage a Full Stack Cloud Platform, AI/ML, Predictive Analytics, and Data Science to predict customer behavior and needs so Revenue Leaders and Sales People have the highest quality leads before the competition does.
The ABM space is the hottest space in martech and one of the hottest in B2B software because the CMO/CRO budget is growing significantly faster than the CIO's budget and is soon to surpass it in actual spend. Due to our dominance in our segment, we are well-positioned to for organic and secular growth for years to come.
At this time we are hiring to scale up our Core Platform team. This team will be responsible for scaling out and future-proofing our core Java based application which leverages Hadoop/Hive. We have current openings ranging from the Junior to Principal/Lead level as well as Manager level. If this sounds like you and you are interested in taking a step up in your career, please apply now!
Why join us?
1. Our CEO and leadership team are industry veterans with a track record of building successful businesses up and executing billion-dollar exits.
2. In the past 12 months our valuation has grown from around $300MM to $2B+!
3. $200MM+ raised. 2x headcount and revenue year/year for 3 consecutive years. This year our hiring plan calls for doubling headcount again.
What's In It For You?
- 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
DUTIES & RESPONSIBILITIES
- 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.
QUALIFICATIONS & SKILLS
- 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
NICE TO HAVES
- 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!
If this sounds like you, we'd love to meet you! Please apply now as interviews are ongoing!