Software Engineer(Java Generalist)

Software Engineer(Java Generalist)

Description You will invent protocols, data structures, and algorithms to solve novel problems and design and implement low-latency, high-throughput Java systems from first principles. You will tune memory and threading behavior, write parsers and interpreters, create profilers and tools to measure execution, lead complex technical initiatives, mentor senior and staff engineers, and build rigorous tests and harnesses to ensure correctness at all levels. Requirements 10+ years of professional software development experience Deep mastery of Java and the JVM including memory models, threading, garbage collection behavior, and performance profiling Experience with parsers, interpreters, compilers, or language tooling Demonstrated ability to write and optimize high-performance code with minimal dependencies Strong grasp of computer science fundamentals such as data structures, algorithms, and concurrency Significant experience building systems where performance and correctness are non-negotiable Ability to build from scratch using only an IDE and the JDK to deliver a working high-performance server Experience with tools like JMH, async-profiler, JFR, Solo, or YourKit Master's degree in Computer Science or equivalent experience Responsibilities Invent new protocols, data structures, and algorithms Design and write low-latency high-throughput Java systems from scratch Tune memory usage and measure performance precisely Write parsers, interpreters, and core infrastructure Mentor senior and staff engineers and lead complex technical initiatives Create tools and profilers to measure and improve execution Make design decisions affecting architecture and ledger correctness Switch between system-level design and single-instruction-level optimization Build tests and harnesses to ensure system correctness