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