Back to jobs

Senior Software Engineer, Apps

Backed by leading investors from Silicon Valley, Peregrine supports public safety agencies across the country — from Los Angeles to Louisville to Atlanta — empowering public servants to improve operations and make better decisions in the moments that matter. Today, our technology is used by customers to serve more than 30 million Americans. We’re motivated to build technologies by partnering with our customers; we listen to their needs, learn from their experiences, and develop effective solutions to help them achieve transformational outcomes. Together, we’re creating safer communities, protecting privacy and civil liberties, and helping everyone in America thrive.

We are a team of public service entrepreneurs who are passionate about solving hard problems. We trust and help each other, and love diving into challenges together. We believe empathy, curiosity, integrity, courage, and excellent execution are key to building impactful software. If mission-focused work is your north star, come build with us. We’re just getting started.

Team

As an engineering team, we believe strongly that empathy improves our solutions. Seeing how people use the product is a priority and the way we get to the right answer. Engineers will have the opportunity to work closely with our team onsite to understand the variety of use cases that Peregrine serves.

The Apps team consists of product-oriented engineers with an ethos to develop rich capabilities via thoughtfully designed UX. We build a comprehensive platform that enables users to make mission-critical decisions. Our search, investigative, and analytical applications include maps, networks, charts, dashboards, and more.

We value both ownership and collaboration—you will take full responsibility for major features and work closely with other engineers to drive them to completion. We believe that humility and empathy are essential for building the right solutions—you will collaborate directly with our deployment team and users as we iterate to solve their problems. Perseverance and creativity are crucial to executing our vision.

Role

We are looking for strong developers to join our small but growing team. As a Senior Software Engineer, you’ll have vast ownership across our stacks, making decisions that will have an outsized impact for years to come.

You’ll build out core features that help our users gain valuable insights into their data. You will work on a wide range of complex challenges, including flexible notification and automation workflows, visualizations to better depict and view complex data, and capabilities to enhance the ability of our users to do real-time collaboration on mapping, network analyses, charts, and more.

Our stack is constantly evolving but based on a backend foundation of Python, Django, Celery, Airflow, and Kafka; a frontend built in React, Redux, and Mapbox; data stores including PostgreSQL and Elasticsearch; machine learning models hosted in Bedrock and Sagemaker; and with AWS, Pulumi, Terraform, and Kubernetes as our underlying infrastructure.

About you

  • Desire and drive to own large portions of the application from start to finish
  • Passion for crafting and shipping software solutions that delight users
  • Thrive on ambiguity and love taking on hard problems
  • Excellent technical vision with the ability to synthesize product requests into strong and reliable software components

What we look for

  • Degree in Computer Science or a related field, or equivalent experience
  • 5+ years of experience working with cross-functional software development teams
  • Experience shipping and iterating on production-grade software components professionally and / or in the open-source community
  • Ability to write robust, well tested, and well-designed code that frequently gets deployed to users
  • Strong understanding of product development and navigating large codebases
  • San Francisco or Washington DC based candidates strongly preferred (hybrid work is acceptable)

Salary Range: $130,000 - $215,000 Annually + Benefits + Equity (if applicable) + Bonus (if applicable)

Actual compensation is influenced by a wide array of factors including but not limited to skill set, level of experience, certifications or licenses, and specific work location. Information on the benefits offered is here.

Peregrine Technologies is committed to creating an inclusive environment for all employees. We celebrate diversity and are a proud equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, gender, gender identity or expression, sexual orientation, national origin, genetics, disability, age, or veteran status.

Pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.

Apply for this job

*

indicates a required field

Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf

Cover Letter

Accepted file types: pdf, doc, docx, txt, rtf


Select...
Select...
Select...

Voluntary Self-Identification

For government reporting purposes, we ask candidates to respond to the below self-identification survey. Completion of the form is entirely voluntary. Whatever your decision, it will not be considered in the hiring process or thereafter. Any information that you do provide will be recorded and maintained in a confidential file.

As set forth in Peregrine Technologies’s Equal Employment Opportunity policy, we do not discriminate on the basis of any protected group status under any applicable law.

Select...
Select...
Race & Ethnicity Definitions

If you believe you belong to any of the categories of protected veterans listed below, please indicate by making the appropriate selection. As a government contractor subject to the Vietnam Era Veterans Readjustment Assistance Act (VEVRAA), we request this information in order to measure the effectiveness of the outreach and positive recruitment efforts we undertake pursuant to VEVRAA. Classification of protected categories is as follows:

A "disabled veteran" is one of the following: a veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be entitled to compensation) under laws administered by the Secretary of Veterans Affairs; or a person who was discharged or released from active duty because of a service-connected disability.

A "recently separated veteran" means any veteran during the three-year period beginning on the date of such veteran's discharge or release from active duty in the U.S. military, ground, naval, or air service.

An "active duty wartime or campaign badge veteran" means a veteran who served on active duty in the U.S. military, ground, naval or air service during a war, or in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.

An "Armed forces service medal veteran" means a veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated in a United States military operation for which an Armed Forces service medal was awarded pursuant to Executive Order 12985.

Select...

Voluntary Self-Identification of Disability

Form CC-305
Page 1 of 1
OMB Control Number 1250-0005
Expires 04/30/2026

Why are you being asked to complete this form?

We are a federal contractor or subcontractor. The law requires us to provide equal employment opportunity to qualified people with disabilities. We have a goal of having at least 7% of our workers as people with disabilities. The law says we must measure our progress towards this goal. To do this, we must ask applicants and employees if they have a disability or have ever had one. People can become disabled, so we need to ask this question at least every five years.

Completing this form is voluntary, and we hope that you will choose to do so. Your answer is confidential. No one who makes hiring decisions will see it. Your decision to complete the form and your answer will not harm you in any way. If you want to learn more about the law or this form, visit the U.S. Department of Labor’s Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

How do you know if you have a disability?

A disability is a condition that substantially limits one or more of your “major life activities.” If you have or have ever had such a condition, you are a person with a disability. Disabilities include, but are not limited to:

  • Alcohol or other substance use disorder (not currently using drugs illegally)
  • Autoimmune disorder, for example, lupus, fibromyalgia, rheumatoid arthritis, HIV/AIDS
  • Blind or low vision
  • Cancer (past or present)
  • Cardiovascular or heart disease
  • Celiac disease
  • Cerebral palsy
  • Deaf or serious difficulty hearing
  • Diabetes
  • Disfigurement, for example, disfigurement caused by burns, wounds, accidents, or congenital disorders
  • Epilepsy or other seizure disorder
  • Gastrointestinal disorders, for example, Crohn's Disease, irritable bowel syndrome
  • Intellectual or developmental disability
  • Mental health conditions, for example, depression, bipolar disorder, anxiety disorder, schizophrenia, PTSD
  • Missing limbs or partially missing limbs
  • Mobility impairment, benefiting from the use of a wheelchair, scooter, walker, leg brace(s) and/or other supports
  • Nervous system condition, for example, migraine headaches, Parkinson’s disease, multiple sclerosis (MS)
  • Neurodivergence, for example, attention-deficit/hyperactivity disorder (ADHD), autism spectrum disorder, dyslexia, dyspraxia, other learning disabilities
  • Partial or complete paralysis (any cause)
  • Pulmonary or respiratory conditions, for example, tuberculosis, asthma, emphysema
  • Short stature (dwarfism)
  • Traumatic brain injury
Select...

PUBLIC BURDEN STATEMENT: According to the Paperwork Reduction Act of 1995 no persons are required to respond to a collection of information unless such collection displays a valid OMB control number. This survey should take about 5 minutes to complete.