Standford university is looking for a software developer for their game EteRNA

The Das Lab at the Stanford School of Medicine seeks a dedicated engineer to help rebuild the system behind one of the most popular citizen science games on the web, Eterna. The game enlists players in solving puzzles that allow them to design RNA molecules that accelerate biomedical research and form the basis of new medicines. The unusual gameplay involves actual synthesis and testing of players’ designs at Stanford, and the experimental results are returned to the player community. Current challenges are aimed at creating RNA sensors for new diagnostics and guide RNAs to improve CRISPR gene editing.

The Back-end Developer will be part of a team tasked with rebuilding Eterna’s technology stack, and is responsible for managing the interchange of data between the server and users. The developer’s primary focus will be development of all server-side logic and ensuring high performance and responsiveness to requests from the front-end. Developer will also be responsible for integrating front-end elements, including puzzle solver applets and user interface, and database elements built by other team members into the application.

See the ad on Gamasutra.

Duties include:

  • Create and document a new API to support gameplay and content management
  • Optimize the API for maximum speed and scalability
  • Integrate elements developed by front-end developers with server side logic
  • Build reusable code and libraries for future use
  • Implement security and data protection
  • Implement automated testing platforms and unit tests
  • Gracefully deprecate the old API
  • Maintain AWS servers
  • Coordinate with the development team at weekly online meetings
  • * – Other duties may also be assigned.

    DESIRED QUALIFICATIONS:

  • Proficiency with Python, Django, and PHP
  • Experience with Linux system administration
  • Experience with managing AWS servers
  • Basic understanding of front-end technologies and platforms, such as JavaScript, HTML5, and CSS3
  • Proficiency with code versioning tools, such as Git
  • Understanding of “session management” in a distributed server environment
  • Knowledge of OWASP security principles
  • Bachelor’s degree in Computer Science or related field
  • Self-motivated and collaborative team member


  • EDUCATION & EXPERIENCE (REQUIRED):

    Bachelor’s degree and three years of relevant experience or a combination of education and relevant experience.

    KNOWLEDGE, SKILLS AND ABILITIES (REQUIRED):

  • Current knowledge of latest software and design standards.
  • Ability to define and solve logical problems for technical applications.
  • Knowledge of and ability to select, adapt, and effectively use a variety of programming methods.
  • Ability to recognize and recommend needed changes in user and/or operations procedures.
  • Basic knowledge of software engineering principles.
  • Strong knowledge of at least one programming language.


  • 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.