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.
As a Software 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:
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 eventarchitectures, 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
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
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 databasetechnologies, 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