Required Skills
- A minimum of six years working on mission critical large scale systems
- Experience with complex distributed systems
- Deep experience in troubleshooting networking and operating systems issues, root cause analysis, with a deep ability to identify new metrics for monitoring
- Deep experience with cloud scale infrastructure. More specifically, knowledge of one or more of the following:
- Kubernetes
- Prometheus
- ELK
- Strong knowledge of scripting with one or more of the following:
- Shell programming
- Scripting in Ruby
- Python programming
- Working knowledge of Apache Tomcat, Nginx, or Netty
- Strong problem analysis skills
- Exceptional written and verbal communication skills
- BS in computer science or equivalent experience
Highly Desirable Skills
- Knowledge of shared nothing database systems (Cassandra, HBase, DynamoDB, CosmosDB)
- Knowledge of log structured storage systems
- Knowledge of performance tuning and analysis in large scale distributed systems
- Programming skills in one of the following languages:
Data Systems Software Development
- Own a feature area’s data model across Online Transaction Processing/Online Analytical Processing, JSON, spatial, or graph.
- Define performance budgets and enforce query patterns that meet latency targets at scale.
- Partner with product management to design experiments that drive adoption, conversion, and retention; analyze results to inform roadmap.
- Architects existing and complex new services.
Software Development and Coding – Design, Testing, and Optimization
- Designs software solutions and analyzes and identifies requirements to achieve business and operational goals, sharing results with manager upon completion.
- Adheres to and improves execution of all phases of the software development lifecycle; provides guidance and coaching to engineers to drive improvements.
- Utilizes advanced knowledge to develop and guide new software features and enhancements, leading design specifications, ensuring accessibility, and developing documents to clarify software design and code.
- Leads code reviews in multiple areas to help drive improvements.
- Conducts debugging and troubleshooting to identify and fix complex software issues.
- Develops fixes for identified issues.
- Implements comprehensive software testing (e.g., functional and non-functional testing), quality assurance processes, software error logging, monitoring, and observability for effective debugging, sharing work with manager and/or lead upon completion.
- Conducts performance profiling and optimization of coding, building scalable solutions, and anticipating and resolving potential outcomes.
- Troubleshoots and resolves complex issues related to application programming interface (API) functionality and integration.
- Implements complex API versioning, lifecycle, and interoperability strategies.
Software Architecture – Software System Structural Design
- Implements and contributes to developing software, systems, and services, ensuring review by manager and/or senior technical leaders upon completion; recommends project or design scope.
- Provides technical guidance and coaching to less experienced developers in existing software architecture.
- Contributes to periodic reviews and ensures adherence to architectural standards.
- Collaborates with stakeholders and networks externally to ensure work aligns with software architecture.
- Implements complex performance optimization and scalability strategies in software design.
- Occasionally conducts technology research and evaluation for potential architectural changes that may have an impact on results for the team.
Issue/Defect Collaboration – Software Products Support
- Collaborates with stakeholders to understand customer issues and align solutions.
- May provide advanced technical guidance and support to customers regarding customer‑reported issues.
- Advocates for customers’ interests and suggests product enhancements based on feedback.
- Provides input to ensure customer satisfaction through timely resolution of issues and effective communication.
- Identifies and implements customer issue and/or defect handling and training processes.
- Investigates and troubleshoots complex and broad‑reaching/scoped maintenance issues to ensure customer agreement on short‑and long‑term solutions (e.g., future enhancements).
Practices and Standards Compliance – Security and Compliance
- Collaborates with the team and externally to follow development practices and coding standards, providing coaching to less experienced team members.
- Participates in peer review processes, provides technical leadership, and ensures code quality and adherence to broad acceptance criteria during development, independently.
- Demonstrates and shares advanced knowledge of industry best practices and applies them to software development processes.
- Implements complex secure coding practices to prevent security vulnerabilities.
Development Operations – System Maintenance
- Performs periodic maintenance and testing operations for systems that require upgrading or patching (e.g., for critical vulnerabilities), sharing results with manager upon completion.
- Drives improvements, ensures automation, testing, and debugging of systems to ensure service/product availability, health, support, and reliability.
Core Responsibilities
Planning & Execution
- Manages and coordinates moderately complex tasks, monitoring timelines and deliverables to ensure timely completion and adherence to requirements for a moderately sized project or initiative.
- Efficiently delegates, monitors, and prioritizes work across multiple projects, providing technical oversight and adjusting plans to address shifts in resources or timelines.
Collaboration & Partnership
- Collaborates across the organization to align on expectations and achieve shared objectives.
- Leverages understanding of business leaders, stakeholders, and/or customers to ensure proposed solutions meet their needs.
- Supports inclusivity by actively seeking and listening to diverse perspectives, ensuring others feel heard and respected.
Problem Solving
- Identifies and addresses moderately complex issues by analyzing a wide range of data and/or information to identify solutions in accordance with standard practices.
- Proactively escalates unresolved or critical issues with a thorough assessment and suggests potential solutions.
- Reviews, contributes to, and documents problem solving strategies.
Continuous Learning
- Pursues learning opportunities to expand knowledge and skills and/or tools in new areas and stays abreast of the latest industry trends and best practices.
- Proactively seeks and leverages ongoing feedback and training to improve skills.
- Coaches and mentors junior team members, fostering continuous learning and knowledge sharing within and across teams.
Continuous Improvement
- Develops ideas, recommends updates, and/or collaborates on the implementation of process improvements to increase the efficiency and effectiveness of processes, protocols, and workflows across teams, and evaluates the impact on key stakeholders.
- Solicits feedback from others on ideas for alternative approaches and methods for continued improvement.
Performance and Development
- Contributes to the talent development pipeline by participating in candidate interviews, assessing candidates, and providing hiring recommendations.