Practical Test for the position of Software Research Engineer
- The code for your finished assignment must be checked into a public GitHub repo. The URL for that GitHub repo must be sent to use so that we can start checking.
- Additional points will be given when the code is hosted somewhere (heroku/aws/digitalOcean/dockerCloud etc.) so that we can access the hosted URL from our browser and see it working live.
It is a normal day at the office. You hear developers talking about how difficult it is to add good search features into their applications. You decide to research some technologies that will provide long term value to the company. Your mentor suggests looking into ElasticSearch.
As a research engineer, here are the basics skills that you are expected to demonstrate:
- Learn the basics of elasticsearch and what it does without going crazy and deep diving into things that do not matter. Knowing how “deep to look into” a technology without any guidance and judging when to stop is the skill of utmost value in a research engineer.
- Create a sandbox environment where you can play around with elasticsearch on your own.
- Hint: https://training.shoppinpal.com/ngram-with-elasticsearch.html
- Research engineers are fearless because they aren’t bogged down by deadlines. Learning additional technologies like docker, while on their way to research ElasticSearch, is quite natural for a research engineers.
- Add value to the community
- Fork this plugin: https://github.com/polyfractal/elasticsearch-inquisitor
- And enhance it by adding a 4th tab that only shows custom analyzers and none of the built-in analyzers.
- Change your sandbox environment to use your own custom plugin.
- Share the URL of your environment as demo of your finished work and also share the github repo URL where you checked-in your work.