TVision is the leader in TV engagement metrics. We measure what was previously unmeasurable - how people actually watch TV. We enable the media industry - advertisers, networks, and technology partners alike - to reduce waste and drive greater and more efficient marketing results.
Utilizing cutting edge technology, TVision goes beyond traditional TV data to include measurement of presence in room, co-viewing and attention, producing best-in-class TV data. This allows us to provide critical data to inform the decision making of a $100B/year industry.
Our growth and innovation have been recognized by The New York Times, Advertising Age, AdWeek, Business Insider, MediaPost, and Forbes. We were selected as a Best Place to Work 2019 by Built in Boston, and were named one of the top companies to watch in advertising technology by Business Insider in December 2019.
Measurement and data analysis lie at the foundation of TVision's data products, but those measurements need to be assembled with context to turn them into actionable insights for our customers. As a principal software engineer at TVision, you will work together with our chief architect and our engineering and data science teams, to lead the evolution of the data pipeline we use to do that.
Your ideas and decisions will shape the next generations of
- the Spark-based analysis algorithms that help us extract meaning from our raw measurements;
- the metadata retrieval and transformation that allows us to correlate the events we observe with the reality of TV viewing in the world;
- the data warehouses where we store and query this information to derive new insights to guide our customers' decisions;
- the metadata indexing and workflow services that coordinate data flow and task execution among all the stages of our pipeline;
- the product services that generate and deliver data to our customers;
- and the compute and storage infrastructure that makes all of this possible.
Because we believe strongly in working together with domain experts to build our software, our data analysis pipeline is built in the common language of data science, which is Python. The back end analyses live on a combination of MapReduce tools (primarily Spark) and SQL databases (Postgres and Redshift). The successful candidate for this position will be an experienced and confident developer with Python, SQL databases, and the Hadoop/MapReduce ecosystem.
But this role is not just about data engineering and data analysis; we expect you to be a generalist software engineer first. This is a centrally located, interdisciplinary role. You will be working with colleagues from all parts of the organization, from customer-facing data analysts, to systems and devops engineers, to the panel operations team who keep our measurement devices healthy. You will need to be comfortable in all phases of the project life cycle, from working with stakeholders and product managers to develop actionable requirements, through architecture and design, to implementation with an eye to reliability and maintainability.
Whether you think of yourself as a software engineer, a data engineer, or something else, you don't just write good code -- you write good code in the service of a sound design that makes sensible compromises. You act as a force multiplier for the rest of your team, resolving the knotty decisions so that everyone can move faster as a group. You are experienced enough to begin with a mission to fulfill rather than a rigid list of requirements, and exercise independent judgment to resolve points of uncertainty with teammates as they come up. You know the difference between the one-month, the six-month, and the two-year solution, and you know when each one is appropriate.
You are thoroughly familiar with Python, SQL databases, and other techniques for wrangling big data sets. If you have in-depth knowledge of Spark, other technologies in the Hadoop/MapReduce family, or some of the other specific tools we use, so much the better -- but for this position core software engineering skills are more important.
If you are primarily a data scientist, and your expertise with these tools is purely using them rather than developing with and integrating with them, this is not the role for you. If you are primarily an engineering manager, and you've been successfully leading data engineering implementation projects on large teams -- that's great, and it's a nice extra, but it's not what this role is about. This is a hands-on technical leadership position, not a management role.
The specific requirements are as follows:
- 6+ years of industry experience, including some time leading data-focused software development projects. This doesn't have to mean you managed the people or the project; show us how you were critical to success.
- BS/MS in Computer Science or closely related discipline (math, computer engineering).
- Substantial experience with Python and a broad range of database systems and data analysis ecosystem tools.
- Experience with any of the following specific technologies is a plus, but not a requirement:
- Apache Spark
- Column-oriented SQL data warehouses such as Snowflake or Redshift
- Workflow orchestration tools such as Apache Airflow
- Machine learning frameworks
- ETL tools such as Pentaho or AWS Data Pipelines
- AWS devops tools and techniques
- Strong communications skills with both technical and non-technical team members.
- Collaborative and enthusiastic approach to software development.
- Strong sense of project ownership and personal responsibility.
- Competitive pay and stock options
- Your choice of comprehensive health benefits for you and your family (health, dental, vision)
- Short and long-term disability, Life and AD&D insurance
- FSA/HSA accounts
- 401(k) retirement plan options
- Pre-tax commuter benefits
- Monthly phone reimbursement
- Unlimited PTO and paid holidays
- Gym membership discounts
- Financial support for ongoing professional development
- Casual dress and fun office atmosphere