Gained experience and skills working as a Software Developer Engineer in the Bing AutoSuggest team. Contributed towards Bing AutoSuggest, and Windows 8.1 SearchCharm improvements by predominantly developing C# software and tools.
- Led projects individually to develop new tools for the team, by collating feedback, and iteratively developing new features and functionality.
- Participated in company and division wide hackathon events developing new ideas and features.
- Worked with other developers to design and develop new software tools for experimentation, to improve relevance of Bing features and metrics.
Windows 8.1 SearchCharm
- Improving coverage and quality of high intent web suggestions in Windows 8.1 SearchCharm, where clicking on the suggestion will take you directly to the web page. Created tools to scrape the online, in-production service and produce metrics to measure impact on coverage, and precision/recall comparing against a labelled data set I gathered. Produced and delivered presentation on improvements which were later shipped, and analysis on comparing users search intent on Bing.com to Windows.
- De-duplication and Diversity; reducing the amount of duplicates (or suggestions with the same meaning), and making suggestions more diverse for a given query. Extended scraping tool to scrape other parts of the AutoSuggest service. Replicated logic from the online service to an offline solution, to simulate the online process but with the agility of offline experimentation. Formed the dataset, annotations and metrics, allowing myself and others to experiment with new features and quickly obtain offline metrics. Leading to new features being shipped that performed well offline, as well as online.
- Extended and added new functionality to a Python script that developers can use to query and debug a running local solution, rather than the online service – used for offline debugging of new features. Improved the interface for command arguments, so the tool could be used in several different ways. Added option to take input from file, and write output to file. Functionality to handle responses from service to parse and return suggestions.
- Improvements to a system in place to produce a key metric for Bing AutoSuggest. Development and testing of tools capable of automating part of this system, and removing manual steps for developers, making the system quicker and less error prone.
- Developed offline architecture for our AutoSuggest online ranking work, which involved building a program capable of automating the generation of the algorithm that would then be used online. Making configuration changes, adding new features, testing, and sharing work across developers much easier.