bringing Go people to Go jobs

New York, NY, USA

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 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

  • Work as an architect and developer, designing and building our systems for scale, modularity, and flexibility without compromising on reliability.
  • Deliver backend systems with an attention to high availability, low latency and scalability.
  • Build and operate infrastructure, toolset, and deployment pipelines.
  • Take operational responsibility for the services we build.
  • Work with proven open source tools, rather than bespoke custom implementations.
  • Work closely with our Data Science, Mobile, and Frontend teams to deliver a consistent experience to our users in real-time.
  • Demonstrate rigor with code quality, best practices, and code review, while understanding product tradeoffs.

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.

Does this job really require Go skills? If not, please let us know so that we can keep the jobs all about Go.