We are seeking a creative, self-sufficient, and experienced Java Software Engineer with5+years of experience in developing production-class code. The ideal candidate enjoys a team environment and has prior experience with agile development methodologies. You must be eager to learn new technologies.
What to Expect Working at Curity
As a pure-play software vendor with a flagship product built in Java, this role is critical to the company's success. We maintain a high bar for excellence, which ensures continuous professional growth. At Curity, good ideas are the boss, meaning your input will lead the way, regardless of your tenure.
While deadlines are part of the process, quality is paramount—especially when building security software that must be robust, tested, and safe. We operate on a "train" model, with a release every six weeks. Features that are complete are merged to the main development branch and ship with the next train. Incomplete features remain on an integration branch until they are ready, ensuring consistent delivery without compromising quality.
Development and Quality
We prioritize automation, viewing manual tests as a sign of bugs. Our extensive test suite includes tens of thousands of automated tests run with every commit to the dev branch, plus tens of thousands more nightly and weekly, guaranteeing stability. We primarily use Behavior Driven Testing (BDD), with most tests written in Groovy using the Spock framework. (No Groovy experience? You'll be proficient within two weeks.) The rigor of our testing and scrutiny is more akin to embedded software than typical enterprise or web applications. We provide 24/7 customer support, which includes a rotation for carrying a dedicated on-call phone.
Collaboration and Process
We manage source-level changes with Git, collaborating on work where every substantial change (more than four lines) is reviewed via a Pull Request. Project tasks and changes are specified in tickets. Design often begins with discussion, followed by documentation. For more complex features, we draft architectural descriptions and often "spike out" challenging components.
We keep meetings to a minimum, primarily holding a morning stand-up. This quick sync focuses on what was achieved the previous day, today's plans, and any blockers. These meetings are for team coordination, not managerial reporting, and are essential for keeping pace with Curity's fast-moving environment.
If Curity sounds like an exciting place to work, please apply.
