Senior Frontend Engineer

New York City
Engineering
Full-time
About Citizen

Citizen’s mission is to protect the world. We began by opening the NYC and San Francisco 911 system to local Citizen app users, creating access to real-time crime and safety information. By increasing situational awareness and transparency, we hope communities will become safer than ever before.

Since our launch, 3% of New Yorkers use our app every month, and that growth is accelerating. We launched San Francisco last fall, and over 1% has already joined the Citizen safety network. We send over 4 million nearby crime notifications each month, alerting our users to emergencies and dangerous situations near them. Citizen broke both recent NYC terror incidents to people nearby, keeping thousands in the vicinity safer and informed in real-time. Citizen has been featured on local NYC news over 100 times in the past 3 months. 

We’re looking for passionate, mission-driven individuals to help take the Citizen app to the next level as we scale up new cities and expand globally.

Citizen is backed by Sequoia Capital and Founder’s Fund. 

Our Challenges

    • Scaling: We have one of the fastest growing organic user bases in NYC, and right now we’re geo-restricted to New York City and San Francisco. Soon we will launch nationwide and we need to support that scale. A Citizen international launch will follow.
    • Bursting: Without warning, a major incident occurs and multiple users begin live-streaming video into the app. We notify the entire user base, causing a massive burst of simultaneously connected clients. The core systems we build need to efficiently support traffic that can grow to hundreds of thousands of concurrent users today, and millions in the future.
    • Analytics: We want to alert users to incidents that matter to them, in a way that scales across different geographic densities and demographics.
    • Mobile video streaming: Our app will ingest high-quality video at low-latency, transcode, and redistribute the video to external media outlets seamlessly.
    • Extracting signal from noise: During major breaking news events, tensions are high and a lack of information persists. We build tools to raise facts and suppress noise.
    • FM radio: We use software-defined radios to consume all radio dispatch in NYC, SF and eventually every major city, whether analog, digital, or trunked.

Our Stack - languages and technologies we use and teach

    • Mobile: Swift (iOS), Java (Android)
    • Web: React.js
    • Server: Go, Node (for isolated systems)
    • Systems: MySQL, Redis, Kafka, Firebase (for isolated systems)
    • Infrastructure: Kubernetes on GCP

Role Description

    • While our public facing profile is currently entirely mobile, we want to make information about public safety consumable through the web as well.
    • Already we have a significant internal tool for managing real-time audio feeds from multiple 911 systems as well as controlling the flow of information in our app, we want to make this publicly available.
    • Focus primarily on frontend development, working with vanilla JavaScript and React. Additionally, you will work with backend developers who are using Go and Node.
    • Work closely with Product Managers and Product Designers to create intuitive user experiences.
    • Collaborate closely with Data Science, Mobile, and Backend Engineering to optimize the frontend architecture and user experience.
    • Demonstrate rigor with code quality, best practices, and code review, while understanding product tradeoffs.

Requirements

    • Bachelor’s Degree in Computer Science or related field.
    • 5-7 years experience with frontend development, working on large scale, high traffic/performance web applications 
    • Expert understanding of both with vanilla Javascript, as well as frontend frameworks such as React, Angular, Vue.
    • Some experience with backend development (Node or Go experience ideal)
    • Experience working on scalable, distributed systems in a fast paced environment
    • Solid understanding of build tools like Webpack, Gulp, Broccoli or Parcel.
    • Experience testing code with tools like Jest, Enzyme, Mocha or QUnit.
    • Enjoys teaching and collaborating with others.
Citizen offers a competitive benefits package including medical, dental, vision, flexible spending accounts, paid time off, company holidays, stock option plan, commuter benefits, and various wellness perks.