We are seeking a creative and passionate Software Engineer to expand and complement our team of developers, to work on any and all aspects of our software platform, on a variety of initiatives. We offer an exciting opportunity to work with a small, talented team on state of the art machine learning technology.
You will be expected to:
- Collaborate with the team on all aspects of software development, from design to testing
- Help troubleshoot errors or performance issues in our various deployment environments to help with root cause identification and resolution
- Independently research and develop solutions to complex problems
- Give estimates for your deliverables, and meet them
- Some specific things you may do, depending on your skills and our evolving needs:
- Take ownership of a web service and application that manages the deployment, patching, and monitoring of the web services that make up our platform. Improve the monitoring and alerting systems so we have more detailed knowledge of what is happening at any time and improved notification of any problems.
- Add features to our search system to make better use of information other than the relevance of the query to the document text. This includes time, references and links to and from other documents, author and ownership information, and more.
- Work on improving our deep learning system. Evaluate recent research for applicability to our domain.
- Prototype and test different algorithms and integrate improvements into our production system. Compare our system against open-source versions of other algorithms.
- Develop the next generation of our Semantic Map search result visualization and clustering UI.
- Bachelor's degree in Computer Science, Computer Engineering, or a related discipline
- Proficiency in either Java or C++
- Strong programming fundamentals, including knowledge of algorithms, data structures, design patterns, concurrent programming, distributed systems, and optimization
- Experience with common Linux command line tools
- Any skill set or experience that can help us and isn’t shared by a present member of our team. Some possibilities: recurrent nets, GPU programming, d3.js, linear algebra, distributed filesystems, different programming languages.
- Knowledge of algorithms for information retrieval, machine learning, or deep learning
- Experience integrating and modifying open-source projects
- Experience with REST web service design and development
- Knowledge of map-reduce and other large-scale data processing strategies