Senior Software Engineer

Senior Software Engineer, Search

Software Engineering

Job Description
We are currently looking for a dynamic Senior level Software Engineer with phenomenal Java development skills to join the Search Platform Team! This role is integral to improving our company’s ElasticSearch and Solr based search clusters. This role will also work with the Search Platform team to successfully add and transfer large data sets from Oracle to ElasticSearch. We are looking for someone with incredibly strong analytical and troubleshooting skills, is fluent in coding, has phenomenal communication skills, and is not afraid to tackle difficult problems head on.
What you’ll do:
  • Develop and maintain high quality code and continually deliver projects on schedule
  • Research, create, and plan and implement testing for both the integration of system upgrades and the introduction of new technologies to our platforms
  • Maintain accurate documentation 
  • Stay up to date with the most current industry technologies and best practices, particularly as they pertain to Java Frameworks, Design Patterns, and NoSQL storage systems
  • Investigate and develop solutions to meet enterprise wide needs
What we’re looking for:
  • A Bachelor’s degree in Computer Science, an equivalent degree, or  8 years of equivalent experience
  • Someone with a vast background in messaging technologies  and knowledge of messaging systems (such as ActiveMQ, RabbitMQ, or ZeroMQ)
  • 5 or more years of very strong and practice Java and J2EE development skills
  • Strong familiarity with Lucerne based search (ElasticSearch or Solr)
  • Ver y strong experience with Spring MVC, Spring, Spring Security, Multithreaded programming, & Maven
  • Experience with O/R mapping tools, such as MyBatis or Hibernate
  • Knowledge of relational database design, MySQL, or Oracle
  • Knowledge of various application servers (JBoss/Tomcat) and web servers (Apache/Nginx)
  • Expert knowledge of object oriented design, design patterns, and programming skills
  • Experience with cross functional collaboration (specifically with a Product Manager or Email Marketing Campaign Manager) preferred
  • High fluency with SQL and database design. Knowledge of PL/SQL is a plus.
  • Familiarity with Unix, Linux preferred
  • Experience building large scale, distributed, and highly scalable systems on an enterprise level
  • An excellent team player with very strong collaboration skills, an ability to work cross functionally (Agile/SCRUM), a strong sense of responsibility and great work ethic