Software Engineer (Portland, OR)

TextWise develops a cutting-edge search engine using advanced language modeling and deep learning techniques. Our Semantic Gist platform powers IP.com’s intellectual property search and analytics product, InnovationQ.

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, in our downtown Portland, OR office. 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:

  • Write high-performance, scalable software, mostly in C++, but also in Java, Javascript, bash, Python, or whatever language is best suited to the task at hand
  • 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.
  • Add functionality to our Semantic Map search result visualization and clustering UI, and write other visualizations that expose the value we add to structured and unstructured text data.

Minimum qualifications:

  • Bachelor’s degree in Computer Science, Computer Engineering, or a related discipline
  • Proficiency in C++ or Java
  • Strong programming fundamentals, including knowledge of algorithms, data structures, design patterns, concurrent programming, distributed systems, optimization, and different programming paradigms
  • Experience with common Linux command line tools

Desired Qualifications:

  • Any skill set or experience that can help us and isn’t shared by a present member of our team. Some possibilities: recurrent nets, Javascript frameworks, GPU programming, 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

Other Requirements and Benefits:

  • Must be either a U.S. Citizen or Permanent Resident (“Green Card holder”) to comply with ITAR/Export Control regulations.
  • Benefits include 401(k) Plan; Medical, Dental, Vision and Life Insurance; Health Savings Account, Flexible Spending, and Dependent Care Accounts; Paid holidays, vacation, and sick time.

IP.com is an Equal Opportunity Employer. The company and its affiliates recruit and hire qualified candidates without regard to race, religion, color, sex, sexual orientation, gender, gender identity, age, national origin, ancestry, citizenship, veteran or disability status, medical condition, marital status, or any other factor prohibited by federal, state, provincial, and municipal laws.

To apply for this position, please send your resume to careers@ip.com