Desired Skills and Experience

  • Collaborates with the NetLogo development team in designing features for NetLogo, HubNet, NetLogo extensions, and web-based versions of these applications; writes code independently, and in the context of a team of experienced software engineers and principal investigator;
  • Creates, updates and documents existing models using NetLogo, HubNet, NetLogo extensions, and web-based applications; creates new such models;
  • Interacts with commercial and academic partners to help determine design and functional requirements for NetLogo, HubNet, and NetLogo extension features or projects;
  • Interacts with user community including responding to bug reports, questions, and suggestions, and interacting with open-source contributors;
  • Mentor undergraduate student workers and guide Google Summer of Code participants on contributions to the NetLogo codebase; assist graduate students with issues encountered during their work;
  • Performs data collection, organization, and summarization for projects; assists with coordination of team activities;
  • Performs other duties as required or assigned.
  • A bachelor’s degree in computer science or a closely related field or the equivalent combination of education, training and experience from which comparable skills and abilities may be acquired;
  • 2 years of relevant experience
  • Demonstrated experience and enthusiasm for writing clean, modular, well-tested code.
  • Experience with working effectively as part of a small software development team, including close collaboration, distributed version control, and automated testing;
  • Experience with at least one JVM language, Scala strongly preferred;
  • Experience developing GUI applications, especially Java Swing-based applications;
  • Experience with programming language design and implementation, functional programming (especially Haskell or Lisp), and compilers;
  • Interest in and experience with computer-based modeling and simulation, especially agent-based simulation;
  • Interest in and experience with distributed, multiplayer, networked systems like HubNet;
  • Experience working on research projects in an academic environment;
  • Experience with open-source software development and supporting the growth of an open-source community;
  • Experience with Linux/Unix system administration;
  • Experience with building web-based applications, both server-side and client-side components, particularly with html5 and JavaScript and/or CoffeeScript;
  • Interest in education and an understanding of secondary school math and science content.

Apply