Senior Software Engineer
closed
Dremio
Summary
Join Dremio and build core platform capabilities for Dremio Cloud and Dremio Software! You will develop Kubernetes-native capabilities, integrate with cloud providers, and build services for usage, billing, licensing, and entitlement systems. This role involves integrating cloud and payment platforms, solving multi-cloud and multi-regional architectural challenges, and designing solutions for complex issues. You will collaborate with seasoned engineers, taking ownership of complex challenges to deliver high-quality distributed systems at scale. The position requires expertise in distributed systems, cloud platforms, and software development. Dremio offers a comprehensive benefits package including medical, dental, vision, 401k, paid time off, and remote work options.
Requirements
- B.S./M.S/Equivalent in Computer Science or a related technical field or equivalent experience
- 6+ years of experience developing production-level software
- Fluency in Java/C++
- Strong experience with Kubernetes, especially deploying on Kubernetes
- Strong foundation in data structures, algorithms, multi-threaded and asynchronous programming models, and their use in developing distributed and scalable systems
- Experience building high performance software and good understanding of how modern CPU pipelined architectures work and their applications towards software development
- Experience in developing complex and scalable distributed systems and delivering, deploying, and managing microservices successfully
- Passion for learning and solving complex and unexplored problems effectively
- Hands-on experience with AWS, Azure, or Google Cloud Platform
Responsibilities
- Own design, implementation, testing, and support of next-generation features related to scalability, reliability, robustness, performance, usability and security of the product
- Understand and reason about concurrency and parallelization to deliver scalability and performance in a multithreaded and distributed environment
- Work on distributed systems for data processing with efficient protocols and communication, locking and consensus, schedulers, resource management, autoscaling, and self-healing
- Use modular design patterns to deliver an architecture thatβs elegant, simple, extensible and maintainable
- Solve complex technical problems and customer issues
- Design and deliver architectures that run optimally on public clouds like GCP, AWS, and Azure
Preferred Qualifications
- Strong knowledge of database fundamentals, SQL, and schema design is a big plus
- Hands on experience of multi-threaded and asynchronous programming models
- Hands on experience in distributed systems, concurrency control, networking, storage systems, and caching techniques
Benefits
- Medical, dental and vision insurance
- 401(k) Plan
- Short term / long term disability and life insurance
- Pre-IPO stock options
- Flexible PTO
- 16 hours of volunteer time off
- 12 company paid holidays
- Remote work options
- Paid parental leave
- Employee Assistance Program (EAP)