We are looking for a Java Developer to join our team. You will be involved in designing and maintaining the infrastructure software used by many teams. This is a full time position (30+ hours per week). The hours are flexible, however you will need to have some overlap with our business hours. We are in PST/PDT (UTC -8/-7). You must be fluent in written and verbal English.
Applicants must demonstrate expert level understanding of: Object Oriented Programming, unit testing and basic algorithms and data structures.
- Expert level knowledge of Java
- Solid understanding of Dependency Injection, Inversion of Control, SOLID and Separation of Concerns principles.
- Experience with at least one major framework for developing enterprise Java-based applications (e.g. Dropwizard, Spring ...)
- Experience writing well-structured, easily maintained unit tests and knowledge of testing frameworks such as JUnit and Mockito.
- Understanding the theory behind relational and NoSql databases. Experience with Hibernate.
- Knowledge of project lifecycle management tools (preferably Maven)
- Working knowledge of web scripting languages such as PHP
- Apache Thrift, Dropwizard
- Experience with Netflix open source software: Hystrix, Archaius, Eureka etc