Lead Platform Software Architect
- DISCO is a very successful company more than doubling revenue every year for the last 5 years. We were the first movers to a cloud-based platform that has caused 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, represents 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 we only hire very good humans that we would entrust with our children. Don’t worry we won’t actually drop our kids off at your place, but we need to know that they’d be in good hands if we did. 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 talent level at DISCO (only top 1%), the cutting-edge cloud-based technology stack, and 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 from 85 professional to 500+. 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.
The Lead Platform Software Architect is Important Because:
- Might include designing and operating platform-wide services such as:
- Event Bus and Event Sourcing capabilities that provide business and engineering leverage and efficiencies.
- Highly scalable and crazy performant search systems.
- Transactional or eventually consistent stores that provide well encapsulated domain object semantics.
- Orchestrated scaleout data pipelines that can leverage serverless and containerized compute that balances cost, latency, and duration.
- Algorithmically intensive data engines that operate on streaming, large, or multi-tenant datasets.
- Must 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.
- Must have experience with some amount of ‘Big Data’ technologies such as: ElasticSearch, NoSql Stores, Kafka, Columnar Databases, DataFlow or Pipeline Systems, Graph DataStores.
- Should have experience with design, implementation, and operation of data intensive, distributed systems. (The book, Designing Data Intensive Applications, is a good reference)
- Should embrace the discipline of Site Reliability Engineering.
- Should have experience using Continuous Integration and Continuous Deployment (CI/CD) with an emphasis on a well-maintained testing pyramid.
- Should have API and Data Model Design or Implementation experience, including how to scale out, make highly available, or map to storage systems.
- Should have experience with multiple software stacks, have opinions and preferences, and not be married to a specific stack.
- Should have experience designing and operating software in a Cloud Provider such as AWS, Azure, or GCP.
- Might have experience using Feature or Release Toggles as a code branching strategy.
- Might have experience designing, modifying, and operating multi-tenant systems.
- Might know about algorithm development for intensive pipeline processing systems.
- Might understand how to design and develop from a Security Perspective.
- Might know how to identify, select, and extend 3rd Party Components (Commercial or Open Source) that provide operational leverage but does not constrain our product and engineering creativity.
- Must be able to help lesser experienced team members decompose problems into subparts (i.e. divide and conquer) and understand how the parts synthesize into a solution.
- Must have experience using technical or business context to guide Engineering by turning ambiguity into clarity.
- Must be able to maintain a well-groomed backlog.
- Might have experience coordinating with Product Management to ensure dependencies can be satisfied across teams and functionality.
Cloud Provider - AWS: EC2, Lambda, Aurora, Redshift, DynamoDB, ECS, SQS, SNS, Kinesis, S3, CloudFront, CloudFormation, SageMaker, KMS, CodePipeline, etc.
DSL-based Search: multiple large scale Elasticsearch Clusters searched using our Disco Query Language (DQL).
Event Bus: Kafka and Schema Registry
3rd Party Vendors: Redis, Auth0 for Cloud Identity Federation (SSO, SAML, etc).
AI: MinHash, FastText, Word2Vec, Convolution Neural Nets, Algorithmia (Lambda with GPUs) for training, PyTorch, Recurrent Neural Networks, Latent Dirichlet Allocation for Topic Modeling, etc.
Deployment: Terraform, Docker (via ECS), Consul for: App Config, Service Discovery, Shared Secrets.
Visibility: ELK Stack for logging, Datadog, New Relic, Sentry.io
Transport Mechanisms: Protobuf, Avro, HTTP Rest/JSON
CI/CD: Jenkins, CodePipeline, GitHub, Artifactory