Sr. Software Engineer- Applications
Although we do send 2% of the world’s wanted email, SendGrid is much more than an email company, and our mission has much greater scope. To handle transactional messaging at-scale requires expertise from nearly every area of computer science. Our engineers work on many projects that carry varying responsibilities.
As a Software Engineer at SendGrid, you will work on a small, versatile and passionate team, tackling new problems as we continue to push our technology forward. You will design, test, deploy and maintain software solutions that solve developers’ problems at-scale. You will have the opportunity to write mission-critical code that enables us to achieve our goal of simplifying communication between businesses and their customers.
What You’ll Do
- Contribute to highly usable web applications & APIs with heavy traffic
- Build and enhance products that empower businesses to share exciting news, events, and offers with their customers
- Pair program for 6+ hours a day
- Test drive code to ensure highly reliable, readable, and reusable test suites
- Research and implement technology solutions for reliable, highly distributed, high transaction services
- Work in a dynamic team environment with short turn around times, developing and maintaining a high quality code base
- Contribute to continuous improvement of software development best practices in the areas of tools, languages, and APIs
- Continued growth through developer conferences and technical training
- Work in a tech stack that includes but is not limited to: Ruby, Go, MySQL, Riak, and Kafka
- We're an agile, fast growing company and this job description isn't meant to be an exhaustive list of your qualifications or all the things you'll do
About You
- BS, MS, PhD in Computer Science, related technical discipline, or relevant work experience
- Previous experience with email marketing solutions a plus
- 7+ years in software development
- 4+ years programming experience in Rails
- Knowledge of Linux
- Several years of high scale systems software design and development experience preferred
- Experience building fault tolerant systems in high transaction environments preferred
- 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
- Strong analytical and problem solving skills
- Self motivated, works well without supervision, sees commitments through completion
- 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
- Write clean, efficient, testable code
- Go (Golang) experience
- Distributed real time systems development
- JavaScript, HTML and CSS experience