Senior Software Engineer (Java)
Software Engineer - Product team
The ideal candidate will have experience with distributed systems, software development and application architecture with a strong record in Java development. In this role you will help drive decisions about sample dApps and database design. We're looking for someone that has faced these challenges before and can contribute insight and experience to the team.
- Develop various aspects of our core Platform.
- You will be working on Hedera mirror net, and other integration features (consensus service, crypto, file and smart contract services)
- Develop sample applications to demonstrate value and strength of the platform. Sample applications will include full-stack development.
- Be a strong and proficient hands-on programmer, spending 80% of your time coding.
- 4+ years of software development experience in a Java environment.
- Strong grasp of Computer Science fundamentals including databases, performance optimization and reusability.
- Familiarity with and interest in mathematical concepts, principles and techniques.
- Systems programming experience including providing services to other software (e.G. Operating systems, computational science applications, industrial automation and software as a service applications).
- Proficiency in Java with knowledge of ecosystem of libraries and tools
- Deep knowledge of and experience with the Java VM, covering its strengths and weaknesses.
- Geo-distributed database architecture with SQL experience
- Familiarity with high-performance architectural systems and design patterns
- Experience in developing libraries and platforms for use and deployment by application developers
- Strong engineering principles and processes aimed at developing simple, modular and high-quality code
- Familiarity with test-driven software development processes and continuous integration tools and systems
- Bachelor's degree in Computer Science or similar field, or equivalent work experience