Available jobs

Research Programmer - Natural Language Processing Group

Research Programmer - Natural Language Processing Group, 4P2, 100% FTE, fixed term 2 years from date of hire with the possibility of extension.

The Stanford Natural Language Processing Group in the Department of Computer Science in the School of Engineering seeks a Research Programmer to join its team. The Research Programmer reports to Professor Christopher Manning.

The Research Programmer will design, program, extend, maintain, and evaluate new and existing algorithms and applications to support the objectives of multiple NLP research projects. In particular: the person will extend and build natural language processing software including probabilistic parsers, relation extraction systems, machine translation systems, semantic role labelers, co reference resolution systems, and other computational semantics systems in support of projects funded by the DARPA DEFT program, the Allen Institute for Artificial Intelligence, NSF grants, and perhaps other programs, depending on need.

The Stanford NLP Group is a fun, collaborative group providing many opportunities for hands-on research and teamwork. See http://nlp.stanford.edu/. This person will get to work closely with graduate students, postdocs, and faculty, and also to participate in the open source software community: several of our systems are available and widely used. The position provides great opportunities to develop your career: The previous occupants of this position have gone on to become the Chief Product Officer at Facebook, an Assistant Professor following a Computer Science Ph.D. at UC Berkeley, and an engineer at a Deep Learning start-up company. The Stanford NLP Group values having a diverse mix of people and is committed to equal opportunity in employment; we are always pleased to identify anyone with great qualifications and promise.

Please apply online at http://stanfordcareers.stanford.edu/job-search. Enter "64956" in the Job Number field and click on, "Search for Jobs". A link to the posting will appear. Click on the link, then click on "Apply Online".

Job Details

  • Design, program, and test new software and extensions to existing software.
  • Debug and evaluate performance of new software and extensions to existing software.
  • Maintain and debug existing software.
  • Effectively communicate and work with other group members to develop key design decisions.
  • Document newly written software via source-code comments and higher level textual descriptions.
  • Assist in defining future goals for improving and extending our software systems.
  • Collaborate in writing academic papers and in performing external evaluations.


  • Bachelor’s degree and three years of relevant experience, or combination of education and relevant experience. Computer Science or Symbolic Systems preferred.
  • An advanced degree in Computer Science or Symbolic Systems is preferred.
  • Excellent software design skills.
  • Good programming skills.
  • Experience with Java, and experience with NLP preferred.
  • Knowledge of statistical machine learning methods.
  • Basic knowledge of statistics.
  • Good written and verbal communications skills.
  • Ability to make progress on projects by oneself, independently.
  • Ability to work as part of a team.
  • Ability to multitask.
  • Ability to guide, manage, and successfully integrate software work of students.

Physical Requirements*

  • Constantly perform desk-based computer tasks.
  • Frequently sit, grasp lightly/fine manipulation.
  • Occasionally stand/walk, writing by hand.
  • Rarely use a telephone, lift/carry/push/pull objects that weigh up to 10 pounds.

*Consistent with its obligations under the law, the University will provide reasonable accommodation to any employee with a disability who requires accommodation to perform the essential functions of his or her job.

Working Conditions

  • May work extended hours, evenings or weekends.
  • May travel locally. Occasional attendance at conferences and grant workshops may be required.

Work Standards

  • Interpersonal Skills: Demonstrates the ability to work well with Stanford colleagues and clients and with external organizations.
  • Promote Culture of Safety: Demonstrates commitment to personal responsibility and value for safety; communicates safety concerns; uses and promotes safe behaviors based on training and lessons learned.
  • Subject to and expected to comply with all applicable University policies and procedures, including but not limited to the personnel policies and other policies found in the University's Administrative Guide, http://adminguide.stanford.edu.

About Stanford University

Stanford University, located between San Francisco and San Jose in the heart of California’s Silicon Valley, is one of the world’s leading teaching and research universities. Since its opening in 1891, Stanford has been dedicated to finding solutions to big challenges and to preparing students for leadership in a complex world.

Supporting that mission is a staff of more than 10,000 which is rooted in a culture of excellence and values innovation, collaboration, and life-long learning. To foster the talents and aspirations of our staff, Stanford offers career development programs, competitive pay that reflects market trends and benefits that increase financial stability to promote health, fulfilling lives. An award-winning employer, Stanford offers an exceptional setting for professionals looking to advance their careers.

Founded in 1965, the Stanford Computer Science (CS) Department continues to lead the world in computer science research and education. Throughout the past four decades, the Stanford CS Department has influenced society at levels that remain without parallel among academic institutions. Its spin-offs are among the most successful corporate ventures in the world, and many of the leaders in the academic and corporate research world are graduates of the Stanford CS Department.