Engineering Redwood City

Senior Software Engineer - Platform

Founded in 2009, SendGrid is an industry-disrupting, cloud-based customer communication platform that solves the challenges of reliably delivering emails on behalf of our customers.  We deliver over 33 billion emails a month for customers like Airbnb, Spotify, and Uber.

We are building an Internal Platform Team to drive SendGrid’s evolution to the next level of technological sophistication. This team’s primary objectives are all rooted in the need to give SendGrid the ability to scale to extreme volumes. You will be supporting high-volume data pipelining, providing a scalable and fault-tolerant platform that enables the email sending engine, and supporting the core network services which all SendGrid products are built on. Your team will focus on developing and maintaining multi-datacenter managed systems for the flow, processing, and storage of massive amounts of data. You will develop scalability and reliability strategies for handling a large user base and billions of messages per day.

What You’ll Do

  • Live by and champion our cultural values of Happy, Hungry, Honest, and Humble
  • Provide solutions that help scale infrastructure and operations needs
  • Focus on system manageability and configuration, failure conditions, and high availability
  • Build/enhance real time data ingestion to support billions of events per day
  • Enhance architecture to efficiently and reliably handle large messages and large workloads at scale of billions of messages per day
  • Make a BIG impact by coding daily and leading from the front to realize design goals.
  • Work with the tech lead to provide short turnaround times and ensure the team is developing and maintaining a high quality code base
  • Work with product owners and project managers to maintain an effective agile development team
  • Help create an environment that fosters excellence in engineering and personal growth for members of your team
  • Actively work with teams across the Engineering department to develop and implement data architecture, interprocess communication, and other core elements that enable delivery teams to provide scalable and reliable features
  • We're an agile, fast growing company and this job description isn't meant to be a complete list of your qualifications or all of the things you'll do

About You

  • Typically, 7+ years experience in software development
  • A solid foundation in computer science, with strong competencies in data structures, algorithms, software design and architecture, and OO design
  • Expert level knowledge of at least 1 of Perl, Golang, Python, C/C++
  • Knowledge of Linux is required
  • Experience in SaaS systems
  • Experience designing and implementing distributed systems
  • Experience in common data processing architectures that are fault tolerant, extensible, support low latency queries, and are capable of linear scale-out
  • Have a vast knowledge of software design patterns, testing methodologies, open source projects and frameworks.
  • Self motivated, ability to take ownership of projects as point of contact and ensure follow through on stakeholder needs and overall commitments
  • Success at participating in cross-functional development teams; naturally collaborative but decisive when needed
  • Ability to articulate ideas to technical and non-technical audiences
  • Superior analytical, evaluative, and problem-solving abilities
  • Persuasive - Bring others to their point of view using logic, data, and emotion. Have a formal process and framework by which to make qualitative and quantitative points, not just using emotional appeals
  • Accountable - Being willing to answer for the outcomes resulting from their own choices, behaviors, and actions. Take ownership of situations that they're involved in
  • Self Motivated - Motivated to do or achieve something because of one's own enthusiasm or interest, without needing pressure from others
  • Focused - Achieve what they set out to do before launching new initiatives. Complete company-linked goals and tasks, not simply to be busy and active
  • Collaborative - A keen ability to support cross-functional projects and decisions. Gets energized from working within a team and cross-functionally to achieve the company's goals

Bonus Points

  • Experience designing and implementing eventually consistent storage or other form of data conflict resolution strategy
  • Knowledge of and experience implementing various network protocols
  • Security and cryptography
  • Chef or other deployment automation framework
  • Experience integrating distributed file store, message protocols, or other communication protocols at scale

Technology You'll Use

  • Golang
  • Kafka
  • Ceph
  • Chef

 SendGrid is proud to be an equal opportunity employer. We are committed to equal opportunity regardless of race, color, ancestry, religion, gender, gender identity, genetic information, parental or pregnancy status, national origin, sexual orientation, age, citizenship, marital status, disability, or Veteran status.