Our Software Engineers are extraordinarily passionate and driven by technology. We thrive on designing simple and scalable solutions to complex problems and delivering leading edge software products for our customers.
We are looking for exceptionally ambitious and communicative hands-on individuals who are comfortable working with the agile methodology as part of an interdisciplinary team, have experience working in fast-paced environments and who have passion and skills to take our product offering to the next level.
Job Summary:
As a SeniorSoftware Engineer you will work in a collaborative team environment that encourages you to perform at your best, while leading the engineering efforts of one of our scrum teams. You will be challenged to engineer right-sized solutions for complex business problems. You will architect, design and develop robust and scalable server-side software for high-volume transactional web-based applications.
Technology we use:
Java Full Stack, JavaScript, Spring, Spring Data Rest, Grails, Hibernate, MySQL, MongoDB, RabbitMQ, AWS, Camel and event processing modules, Rules Engine, Cache tools
Your Role:
· Design, develop and maintain framework for web-based applications to enhance the performance and reliability
· Participate in the development of new industry-leading products leveraging the technologies we use
· Design and develop service-oriented architecture solutions that integrating with complex database and third-party components
· Construct and manage services published to both internal and external consumers
· Architect, design and develop platform level components including event architectures, messaging, and caching solutions
· Collaborate on developing best practices, code reviews, internal tools and process improvements
· Guide, coach and mentor team members as required, assisting in the team’s skills development during software development projects.
· Analyze and conceive solutions, and develop prototypes for next generation components to extend platform architecture, solve complex business problems and extend business functionality
Qualifications:
Required Experience:
· BA/BS degree in Computer Science or related field. Advanced technical degree and/or related training a plus
· At least 4+ years of multi-threaded server-side web application development experience
What We Look For:
· Use of RESTful to create Service Oriented Architecture
· Building Framework & Platforms for a multi data center that can be deployed globally
· Experience with cloud deployments
· Responsible for the technical product
· Design for High availability, SLA (service level agreements)
· Failure mode testing
· Managing design practices and implementation
· Polyglot capabilities
· Proven track record designing and implementing web applications with highly optimized and scalable architectures
· Ability to work independently; designing, developing and deploying solutions, and to deliver projects on time with minimal direction.
· Experience evaluating and implementing best practices tools and techniques for software development, leading code reviews and coaching/mentoring Java Developers
· Expert Java skills and object-oriented design experience
· Strong working knowledge of the Java web technology platform, applied use of design patterns, JSP and servlets
· Excellent database development skills including a solid understanding of database technologies, and logical and physical data modeling
· Experience with session management, object relational mapping, XML web services, and agile development methodologies desired
· Design and development of platform level components including events architectures, messaging, and coaching
· Working knowledge with Spring Framework strongly desired