Java Senior Software Engineer
New
M
MariaDBDatabase software
Remote – Georgia, Croatia, Estonia, Finland, Italy, Poland, Romania, Serbia, Spain, Armenia, Cyprus.Full-TimeSenior
Salary74,200 - 100,400 EUR per year
Apply NowOpens the employer's application page
Job Details
- Experience
- 4+ years of experience in Java programming.
- Required Skills
- SQLJavaDistributed Systems
Requirements
- Bring 4+ years of experience in Java programming.
- Have deep knowledge of Java concurrency and the Java Memory Model, or concurrency models in other programming systems.
- Have excellent Java SE knowledge, including IO and JVM internals.
- Have experience with SQL databases and troubleshooting Java applications and/or databases.
- Bring deep SQL knowledge, including MariaDB, MySQL, PostgreSQL, Apache Ignite, or GridGain.
- Understand MVCC and P2PL, and the difference between Snapshot Isolation and REPEATABLE READ.
- Have a strong interest in distributed systems, including Raft, MVCC, and ACID.
- Bring leadership, problem-solving, and debugging skills.
- Have experience working effectively in fast-paced, collaborative environments.
- Experience with NoSQL or distributed databases is a plus.
- Experience building high-load distributed systems and algorithms is a plus.
- Experience with Docker, Kubernetes, or public cloud platforms such as AWS, GCE, or Azure is a plus.
- Open-source contributions, automation expertise, or performance/load testing experience are a plus.
Responsibilities
- Ensure the scalability, performance, and reliability of the database system.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Troubleshoot and resolve complex issues in distributed environments.
- Profile, debug, and fine-tune performance using JFR, JMC, async-profiler, VisualVM, and other tools.
- Develop and optimize data structures for accessing data in high data-intensive scenarios.
- Implement data storage, network communication between nodes, failure handling, and recovery.
- Implement and integrate algorithms for high availability across the cluster.
- Investigate flaws in data consistency algorithms, including through debugging multi-node clusters and low-level data.
- Lead the development of the distributed database solution and manage project software engineers.
View Full Description & ApplyYou'll be redirected to the employer's site