This is a remote position.
We are seeking a Principal Software Engineer - Java to join our team.
Requirements
- 10 years of software development experience.
- Hotspot JVM or GraalVM experience.
- Experience with compilers parsers interpreters and garbage collectors.
- Experience with performance static code and data-flow analysis.
- Excellent debugging critical thinking and interpersonal skills.
- Expertise in the plain vanilla Java programming language VM and its ecosystem of libraries and tools.
- Mastery of the building blocks of JVM with comfort using Java without large frameworks.
- Familiarity with high-performance architectural systems and design patterns.
- Experience in a tech or team lead role with the ability to guide engineers up to the Staff level.
- Strong grasp of Computer Science fundamentals including concurrency performance optimization and reusability.
- Strong engineering principles and processes aimed at developing simple modular testable and high-quality code.
- Familiarity with test-driven software development processes and continuous integration tools and systems.
- Master s degree in Computer Science or a similar field or equivalent work experience.
- Ability to work at the big picture level and the deep line of code level as well as switching between those.
- Experience working on creating new things besides taking off-the-shelf components and bolting them together.
- Being comfortable given an IDE and Java with no 3rd party libraries to write a high-performance HTTP2 server in a month.
- Experience performance-turning applications ideally in a world where nanoseconds matter.
- Experience with tools like JProfiler YourKit async profiler JMH etc.
Other skills that are great to bring with you but that we can help you develop:
- Experience with distributed open-source application development.
- Knowledge of blockchain/DLT technology ecosystem.
- Familiarity with security principles and cryptographic tools and libraries.
- Experience writing and debugging smart contracts for an EVM-based ledger.
- Experience with web3 tools written in JavaScript or TypeScript.
- Knowledge in Data streams event-driven architecture.
- Understanding of performance primitives like hashes and public/private key pair signing in terms of how they are used as the building blocks of trust systems.
- Experience with High Frequency Trading systems in Java.
Benefits
- Work Location: Remote
- 5 days working
10+ years of software development experience. Hotspot JVM or GraalVM experience. Experience with compilers, parsers, interpreters, and garbage collectors. Experience with performance, static code, and data-flow analysis. Excellent debugging, critical thinking, and interpersonal skills. Expertise in the plain vanilla Java programming language, VM, and its ecosystem of libraries and tools. Mastery of the building blocks of JVM, with comfort using Java without large frameworks. Familiarity with high-performance architectural systems and design patterns. Experience in a tech or team lead role with the ability to guide engineers up to the Staff level. Strong grasp of Computer Science fundamentals, including concurrency, performance optimization, and reusability. Strong engineering principles and processes aimed at developing simple, modular, testable, and high-quality code. Familiarity with test-driven software development processes and continuous integration tools and systems. Master s degree in Computer Science or a similar field, or equivalent work experience. Ability to work at the big picture level and the deep line of code level, as well as switching between those. Experience working on creating new things, besides taking off-the-shelf components and bolting them together. Being comfortable given an IDE and Java with no 3rd party libraries to write a high-performance HTTP2 server in a month. Experience performance-turning applications, ideally in a world where nanoseconds matter. Experience with tools like JProfiler, YourKit, async profiler, JMH, etc. Other skills that are great to bring with you but that we can help you develop: Experience with distributed open-source application development. Knowledge of blockchain/DLT technology ecosystem. Familiarity with security principles and cryptographic tools and libraries. Experience writing and debugging smart contracts for an EVM-based ledger. Experience with web3 tools written in JavaScript or TypeScript. Knowledge in Data streams, event-driven architecture. Understanding of performance primitives like hashes and public/private key pair signing in terms of how they are used as the building blocks of trust systems. Experience with High Frequency Trading systems in Java.