Lead Software Engineer
Our client is in the information software business. They provide shared technology services, original research and community programs that help organizations meet the ever-evolving needs of their users, institutions, and communities. With office locations around the globe, their employees are dedicated to offering premier services and software to help people.
The Lead Software Engineer will join the development staff that is developing the software for a Metadata product. The Lead Software Engineer will perform analysis and design of software programs and systems and create, analyze, design, modify and test programs and systems.
- Uses industry standard programming techniques to translate requirements and designs into code.
- Work with cross functional teams to gain knowledge of different product requirements to design, implement and/or delegate this work to other developers on team.
- Perform high level analysis and design software for new and existing systems.
- Design, code and test multiple modules of a system in a timely manner.
- Participates in unit, system, performance and acceptance testing by designing tests, building test data, test execution and evaluation, along with recommending/making improvements/fixes to the tested system.
- Champion the use of the latest innovations in search technologies
- Leads in developing and interpreting requirements.
- Bachelor's Degree in a Computer Science-related discipline required.
- Skills typically represented by 5-7 years of software development experience.
- MUST HAVE Lucene search query experience
- Coding skills in Java, Gradle, Spring, REST, experience with query parser technologies such as Lucene or Solr.
- Experience working with Big Data.
- Understanding of Search concepts, expertise with large-scale search systems is a plus.
- Working knowledge of Linux/Unix.
- Experience in object-oriented programming.
- Understanding of Database design principles.
- Strong oral, written and presentation skills.
- Creative and innovative thinker.
- Ability to work and communicate effectively in a team environment.