The Staff Software Engineer (Platform) leads large-scale projects and is a key contributor to their group's success. They are involved in long-term strategic planning, mentor senior engineers, and are influential in technical decision-making across multiple teams or a department. They focus on implementation and system design, as well as maintaining and evolving DISCO’s distributed data platform.
Requirements
- 10+ years of relevant experience in backend engineering, with a substantial focus on big data platforms.
- 7+ years of professional experience with each of the following: Service Oriented Architecture, Docker-based services, micro-services, API and Data Model Design or Implementation.
- Experience with Large-Scale Systems: Involvement in developing, monitoring and maintaining large-scale, high-availability software systems.
- Experience designing and developing from a Security Perspective.
- Demonstrated experience in leading or playing key roles in significant software projects, showing an ability to work effectively both independently and as part of a team.
- Demonstrated expertise in designing, implementing, and maintaining (through operational observability) high-availability, high-performance, distributed data processing systems.
- Experience with gRPC and Protocol Buffers for efficient, language-agnostic service-to-service communication.
- Proven ability to deliver well-crafted, tested, and maintainable code solutions to complex technical challenges.
- Experience with a variety of software stacks including but not limited to, JVM-focused tech stacks, particularly server-side Kotlin and gRPC.
- Deep expertise with both relational and non-relational data stores, Elasticsearch, Cassandra, MySQL, and PostgreSQL.
- Experience delivering data platform software solutions (including designing, implementing, and operating) in the cloud.
- Knowledge of microservices architecture principles, including decentralized data management, service discovery, and bounded contexts.
- Skilled in microservices technology stack, ability to optimize performance, and ensure security and scalability across the system.
- Skilled in containerization technologies such as Docker and orchestration tools like Kubernetes.
- Experience in creating, deploying, and managing containers.
- Skilled in implementing RESTful APIs for outward-facing services and using gRPC for efficient internal service-to-service communication.
- Ability to build backend systems that can support future UI/UX initiatives and performance requirements.
- Knowledge of system architecture, design patterns, and best practices in software development.
- Skilled at designing and operating software in a Cloud Provider, such as AWS, Azure, or GCP.
- Knowledge of both relational and non-relational data stores, Elasticsearch, Cassandra, MySQL, PostgreSQL.
- Skilled at analytical abilities and problem-solving, capable of addressing complex technical challenges.
- Skilled in programming languages and frameworks commonly used in SaaS development. In particular, Java/Kotlin, Python, C#, as well as a deep understanding of software engineering principles.
- Familiarity with server management, network configurations, and an understanding of cloud services (like AWS, Azure, or Google Cloud).
- Knowledge of various stages of the SDLC, including design, development, testing, and deployment.
- Knowledge of async message or event based dataflow architectures (Kafka, etc).
- Knowledge of design, implementation, and operation of data-intensive, distributed systems.
Benefits
- Open, inclusive, and fun environment
- Benefits, including medical and dental insurance
- Competitive salary plus discretionary bonus
- Competitive salary plus RSUs
- Opportunity to be a part of a startup that is revolutionizing the legal industry
- Growth opportunities throughout the company