Invaluable is the world’s leading online marketplace for fine art, antiques and collectibles. Working with more than 4,000 of the world’s premier auction houses, dealers and galleries, Invaluable helps buyers from 200 countries connect with the things they love. With best-in-class online bidding technology, along with a fixed-price retail platform, Invaluable provides sellers with e-commerce and marketing solutions, as well as auction management software. Recently called “one of the fastest growing e-commerce sites in the art world” by Blouin ArtInfo, Invaluable has also been recognized by Deloitte’s 2015 Technology Fast 500™ and the 2015 EY Entrepreneur Of The Year® program. Headquartered in Boston, Invaluable also has offices in the United Kingdom, France, Germany, Belgium and Australia.
Invaluable is looking for a Senior Java Engineer to be a good team player in a fast-paced environment. You’ll work on a range of services powering web and mobile applications that enable people to participate in live auctions from their computer or mobile devices. You’ll work with a team of back-end, front-end, QA and DevOps engineers to design, create, test and deploy applications that drive Invaluable’s customer-facing online properties and integrate with leading auction houses and other partners.
- Develop services and applications using Java with the Spring Framework (Spring Boot, Spring MVC, Spring Security, etc.) and Hibernate
- Create application requirements and project documentation
- Be involved in team architectural discussions
- Solve complex problems, create object models, define APIs, build web services, etc.
- Work in an iterative/agile development environment
- Quickly transition through two-week production release cycles
- Work directly with others (developers and internal stakeholders) to develop a solid understanding of the business application and requirements for which the application is being designed
- Assist other developers with questions regarding the functionality of applications
The successful candidate must have the following experience, skills, and education:
- 5+ years of experience in application development using Java and Spring
- Designed and built complex SaaS applications in a service oriented architecture
- Understands and can apply object-oriented design and design patterns
- Experience designing and building RESTful web services
- A broad understanding of unit and integration testing as part of a full software development life cycle
- Understands traditional relational data models and how they map to object models. Should be comfortable working with SQL and exhibit good database design skills
- Demonstrates strong verbal and written communication skills
- Java 8 features (streams, lambdas, fluent-style programming, etc.)
- Reactive patterns
- Microservices architecture: designing, creating, deploying, testing and monitoring
- Understanding of security implications in application development
- Docker and experience working with DevOps
- In-memory data structure stores or databases (such as Redis, Cassandra, etc.)
- AWS or other cloud development and deployment
- Has used other open source tools such as JUnit, Maven, Ant, Continuous Integration Tools (Hudson, Jenkins), etc.