Salesforce
Location
Burlington, MA | United States
Job description
Senior Software Engineer Distributed Systems (Service Mesh and Load Balancing)
Location: San Francisco, CA Salesforce hosts web services and applications written by thousands of internal developers and tens of thousands of customers to provide the largest business automation cloud on the planet. The underlying infrastructure that enables this innovation and value is evolving to fully adopt lights-out operations, single-click deploy to tens of thousands of nodes, and services that self-heal and self-optimize. Join a team building the Service Mesh and Ingress Gateway load balancing and proxy platform. The Microservices Platform Service Mesh team is building a highly scalable and distributed load balancing and gateway service to front all customer traffic coming into Salesforce. We provide simple declarative interfaces for L4/L7 load balancing, TLS termination, end-to-end encryption, along with support for richer traffic policies such as blue/green deployments, access control, etc. We are looking for people who can drive the design and implementation of the next generation Ingress Gateway control plane and data plane. We intend to transform our current software stack to adopt more cloud native primitives to build a more reliable, scalable, and feature-rich service mesh. Our software stack is based on innovative open source software like Envoy, Nginx for dataplane and Istio, Consul, etc. for control plane. The opportunities to enhance the capabilities of the OSS software and give back to the community are immense. The team had already made active upstream contributions to the Envoy project. We intend to transform the way our north-south traffic is secured, load balanced and proxied before entering our core service mesh. We are looking to add experienced distributed systems engineers who are passionate, eager for new challenges, can step up and own big chunks of that vision. Some attributes of successful candidates:Experience and passion for service ownership, building reliable/self-healing services.
Experience working in a complex team environment. Able to deliver under pressure and dependency constraints.
Experience building large scale distributed systems, especially in cloud environments
Familiar with public cloud services with AWS and Google Cloud Platform
Good knowledge with network technologies, such as TCP/IP, DNS, TLS termination, proxies, etc.
Experience at Scrum or other agile development methodologies, with attention to code quality, delivering secure code
You have experience balancing live-site management, feature delivery, and retirement of technical debt.
Familiarity with crash-only and recovery-oriented software design.
Excited by building reliable, self-healing services on unreliable hardware.
Experience designing, developing, debugging, and operating resilient distributed systems that run across thousands of compute nodes in multiple datacenters.
Capable of driving and delivering thin slices of end-to-end functionality on a regular cadence with data-driven feedback loops.
Requirements:
2 - 4+ years of development experience
Experience with Golang, Java and/or C++ in a Linux/UNIX data center environment
Experience owning and operating multiple instances of a critically important service
Experience with Agile development methodology and Test-Driven Development
Experience using telemetry and metrics to drive operational excellence
Job tags
Salary