A Software Engineer - Enterprise Search is a highly skilled software developer with expert knowledge in at least one department or system. They work with a high degree of independence and develop information systems to support the business. Engineers are primarily focused on the design or integration of various software systems, databases, and third-party packages.
Essential Job Functions
- Generally takes leadership role in guiding projects through the complete software development life cycle.
- Typical focus is on code design efforts.
- Solid understanding of secure coding techniques and best practices.
- Responsible (takes ownership) for multiple software applications.
- Manage tasks and resources while utilizing modern project management principles.
- Participate or lead the development of multiple projects at one time.
- Conducts code reviews and ensures coding best practices are being followed.
- Recommend software improvements and changes to systems, as needed.
- May approve software to be deployed to production systems.
- Perform software and data analysis to uncover issues and solve complicated problems that typically span multiple systems.
- Lead various meetings to gather software requirements and project details.
- Conduct software demo's to educate and train others in the use of software.
- Debug and correct complex software defects.
- Develop new or modify existing software using coding best practices.
- Create or update advanced project documentation.
- Test software to validate accuracy of code and high quality software systems.
Skills and Qualifications
- 4+ years of software development experience.
- Advanced understanding of change management and the O'Reilly change control process and procedures.
- Advanced knowledge of Project Development Life Cycle (PDLC) and Software Development Life Cycle (SDLC).
- Advanced understanding of the software and system(s) supported by their team, as well as the overall company business.
- Ability to lead and get results from others.
- Ability to articulate advanced technical concepts and teach others.
- Ability to effectively multitask.
- Expert software debugging and testing knowledge.
- Advanced understanding of complex computer systems (multiple programs, databases, communications etc).
- Advanced knowledge of programming, database systems, and systems analysis and design.
- Ability to write advanced technical documentation.
- Advanced problem-solving skills.
- Good verbal and written communications skills.
- Must work well in a team environment.
- Ability to learn independently.
- Advanced knowledge of enterprise search engines (SOLR or Elasticsearch).
- Willingness to work flexible schedule including nights/weekends.
- High School diploma or equivalent.
Apply on company website