
Senior Software Engineer

Dremio
Summary
Join Dremio, a leading provider of unified lakehouse platforms for self-service analytics and AI, as a Software Engineer to contribute to the development of core platform capabilities for both Dremio Cloud and Dremio Software. You will be responsible for designing, implementing, testing, and supporting next-generation features related to scalability, reliability, robustness, performance, usability, and security of the product. This role involves working on deployment and provisioning systems, integrating with cloud providers, and building services that power usage, billing, licensing, and entitlement systems. You will also be involved in integrating a variety of cloud and payment platforms/providers, solving multi-cloud and multi-regional architectural challenges, and designing/implementing solutions for complex issues. This position offers the opportunity to grow as a leader through collaboration with seasoned engineers and taking ownership of complex challenges to deliver high-quality distributed systems at a massive scale.
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 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)
Share this job:
Similar Remote Jobs

