Software Development Engineer - Java
Forcepoint is transforming cybersecurity by focusing on what matters most: understanding people’s intent as they interact with critical data and intellectual property wherever it resides. Our uncompromising systems enable companies to empower employees with unobstructed access to confidential data while protecting intellectual property and simplifying compliance. Based in Austin, Texas, Forcepoint supports more than 20,000 organizations worldwide. For more about Forcepoint, visit www.Forcepoint.com and follow us on Twitter at @ForcepointSec.
About the company
Forcepoint is transforming cybersecurity by focusing on what matters most: understanding people’s intent as they interact with critical data and intellectual property wherever it resides. Our uncompromising systems enable companies to empower employees with unobstructed access to confidential data while protecting intellectual property and simplifying compliance. Based in Austin, Texas, Forcepoint supports more than 20,000 organizations worldwide. For more about Forcepoint, visit www.Forcepoint.com and follow us on Twitter at @ForcepointSec.
What you will be doing
While Forcepoint has many products, the focus for this particular position is working on our User & Entity Behavior Analytics product. You will be a part of a small (3-5 people) team of back-end engineers in our Baltimore (local) and New York City (remote) offices designing and implementing the core analytics engine of the User & Entity Behavior Analytics product. In this role, you will design and write high-level software (largely JVM-based) to analyze streams of data in near-real-time. This position focuses on resolving issues and implementing new features aligned with our core product roadmap.
Develop, enhance, and maintain our analytics engine
Design and implement features in the streaming analytics pipeline to suit evolving analytic strategies
Identify areas for improvement and work to address them
Periodically assist and troubleshoot product-related issues escalated by the product support team
Provide feedback on product and design requirements
Take part in reviewing and testing code changes from other team members
Required Skills
Proficiency in Java and optionally other JVM-based languages
Familiarity with distributed systems and common issues (consistency, reliability, availability, bottlenecks, failure modes, etc.)
Ability to work independently on solving complex problems and reasoning through solutions
Excellent in-person and written communication skills
Experience working with version control, preferably Git
Useful Skills
Knowledge of Continuous Integration (CI) and experience working with build and release tools such as Jenkins
Familiarity with project management tools and processes (JIRA, Trello, Asana)
Ability to work with remote teams in different time zones
Experience debugging and profiling JVM-based applications (instrumentation, heap analysis, thread dumps, etc.)