We are looking for a senior data engineer who can thrive in an environment where initiative and self-management is emphasized. You’ll be working in a Python codebase, managing our data pipeline which loads from third-party sources into versioned PostgreSQL databases using dbt and custom Python code.
We are interested both in folks who only freelance and like to have repeat project-based work, as well as folks who may be looking for a stop-over on the way to a permanent position (with us or elsewhere).
About you
You are an experienced data engineer with 10+ years of software engineering experience and a strong focus on data pipeline architecture. You have deep expertise in Python and SQL, with proven experience building and running data pipelines at scale. You understand OLAP-oriented schema design and have demonstrable experience optimizing database schemas and PostgreSQL performance.
You value technical excellence and thrive in autonomous environments where you can make a significant impact. Experience with Building Science is a plus and will be prioritized in our interview process, though it’s not required.
Experience
These are meant to be directional, not prescriptive. Research has shown that some applicants, especially women, are more likely to self-select based on a strict reading of the requirements. We are an inclusive organization - If you have passion for climate tech and engineering and you meet many but not all of the below, you are encouraged to apply.
- 10+ years of software engineering experience (demonstrated on your resume) with an emphasis on data engineering
- Experience building & running a data pipeline at scale
- Experience with DBT
- Significant experience and expertise in Python
- Significant experience and expertise with SQL
- Demonstrable experience optimizing database schemas
- Experience with PostgreSQL, with a good understanding of the internals and optimization
- Understanding of OLAP oriented schema design
Compensation
- $75 - $85 per hour, commensurate with experience
- US-based contractors will work on the basis of scopes of work and paid on the basis of deliverables
About Your Role
Responsibilities
Data Pipeline Development
- Design, build, and maintain scalable data pipelines from third-party sources
- Implement data transformations using dbt and custom Python code
- Ensure data quality, reliability, and performance across all pipeline stages
Database Management
- Design and optimize PostgreSQL schemas for OLAP workloads
- Implement versioning strategies for database schemas and data models
- Monitor and optimize database performance, including query optimization
System Architecture
- Architect data solutions that support business requirements and scale
- Evaluate and integrate new data sources and technologies
- Contribute to technical decision-making and system design
Quality & Reliability
- Implement comprehensive testing and monitoring for data pipelines
- Troubleshoot and resolve data quality issues
- Document technical processes and maintain system documentation
Skills & Competencies
All roles require our shared competencies for “managers of one”. In addition:
Technical Proficiency
- 10+ years of software engineering experience with emphasis on data engineering
- Expert-level Python programming skills
- Advanced SQL expertise and PostgreSQL optimization
- Proven experience with dbt for data transformation
- Deep understanding of OLAP schema design principles
Data Engineering Excellence
- Experience building and running data pipelines at scale
- Demonstrable experience optimizing database schemas and performance
- Understanding of data versioning and pipeline orchestration
- Knowledge of data quality and monitoring best practices
Professional Skills
- Strong initiative and self-management capabilities
- Excellent problem-solving and analytical thinking
- Ability to work autonomously in a fast-paced environment
- Strong communication skills for technical documentation and collaboration
What to expect from the process
- Resume and cover note review
- Async video code interview - 1 hour
- Technical interviews - 1-2 rounds, 2-3 hours total