DISCO provides a cloud-native, artificial intelligence-powered legal solution that simplifies ediscovery, legal document review, and case management for various sectors. They are seeking a Software Engineer III who will contribute significantly to complex software solutions, lead small projects, and build robust data platforms to support analytics and machine learning.
Responsibilities:
- Contributes significantly to the development, and implementation of complicated software solutions, ensuring functionality, scalability, testability and reliability
- Starts helping with System Design & Grooming
- Upholds and enhances code quality through rigorous review processes, optimization techniques, and adherence to best practices
- Addresses complex technical challenges with innovative solutions
- Works effectively within the engineering team and cross-functional teams, collaborating with other engineers, product managers, and stakeholders
- Stays updated with the latest technology trends and advancements, continually enhancing skills and knowledge
- Creates and maintains comprehensive technical documentation, ensuring clarity and accessibility of information
- Builds, and maintains, scalable and robust data platforms to support analytics, machine learning, and business intelligence
- Orchestrates scaleout data pipelines that optimize serverless and containerized compute to balance cost, latency, and duration
- Contributes to algorithmically intensive data engines operating on streaming, large or multi-tenant datasets
- Troubleshoots systems, identify root causes, and rectify bugs
- Starts helping with Design
- Develops and optimizes ETL (Extract, Transform, Load) processes and data integration pipelines
- Ensures efficient data flow across various sources and systems
Requirements:
- 5-7+ years of experience in software development, with a demonstrated track record in SaaS or similar environments
- 3+ 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 in playing key roles (for example: development, testing, design, product interfacing, etc) in significant software projects, showing an ability to work effectively both independently and as part of a team
- Knowledge of ElasticSearch, NoSql Stores, Kafka, Columnar Databases, DataFlow or Pipeline Systems
- Knowledge of Design, implementation, and operation of data-intensive distributed systems
- Understanding of microservices design patterns and principles, with experience in developing microservices using containerized tools like Docker
- Knowledge of system architecture, design patterns, and best practices in software development
- Skilled in designing and operating software in a Cloud Provider, such as AWS, Azure, or GCP
- Skilled in cloud-based data storage, such as: Relational Databases, NoSQL Stores, data caches, etc
- Skilled in analytical abilities and problem-solving, capable of addressing complex technical challenges
- Ability to adapt to new technologies and methodologies, and a mindset geared towards innovation and continuous improvement
- Effective communication and teamwork skills, essential for working in a dynamic and collaborative environment with various stakeholders and team members
- Skilled in programming languages and frameworks commonly used in SaaS development. In particular, Java/Kotlin, Python, C#
- Skilled in designing and developing APIs (including gRPC, GraphQL, and REST), basic understanding of HTTP/HTTPS protocols, and proficiency in API documentation
- 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
- Experience with developing and maintaining large-scale, high-availability software systems
- Experience with gRPC and Protocol Buffers for efficient, language-agnostic service-to-service communication
- Experience with designing and developing from a Security Perspective
- Experience selecting and extending 3rd party components (commercial or open source) that provide operational leverage
- Experience with Continuous Integration and Continuous Deployment (CI/CD) with an emphasis on a well-maintained testing pyramid
- Experience with Agile development methodologies and practices
- Experience using feature or release toggles as a code branching strategy
- Experience with Contract-first designing and negotiating with other systems
- Experience contributing to technical documentation