Position: Senior Java Developer(877)
Company: Exadel
Experience required: 3y
English level: intermediate

The perfect candidate should:
- Have a deep understanding of core search concepts, text pre-processing, and indexing, Lucene
- Experience with building distributed data ingestion pipelines, batch data processing, Kafka or other
- Have production experience with ElasticSearch and Solr
- Experience with tuning search behavior, customization of ranking algorithms
- Have solid experience with core Java (or Python), algorithms, and data structures
- Have experience with relational and NoSQL data sources, Oracle and MarkLogic
- Demonstrate a clear understanding of Systems and CI/CD, Linux, and Jenkins
- Be keen to deliver quality solutions, testing automation, unit testing
- Have an Agile mindset, be confident with Scrum processes
- Be proficient in cloud computing, AWS services

Qualifications:
- 5+ years of Software Engineering experience
- BS Engineering/Computer Science or equivalent experience required

Technical Skills:
- Advanced knowledge of software development methodologies (e.g., Agile, Waterfall)
- Strong proficiency with data manipulation language including optimization techniques
- Strong understanding of normalized/dimensional data modeling principles
- Strong knowledge of multiple data storage subsystems
- Expertise in development languages including but not limited to: Java/J2EE, JavaScript, JSP, C/C++, HTML, XML, SQL, Windows, UNIX, and .Net
- Strong research skills
- Strong knowledge in industry best practices in development
- Knowledge in using and developing applicable toolsets
- Ability to interface competently with other technical personnel or team members to finalize requirements
- Ability to work well with internal and external technology resources
- Knowledge of test-driven development
- Ability to write and review portions of detailed specifications for the development of complex system components
- Ability to complete complex bug fixes
- Good oral and written communications skills

English level: Intermediate+

Responsibilities:
- Interface with other technical personnel or team members to finalize requirements
- Write and review portions of detailed specifications for the development of complex system components
- Complete complex bug fixes
- Work closely with other development team members to understand complex product requirements and translate them into software designs
- Successfully implement development processes, coding best practices, and code reviews
- Operate in various development environments (Agile, Waterfall, etc.) while collaborating with key stakeholders
- Resolve complex technical issues as necessary
- Train entry-level software engineers as directed by department management, ensuring they are knowledgeable in critical aspects of their roles
- Keep abreast of new technology developments
- Design and work with complex data models
- Mentor less-senior software developers on development methodologies and optimization techniques
- All other duties as assigned

About Our Customer:
The customer is a world-leading provider of information solutions that enhance the performance of science, health, and technology professionals. They help scientists make new discoveries, lawyers win cases, doctors save lives, corporations build commercial relationships, insurance companies assess risk, and government and financial institutions detect fraud. The customer is a global company headquartered in Amsterdam, employing more than 7,000 people in 25 countries.