Senior Software Engineer - Java (Canada - Remote)
Senior Software Engineer — Java
Location: Canada (this is a remote role but candidates must be physically located in Canada)
We live in a world that increasingly expects instant gratification. To remain competitive, enterprises must process and analyze extraordinary amounts of information in milliseconds.
GridGain's Unified Real-Time Data platform enables a simplified and optimized data architecture for enterprises that require extreme speed, massive scale, and high availability from their data ecosystem. It seamlessly combines streaming data in-motion and historical data at-rest with compute functionality to help companies handle complex analytical, streaming, and transactional data workloads at ultra-low latencies.
GridGain is trusted by companies like Citi, Barclays, American Airlines, AutoZone, and UPS to manage mission-critical data operations across their businesses.
GridGain is growing! Join the team and play a critical role in a fast-paced Silicon Valley startup that's changing the definition of "real time," and the world's expectations for high-speed data processing, computation, and analytics.
ABOUT THE ROLE
GridGain is looking for an experienced in distributed systems development Senior Software Engineer (Java) to join the one of our Core Engineering teams, like ‘Persistent Storage’ (Storage Engine) team, 'Data Consistency' or 'SQL Grid' in R&D department.
Required Job Duties:
- Develop and optimize the data structures for providing the best experience accessing data in high data-intensitive scenarios
- Implement the best way to store data to disk and sending data via a network to other nodes (including failure handling and recovering if the failure has happened)
- Implement and integrate algorithms for high availability of the whole cluster
- Investigate flaws in data consistency algorithms, which may require thorough debugging either on multi-node cluster and in low-level byte represented data
Essential Skills & Requirements:
We welcome experienced software engineers who wish to develop and grow as professionals. We expect at least the following from a successful candidate:
- Experience with concurrent programming
- 4+ years experience in Java programming
- Experience with SQL databases
- English — upper-intermediate or higher
The following will be a strong plus:
- Experience with NoSQL and/or distributed databases
- Excellent Java SE knowledge including IO, JVM internals, etc.
- Experience with building distributed systems and algorithms
- Deep knowledge of concurrency in Java and Java Memory Model and/or of concurrency model in other programming systems
- Experience in troubleshooting Java applications and/or databases
- Experience with Docker, Kubernetes and/or public Cloud (AWS, GCE, Azure, etc.)
We are an Equal Opportunity Employer. We do not discriminate on the basis of race, religion, sex, age, national origin or disability.