The client support engineering (CSE) role has grown to bridge the gaps and coordinate monitoring and debugging across the whole application. This role requires great technical skills, but also great interpersonal skills to coordinate across teams.
Every candidate, regardless of whether they have a background in system engineering (SE) or software engineering (SWE), needs to have an understanding of the fundamentals of computing. We seek out candidates that have the ability to solve problems using software.
Each candidate must be able to exhibit critical and creative thinking skills. It is vitally important to be able to systematically deconstruct a problem into smaller pieces, identify possible causes, and perform triage. These skills are universally applicable regardless of whether they have been acquired through debugging code, operating a network, troubleshooting hardware, or in other, entirely unrelated domains.
- Engage in and improve the whole lifecycle of services.
- Support services before they go live through activities such as:
- system validation consulting
- Monitoring software platforms and frameworks
- Client capacity planning
- Client launch reviews
- Maintain services once they are live by measuring and monitoring availability, latency and overall system health.
- Work with Client engineering and Hosting Operations team to Scale systems sustainably through mechanisms like automation, and evolve systems by pushing for changes that improve reliability and velocity.
- Practice sustainable incident response and blameless post mortems.
- BS degree in Computer Science or related technical field involving coding (e.g., physics or mathematics), or equivalent practical experience.
- Experience with algorithms, data structures, complexity analysis and software design and testing: SonarQube, Postman, JMeter, JUnit
- Experience in one or more of the following: Bash, C, C++, Java, Python, Go, Perl or Ruby.
- Experience with container services: Docker, Kubernetes, ECS, Swarm
- Experience with AWS services: S3, Route 53, IAM, Dynamodb, EC2, VPC, VPN Gateway, Cloudformation, RDS, CloudWatch, Cognito, WAF
- Experience with networking fundamentals: TCP/IP, IPTables, NAT, TLS (HTTPS Handshake and client Authentication), DNS, BIND, Firewalls, Security Groups, Network ACLs, LAN/WAN/WIFI
- Experience with multiple operating systems: LInux, Windows, MacOS, Android, iOS
- Experience with multiple databases: Oracle, MySQL, SQL Server
- Experience with modern SCM (source code management): GitHub, Git, DockerHub, NPM, Nexus
- Experience with CI/CD principles: Automation, Pipelines, Jenkins, TravisCI, Make, Gradle, Gulp, Terraform, AWS CodeDeploy, AWS CodePipeline
- Interest in analyzing and troubleshooting large-scale distributed systems using microservice and serverless architectures.
- Systematic problem-solving approach, coupled with strong communication skills and a sense of ownership and drive: Problem solving, critical thinking, first principles thinking, architecture and design requirements, patterns, time management, communication (written and verbal), documentation, sense of humor with knowledge of tools: Slack and other collaboration tools.
- Ability to debug and optimize code and automate routine tasks such as monitoring and alerting: Elasticsearch, Logstash, CloudWatch, Graylog, Matomo, Grafana, Prometheus
- Interested in secure application development: Secure software development principles, vulnerability and risk assessment skills