Senior Software Engineer II – Technical Lead

Website Grow Progress

Building cutting-edge persuasion technology for social good.

Grow Progress is hiring a senior engineer who can lead an engineering team in building cutting-edge persuasion technology for social good.

We hire engineers who want to use their experience for social good and be part of a team that’s pioneering a new approach to persuasion: giving our customers the ability to persuade more people based on how they think — not just how they look.

If you want to make a big social impact and grow your skill set by working with a dedicated team of engineers that are building new products backed by cutting-edge theories and technology in behavioral psychology, we hope you’ll apply.


Who We Are

Grow Progress’s mission is to make our clients better at persuasion so that they can run more effective campaigns, causes, and companies that make the world a better place. For this, we’ve built powerful software that offers our customers unprecedented access to run scientific message tests quickly and affordably, so they can unlock the most effective messages. We currently work with many of the biggest Democratic pollsters, marketing agencies, advocacy groups, campaigns, and labor unions in the country.

We give our customers the power to persuade more people by tailoring their messages to match each audience member’s values. We help customers harness the latest persuasion science to create messaging that’s typically 200% to 500% more effective than their existing ads. We do this by predicting which personality traits and values are most important to each individual.

We’re a team of experienced campaigners, software engineers, and data scientists who are obsessed with harnessing the power of evidence to make social good advocates more effective. We’re motivated, efficient, low-ego, and we like to make each other laugh.


About the Position

This opening is for the Senior Software Engineer II – Technical Lead role on our Client Applications team. The Client Applications team builds the interfaces for our automated message testing and audience understanding tools. This team works closely with our Product Management and Design teams to improve the effectiveness, ease, and impact of our tools.

Technical Leads at Grow Progress are senior software engineers that manage a team of 3-5 engineers and are responsible for their success and well-being. This position is a blend of engineering manager, individual contributor, and scrum process owner. This position reports to the VP of Engineering.

The Technical Lead is expected to be someone who can advocate for their team and work with the VP of Engineering to ensure that their team has everything it needs to succeed by running interference with other departments, purchasing devops resources or hiring more team members as needed. We look for teammates that are low-ego, lead with empathy, and can maintain a highly collaborative environment for their remote team.

A typical week might involve the following:

  • Facilitating team meetings such as sprint retrospectives, sprint reviews, sprint planning, etc.
  • Working with the product team and other engineering leads to set sprint goals and longer-term milestones.
  • Participating in sprint execution by assisting with code reviews and writing code.
  • Participating in QA and release management.
  • Providing and receiving feedback through weekly 1:1s with your manager.
  • Facilitating the professional development of team members through mentorship, coaching. and sponsorship.
  • Providing and receiving feedback through weekly 1:1s with your reports.
  • Building relationships with members of other departments to understand their needs, strategize on implementation strategies, and advocate for engineering priorities.
  • Helping to continuously improve our processes both within the engineering team and with our relationships with our stakeholders.
  • Chit-chatting in optional company lunches or grabbing a virtual “donut” with a colleague.

All Engineers at Grow Progress write code and get things done, but more importantly, they are encouraged to:

  • build strong partnerships with project stakeholders
  • feel comfortable disagreeing and discussing ideas related to product and technical decisions
  • tackle hard problems
  • learn new things
  • pair with other engineers on complex issues
  • participate in team discussions
  • pitch new ideas and technologies
  • give kudos to their colleagues for the awesome work they are doing


About Our Technology

Any experience with these technologies is a plus but not required.

  • Our client-facing applications are built with
    • Laravel (A PHP Framework)
    • Vue.js
    • SCSS (Bootstrap)
    • MySQL, Vertica
  • Our experiment automation pipelines are built with
    • Node.js (TypeScript)
    • PostgreSQL, Redshift
    • Terraform
    • AWS Serverless (Lambda, Step Functions, S3, Glue, etc)
  • We develop with Docker and git.
  • Our code repositories and build pipelines are in Bitbucket.
  • We use other tools from Atlassian such as Jira and Confluence for project planning and documentation.
  • We host our applications in AWS and leverage many AWS resources such as EC2, Lambda, DynamoDB, S3, etc.
  • We help maintain some analytical applications built in R.
  • We understand that not everyone has the same experience so we encourage learning on the job through self-discovery, pair programming, and team training(s).


About You

  • You are motivated to work in an environment where everyone is dedicated to the progressive impact of the technology they create — previous work in politics or other progressive advocacy organizations is a plus, but not required.
  • You consider yourself a senior engineer:
    • You have the technical experience to deliver features through each step of the software development life cycle.
    • You are capable of global architectural and/or process thinking.
    • You can devise an effective implementation strategy for new projects of any size and guide engineers of any experience level through the project.
    • You are capable of proactively working across departments to get buy-in on implementation decisions as well as ensure that key stakeholders are kept up to date on the statuses of projects that might affect their work.
    • You can communicate technical issues to non-technical audiences.
    • You can provide constructive feedback through code review and regularly keep up to date on pull requests so as to ensure overall code quality and system integrity.
  • You are empathetic and are capable of leading and managing with empathy.
  • You are capable of admitting mistakes and understand that everyone does the best job that they can given what they know at the time, their skills and abilities, the resources available to them, and the context of their work.
  • You want to grow your career in an engineering management direction and are ready to manage a small team (4-5 engineers) — don’t worry if you don’t already have experience in management, we’ll provide resources and training as part of your onboarding process.
  • You are familiar with software engineering best practices, are comfortable implementing them day to day, and can teach them to those on your team. You also understand that best practices are there to help developers as well as manage growing complexity and can be revised as needed.
  • You are able to write code that incorporates Grow Progress’s coding standards.
  • You are able to quickly learn new technologies or processes and employ them to effectively execute on hard tasks.
  • You are able to participate in architectural discussions, evaluate architectural ideas, review software design plans, and guide others on how to write and implement these plans.
  • You are comfortable working in a team environment. Can take ownership of your tasks, effectively communicate progress on your work, identify barriers to completing the tasks, and recruit help when needed.
  • You are willing to take on tasks that may be outside of your comfort zone and you are not afraid to take risks and make mistakes.
  • We strongly encourage applicants coming from a background that is traditionally underrepresented in tech/politics, including but not limited to race, ethnicity, gender identity, sexual orientation, neurotype, etc., to apply!


The Hiring Process

Hiring for this position is completed in the steps below and we’ve designed the process to be quick and nimble depending on when you apply.

Please also keep in mind that each interview below will be conducted over Zoom and will include time for you to ask the interviewer(s) questions about Grow Progress and the position. Towards the end of the process, you’ll have the opportunity to ask questions to other members of the team.

  • Phone Screen (~30 minutes): This is a short interview with our Director of People to answer some behavioral and logistical questions, and a chance for you to ask questions about the position and the company.
  • Skills Test (~1 hour): This is a timed take-home assessment that is designed to assess your general coding ability.
  • Technical Aptitude: In this phase, we are looking to see how you think through hard problems. We’ve broken this phase into two parts.
    • Part 1: Technical Interview (~1 hour): This is a white board diagramming exercise over Zoom with a small panel of engineers from our team.
    • Part 2: Code Review Assignment (untimed): We’ll provide intentionally sloppy code and you’ll be asked to review it and return feedback.
  • Behavioral Interview (50 minutes): This step is a panel interview with members of the engineering team and cross-functional peers in which all candidates will be asked the same ~10 questions.
  • Final Interview (~30 minutes): This is a final interview with the head of engineering and executive leadership.


More About Grow Progress

We believe that inclusion and equity are the keys to a better future. We center these issues by creating accessible and affordable products, partnering with progressive organizations, and building transparency across our company.

We strive to foster belonging and empowerment at work and we continuously examine our efforts through our Growing Progress DEI&B working group. We are committed to building a team with a variety of backgrounds, skills, and experiences. Our goal is to create a workplace where every person feels supported and encouraged to thrive.

Our culture is fun, fast-paced, and focused on evidence. We aim to cultivate an environment where data drives our decision making rather than just anecdotes, and where everyone feels comfortable contributing ideas — even if it’s on a topic outside of their expertise. We work hard to get smarter together by giving each other feedback that’s direct, actionable, and respectful. We’re deeply motivated by the work we do and committed to using this technology ethically, so we’re looking for teammates who feel the same way.

We are committed to building an equitable company. We’re an equal opportunity employer. Qualified people of all races, ethnicities, cultures, ages, sexes, genders, sexual orientations, gender identities and expressions, languages, social class, marital status, religions, veteran status, and disabilities are strongly encouraged to apply.


Location: This position is remote. We do have an office in Washington, DC that you are welcome to join if you prefer to work onsite.

Salary Range: $135,000 – $160,000 plus equity, depending on skill level and experience. We typically make offers towards the beginning of the range so as to provide opportunities for future merit increases based on performance. Company benefits include a company-sponsored health insurance plan, dental and vision coverage, a flexible PTO plan, home office/internet reimbursement, and a 401(k) with employer matching, among others.

To Apply: Fill out the form at the link. Please note that if you email your resume to our team directly rather than applying through the link, you will not be considered for the position. No recruiters, please.