Sr. Java Dev
Our client is hiring an experienced Sr. Java Software Engineer for their rGuest team. rGuest Buy is a program that focuses on increasing the opportunity to provide greater service to each and every guest with a guest-facing POS kiosk, Kitchen Systems, and APIs for Web/Mobile.
You will collaborate as a key stakeholder in the definition, creation, and delivery of our solutions. You will be responsible for designing and developing Web Services, Micro Services and Integration points that enable incremental delivery of powerful cloud-based and on-premise customer solutions. The ideal candidate is comfortable in an agile environment and loves working closely across the team so that testing is seamlessly integrated into our overall development process.
- Influence the direction of rGuest solutions and architecture by contributing ideas regularly.
- Design, develop, new or maintain existing integration projects and services using the Java EE, REST, JMS and other technology stacks.
- Define technical scope and objectives through research and participation in requirements gathering and definition of processes. Follow a test-driven development process.
- Represent the customer's interests during reviews of functional requirements and code. Work closely with stakeholders to ensure timely product delivery
Who we are looking for:
- Proficient in system design and architecture, particularly with service-oriented architectures, performance, and scalability.
- 8+ years' experience in building high-performance and cloud based scalable web services. Experience with design and implementation of modern web services architecture and API frameworks (REST/ AJAX/JSON).
- Experience with Dependency Injection (Spring), ORM (JPA, Hibernate), Java NIO (and Jetty or Tomcat support), multithreading (java.util.concurrent) and Apache Maven.
- Strong understanding of engineering best practices — requirement gathering and analysis, designing and developing secure and scalable code with unit tests, partake in code reviews, and documentation.
- Proven ability to mentor junior team members.
- Strong software testing skills, including experience with TestNG.
- Excellent communication, organization and time management skills.
- Keen attention to detail and a high level of commitment.
- Having many "been there, done that" stories related to shipping and maintaining major software products for customers.
Extra bonus points if you:
- Have practical experience developing code for specialized IOT devices.
- Have worked "full stack" to create a client-server application.
- Some experience with noSQL - exposure to MongoDB preferred.
- Some experience with deployment automation tools such as Puppet, Chef, or Ansible. Some experience working closely with distributed development teams.
- Demonstrated ability to work effectively in formal and informal teams with individuals from diverse communities and cultures
- Motivated to accomplish as much as possible by:
- improving workflows and processes instead of setting a precedent of working additional hours to accomplish unrealistic goals
- mentoring less-experienced developers with advice on how to create reusable components and follow lasting patterns
- Follow agile practices and suggest workflow refactoring as necessary