Backend Engineer

Posted Apr 25

Summary

Cortico is a non-profit committed to fostering deep conversations and raising up under-heard voices. We don’t think we can solve these difficult problems with technology, but we do think we can make them easier to tackle.

Our Local Voices Network(LVN) platform brings people together in recorded small-group conversations. Through a powerful combination of AI and human listening, this platform enables organizations to make sense of the conversations they collect, and surfaces community voices into public dialogue and decision making.

Communities have used LVN to lift up voices and perspectives in the selection of Madison, WI’s police chief and the election of Boston’s mayor. Local newsrooms have used LVN to understand citizen agendas and include underheard voices directly in their reporting. Global nonprofits are using LVN to listen to their stakeholders for strategic policy setting. Local non-profits have used LVN to surface experiences of people in the margins and amplify their voices through artist collaborations.

Our platform continues to grow as we leverage new technology to better understand conversations with less work. We also want to better meet people where they are, whether that be on their phones as we build out a mobile app, or in a conference room as we develop a hardware listening device.

Cortico partners closely with MIT’s Center for Constructive Communication and has a track record of bringing research technology to production.

We are looking for a backend focused software engineer to join our small engineering team. The compensation range for this role is $110,000 – $120,000 annually, and we have competitive benefits, which can be found here. Unfortunately, we are unable to sponsor visas at this time.

A note about culture

Cortico’s team is kind, collaborative, inquisitive, and inclusive. We have high standards for quality and ethics, and help each other learn in order to reach our objectives. We think technology is best built by teams with a diversity of background, and experience. Every team member is a human first, and we strive to create a culture and environment that supports your career goals and respects all of the hats you wear in life, not just the ones that earn you a paycheck.

About you

  • You’ve read about our vision and values and they strongly align with yours
  • You’re passionate about the problems we’re working on.
  • You value sharing knowledge and learning from both technical and non-technical team members
  • You believe in the power of conversation data, but are also thoughtful and careful about its collection
  • You are comfortable working on a small team and shifting around the backend, with tasks such as API development, performance optimization, data pipeline design, and operations.

Minimum qualifications

  • 3+ years of experience in a software engineering role, mostly in a backend role
  • Strong foundation in Python, particularly with a web framework such as Flask or Django
  • An understanding of SQL and how things like indexing and query planning can affect performance
  • Familiarity with designing, implementing, and documenting REST APIs
  • A respect for testing, from unit tests to end to end integration tests

Nice to Haves

  • Experience designing and implementing resilient data pipelines and microservices
  • Experience working with Docker
  • Experience with or a desire to learn about Kubernetes
  • Experience working with a cloud service such as AWS
  • Experience designing and implementing a public-facing API
  • Interest in working with audio data
  • Interest in incorporating data science models into a data pipeline
  • Interest or experience with frontend web technologies

Bonus points

  • Experience with writing firmware for embedded systems
  • Experience in data science or data visualization

Our stack

Frontend

  • Languages: TypeScript, JavaScript, SCSS
  • Frameworks: React + Redux, React Native, Recoil
  • Testing: Cypress, React Testing Library
  • Visualizations: D3, deck.gl/Mapbox 

Backend

  • Languages: Python
  • Frameworks: Django, Flask, Falcon
  • Testing: unittest, pytest 
  • Database: PostgreSQL with PostGIS, sqlalchemy bindings

DevOps

  • Docker
  • Kubernetes
  • RabbitMQ
  • Continuous Integration via GitHub Actions
  • AWS
  • S3 for audio and transcript storage
  • RDS for databases
  • ECR for docker containers
  • EKS for Kubernetes
  • CloudFront for CDN
  • Occasional one-off EC2 instances

Check out these resources by Cortico engineers to get a sense of the kind of work we do:

Next steps

Please apply here and include the following information:

  • A resumé / cv
  • An optional cover letter saying a little about you and your interest in the role

This is not an entry-level position. However, if you are unsure if you are qualified please consider applying anyway.

The process

We’re continuing to evolve and improve our interview process, but here is how it currently stands:

  1. Short phone call with hiring manager to set expectations and make sure we’re all on the same page about the role and your qualifications.
  2. Time bound (2-4 hours) Python take-home assignment. The assignment will give you a chance to work with some of our data, but won’t involve building anything of value for Cortico. We want to make sure the take home isn’t extractive, but instead gives you an opportunity to assess what it may be like to build software with us. This will be reviewed by members of the Cortico engineering team.
  3. “On-site” via Zoom (with breaks!)
  4. 10-15 minute technical talk on any topic of interest to you, followed by answering questions from the Cortico team (both technical and non-technical team members). This presentation is intended for us to understand your communication style, not your technical skill.
  5. Conversation with a member of the product team to chat about incoming projects
  6. Meet with our CEO
  7. Reference checks

If this changes we’ll make sure to let you know early on. We aim to review and respond to all applicants within two weeks of submission.

Cortico maintains a strong policy of equal opportunity in employment. It is our objective to recruit, hire, and retain the most qualified individuals without regard to race, color, religion, sex, sexual orientation or identity, national origin, age, disability, veteran status, or any other characteristic or status protected by applicable federal, state, or local law. Our equal employment philosophy applies to all aspects of employment, including recruitment, compensation, benefits, training, promotions, transfers, job benefits, and terminations.