Engineering Orange

Senior Software Engineer - Mail Pipeline

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 send more email per day than folks tweet through Twitter! Our infrastructure helps support hundreds of thousands of customers engage with their marketplace.

As a Senior member of the Mail Pipeline team, you will directly take part in designing and implementing architecture and services that support the processing of 1.6 billion (and growing) requests per day.  This includes both the exploration and integration of technologies that could meet our needs, and design and implementation of in house solutions.  Delivering the right email at the right time to billions of recipients each day requires expertise in big data, machine learning, data pipelining, compliance, deliverability, security, and all areas of reliably and efficiently scaling complex systems.  The Mail Pipeline team works in the distributed systems space, developing services that process email reliably with 4 9s uptime at high scale (1.6 billion emails/day).  The team is currently integrating with a fault tolerant distributed file system, a distributed streaming platform, and a high performance open source SQL proxy. If you are looking to grow your expertise in these technologies, this is the right team for you!

What You’ll Do

  • Live by and champion our cultural values of Happy, Hungry, Honest, and Humble
  • Develop new, innovative, scalable, concurrent systems that support 10k+ transactions/second
  • Research and implement highly dynamic, performant, resilient, and secure services that support the core platform
  • Build and maintain the tools necessary for ensuring the operational excellence required to provide our customers with a high quality service
  • Contribute to the re-architecture of the core platform to support continuous system scaling
  • Work in a dynamic team environment with short turnaround times, developing and maintaining a high quality code base
  • Contribute to continuous improvement of software development best practices
  • Work in a tech stack that includes but is not limited to: Go, Python, Perl, MySQL, NoSQL, Ceph, Redis, and Kafka
  • 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

  • BS, MS, PhD in Computer Science, related technical discipline, or relevant work experience
  • 7+ years in software development
  • A solid foundation in computer science, with strong competencies in data structures, algorithms, software design and architecture, and OO design
  • Experience with service oriented architecture and highly scalable services
  • Distributed real time systems development
  • Experience developing software in multiple languages
  • Knowledge of Linux
  • Write clean, efficient, testable code
  • Self motivated, works well without supervision, sees commitments through completion
  • Strong analytical and problem solving skills
  • Ability to work and participate on a team in an open collaborative environment
  • Strong communication skills, ability to express technical concepts in verbal and written form
  • 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 

  • Go (Golang)
  • Experience in distributed file store or messaging systems
  • Several years of high scale systems software design and development experience
  • Experience building fault tolerant systems in high transaction environments
  • Experience with configuration management or deployment frameworks like Chef, Ansible, or Puppet

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.