Principal Software Engineer

Principal Software Engineer


  • Berkeley, CA
  • $170,000-$200,000/year
  • Full-Time, Day Shift

  • Posted October 02, 2020

Job Description

Who we are:

Grabango is the leading provider of checkout-free shopper technology for existing stores. Founded by Will Glaser (co-founder/former CTO of Pandora Media), the Grabango team has developed the only enterprise class solution for large store chains in the market today. Grabango’s system accommodates thousands of store locations, hundreds of thousands of SKUs and millions of square feet across a given retail enterprise.

We’re a growing group of kind, curious, self-directed people working towards a common goal. We delight in taking risks and testing hypotheses in a collaborative and supportive environment. Our ability to celebrate both our successes and failures as milestones of growth opens the door to tremendous breakthroughs.

Computer vision and machine learning are at the core of our patent pending technology.  Our accomplished team is a potent combination of technology and commerce professionals that are looking to “Eliminate lines and save people time!”

Grabango seeks an experienced backend software engineer to help design and build its distributed systems, ML/CV, and data pipelining infrastructures. In order to generate a receipt based on computer vision only, we need to have tools to process massive amounts of video and other downstream data, making decisions about real-world events at every layer of our infrastructure simultaneously. Additionally, the system doing this work needs to be able to scale horizontally, and be fault tolerant at every layer.

We are looking for  a flexible, curious engineer with deep experience of high-throughput distributed systems using modern tooling and languages. Though we use many tools, depth of experience with Python and its use with distributed and real-time systems (Celery + Redis / RabbitMQ, Kafka + Faust, etc) will be central to this role. Deep working experience with the placement of different kinds of data in microservice architectures will be a critical element of this role as we work towards the infinitely scalable future. Shared tools such as Kubernetes, Docker and Git should be second-nature.

As a deeply technical lead, the ideal candidate will prefer spending about 50% of their time actually writing code, splitting the rest between planning and mentorship and code review. We are looking for an engineer who has already seen success in growing their team around them, as well as engineering highly available high-throughput distributed systems.

This full-time role reports directly to the Sr. Engineering Manager (Scale Team) and is based in Berkeley.


Grabango Values:
Integrity: Do the right thing, particularly when you don’t have to.
Bold Innovation: Think recklessly, but temper your actions with pragmatism.
People Matter: Hire the best, and treasure them.
Don’t Live with Broken: Have the courage to admit mistakes, and the urgency to correct them.
Customer Focus: Deliver beyond expectations, both internally and externally.
Inclusion: Foster an environment that welcomes all.
Simplify: Everything should be made as simple as possible, but not simpler.

Job Skills

What you’ll be doing:

Within the first 3 months

  • Getting up to speed on our various systems
  • Expanding our data pipeline across multiple networks
  • Instrumenting code to help us find areas to improve our designs
  • Working with other developers to identify and resolve bugs
  • Reducing latency and improving reliability of our internal APIs
  • Collaborating on system design to optimize petabyte-scale data set management
  • Supporting frontend developers in expanding our labeling and management system


Within the first 6 months

  • Designing distributed computing infrastructure for real time data processing
  • Scaling computer vision algorithms to run massively parallel in production
  • Determining technical roadmap based on current tech maturity and business objectives


  • 8+ years Python and/or C++ experience with mastery of modern language features and libraries
  • Depth of experience with distributed and real-time systems, infrastructure, frameworks, and datastores
  • Second-nature familiarity with shared tools: Kubernetes, Docker, Git

Must Have

  • The ability to recognize the need to balance pragmatism and creativity
  • Able to use your knowledge and experience to help solve problems that may not be in your field of expertise
  • Work well with a diverse team of high-quality people focused on customer delight.
  • The ability to rapidly become familiar with and apply new tools and technologies

Educations & Certifications:

  • BS or equivalent experience in Computer Science or Computer Engineering

Scroll Up
Interview Professionals