Principal Software Architect, Shared Services

Remote (USA) Client - CS Disco Full-time
DISCO provides a cloud-native, artificial intelligence-powered legal solution that simplifies e-discovery, legal document review, and case management for enterprises, law firms, legal services providers, and governments. Our scalable, integrated solution enables legal departments to easily collect, process, and review enterprise data that is relevant or potentially relevant to legal matters.

In 2020, 171 law firms in the 2020 AmLaw 200 used DISCO in the course of legal work on behalf of their clients. More than 800 enterprises, law firms, legal services providers, and government organizations are DISCO customers.

Your Impact

Great products need great architecture. As a Principal Platform Software Architect on our Shared Services platform team, you’ll define, describe, and design the architecture for systems that are used by other engineering teams throughout the DISCO Product Delivery group. You and the team will build tools, libraries, and distributed systems that enable DISCO developers to be efficient and consistent. 

We hire people that approach design from a systems perspective and aspire to craft their systems well. A great candidate can deliver real customer value while pursuing architecture quality in availability, scalability, interoperability, modifiability, performance, security, and testability.

What You'll Do

• Drive technology and solutions that provide engineering leverage.
• Work with engineering teams throughout the DISCO Product group to identify developer friction that slows engineering velocity and collaboratively design solutions that realize platform-wide efficiencies.
• Work with engineers to diagnose and gain insight into platform scale and performance issues.

As part of this work, you’ll define, describe, and design platform-wide services such as:

• Highly scalable and crazy performant systems that will be used by all of engineering.
• Event Bus and Event Sourcing capabilities that provide business and engineering leverage and efficiencies.
• Transactional or eventually consistent stores that provide well-encapsulated domain object semantics.
• Domain and data modeling that provides efficiency, scalability, and flexibility.
• Algorithmically intensive data engines that operate on streaming, large, or multi-tenant datasets.
• Analytics engines that process billions of events to produce metrics used by our products.

Who You Are

• 15+ years of relevant experience. 
• Able to design and communicate external and internal architectural perspectives of well-encapsulated systems (e.g. Service Oriented • Architecture, Docker-based Services, micro-services) using patterns and tools such as Architecture/Design Patterns and Sequence Diagrams.
• Experienced with high volume distributed technical architectures with a high cost of failure, i.e. focus on reliability and availability.
• Experienced with some amount of ‘Big Data’ technologies such as ElasticSearch, NoSQL Stores, Kafka, Columnar Databases, DataFlow or Pipeline Systems, and Graph DataStores.
• Experienced with leveraging common infrastructure services like Enterprise Message Bus platforms, Configuration services, Toggle management systems, and Observability systems like Logging and Distributing Tracing Systems.
• Experienced with Domain Driven Design concepts and practices such as bounded contexts, event storming, specification by example, etc.
• Experienced with design, implementation, and operation of data-intensive, distributed systems. (The book, Designing Data-Intensive Applications, is a good reference)
• Disciplined in Site Reliability Engineering.
• Experienced using Continuous Integration and Continuous Deployment (CI/CD) with an emphasis on automation tools like Terraform, Jenkins, and CodePipeline.
• Experienced in API / Data Model Design and Implementation, including how to scale out, make highly available, or map to storage systems.
• Experienced with multiple software stacks, have opinions and preferences, but not “married to” a specific stack.
• Experienced with designing and operating software in a Cloud Provider such as AWS, Azure, or GCP.

Even Better If You Have...

• Experience designing, modifying, and operating multi-tenant systems.
• Knowledge about algorithm development for intensive pipeline processing systems.
• The ability to rationalize architecture activities against the bottom line
• An understanding of how to design and develop from a security perspective.
• An understanding of how to identify, select and extend 3rd party components (Commercial or Open Source) that provide operational leverage but do not constrain product and engineering creativity.
• Experience using the feature or release toggles as a code branching strategy.

Shared Service Platform’s Technology Stack
This is just to whet your appetite for technologies that you’ll get to use on our team. Don’t worry if you don’t have experience in all of these technologies.

Cloud Provider - AWS: EC2, Lambda, Aurora, ECS, SQS, SNS, S3, CloudFormation, CodePipeline, EKS, Elasticache, etc.
Event Bus: Kafka and Confluent Schema Registry
Programming Languages: Python, Kotlin, .NET
Transport Mechanisms: Protobuf, Avro, gRPC, Kafka, HTTP REST/JSON
Observability: OpenTelemetry, Datadog, ELK, CloudWatch
Dev Enablement: Terraform, Docker (via ECS), Consul for App Config, Jenkins, CodePipeline, GitHub, Artifactory, Service Discovery, • Shared Secrets, Feature Toggles, etc.

Why Join DISCO’s Product Delivery Team
We intend to build a multi-billion dollar business and think you should come along for the ride because: 

• We were the first movers to a cloud-based platform that has caused a mass disruption within our market.
• Our CEO is a true market visionary. He graduated with a computer science degree at the age of 15 and followed with a JD from Harvard Law School at the age of 19. His unparalleled insights into the fundamental issues in legal and the potential of technology and artificial intelligence to change our market at its core provide the guiding light for DISCO’s long-term strategy.
• We believe that product delivery professionals including product managers, product designers, and engineers differ from one another by at least a factor of 10. At DISCO, we only hire the top 1%, pay them well, and with equity, everyone has effectively been getting a raise each and every day. Given our product-first mindset, product professionals are very much stars of the show. Our logo, the circle, and square represent the best lawyers and the best product professionals in the world.
• We measure product delivery velocity by dollars of revenue per line of code, vs simply lines of code. This drives a very thoughtful and deliberate product design and development process that ensures we’re going to make money when we ship products. We hire many more product managers and designers per engineer than most companies to ensure that our engineers have a disambiguated product intent when they are building.
• As a rule, we don’t commit to external product delivery dates as we believe that unnecessarily constrains our creativity from both a product and technology point of view.
• At DISCO respect isn’t earned at DISCO it is assumed. Good humans inherently treat everyone respectfully. This is a very important concept at DISCO.
• Given the high caliber of talent, the cutting-edge cloud-based technology stack, and the thoughtful and novel product and design approach, you’ll find yourself learning at a rate you’ve not likely experienced in your career. Given that we only hire professionals that are passionate about their craft, you’ll truly enjoy building a great software product and get in the best “career shape” of your life.
• Over the next 4 years, we’ll be growing our product delivery organization. There will be incredible growth opportunities along the way.
• We use the “2 Pizza Team” organization design where small autonomous teams own a piece of a product or platform and ship software at rates comparable to a very lean and scrappy startup. We achieve consistency across these teams in the areas of design, product-wide use cases, and technical concerns through a strategically focused set of overlay functions.
• Finally, while we’re an incredibly fast-growing organization, as a rule, we do not work crazy long hours. We believe in continuous product delivery, continuous product planning and design, continuous regular sleep schedules, continuous regular vacation, and continuous fun if you’re passionate about your craft.