Senior Java Software Engineer

Engineering Denver, CO

FusionAuth is a fast growing startup headquartered in Denver Colorado. We are expanding our team to help accelerate our growth and take FusionAuth to the next level.

Our mission is to make authentication and authorization simple and secure for every developer. This means building the best IAM (Identity and Access Management) and CIAM (Customer Identity and Access Management) solution in the world. If you are passionate about technology and want to join a company that is moving the industry forward, FusionAuth might be a perfect fit for you.

We are recruiting a Senior Java Software Engineer who will join our engineering team to help us build the best authentication and authorization solution in the world. This exciting role will allow you to build new features, extend existing features, learn from customers to improve the product and participate in our growing developer community. For this role, you must be a creative and quantitative thinker. You should be interested in the authentication, authorization and user management space. You should be seasoned at writing secure and high-performance code. The ideal candidate will be a self-starter, fast worker and excited about growing a company from the ground up.

You will report directly to the CTO and will work from our Denver office.

Responsibilities

Your responsibilities will include:

  • Designing new features
  • Producing clear design documentation as needed
  • Writing high-quality, performant and secure code (primarily in Java but we use many other languages as well)
  • Writing extensive and thorough tests
  • Writing clear, high-quality documentation for new features
  • Rotate as the on-call engineer to solve critical customer issues (these are extremely rare since we pride ourselves on high-quality and well tested code)
  • Work closely with the rest of the engineering team to architect and design the product and deployment strategies

Requirements

The requirements for this position include:

  • Highly proficient in all aspects of software engineering
  • Highly proficient in OO design and implementation
  • Understanding of the full web stack (HTTP, TCP/IP, REST, etc)
  • Ability to work on Linux, Windows, Mac (and in virtual machines)
  • Knowledge of high-availability, high-performance, high-scalability application development
  • In-depth knowledge of good API design
  • In-depth knowledge of unit testing
  • Self starter
  • Ability to learn new technologies and skills quickly
  • Able to jump into new or existing code bases quickly
  • Able to use and participate in non-mainstream open source technologies
  • Comfortable and excited about working on our open source projects
  • Able to write new frameworks, libraries and tools to meet specific needs

Technologies

The requirements for this position include:

  • Java
  • Ruby (or similar dynamic language
  • HTML 5
  • CSS
  • JavaScript
  • Guice (or Spring)
  • MySQL and PostgreSQL (or equivalents)
  • XML
  • JSON
  • FreeMarker (or Velocity)
  • ORMs
  • TestNG (or JUnit)
  • Git

Beneficial Skills

  • Open source committer
  • Be familiar with other languages for the JVM
  • Understanding of the internals of MVCs and other web technologies
  • In-depth knowledge of multi-threading
  • In-depth knowledge of file systems

Beneficial Technologies

  • Elasticsearch
  • Savant
  • SLF4J
  • MyBatis
  • Guice
  • Prime.js

Want to apply for this job position? Email us at jobs@fusionauth.io