The NetLogo team at Northwestern University (near Chicago) is hiring
a full-time developer.
This might interest you if you want to:
- work with researchers at a university
- make things for kids, teachers, and scientists
- write Scala and CoffeeScript
- hack on compilers and interpreters
- do functional programming
- use the Play framework
- write open source software
- do your work on GitHub (https://github.com/NetLogo)
The CCL is looking for two full-time developers to work on NetLogo. One of these will focus more on designing web-based applications in javascript, and the other will focus more on Scala (and Java) programming of the NetLogo desktop application, including GUI work.
These Software Developer positions are based at Northwestern University’s Center for
Connected Learning and Computer-Based Modeling (CCL). You’d be working in a
small collaborative development team in a university research group that also includes
professors, postdocs, graduate students, and undergraduates, supporting the
needs of multiple research projects. A major focus would be on development of
NetLogo, an open-source modeling environment for both education and scientific
research. Our grants also involve development work on HubNet and other
associated tools for NetLogo, including research and educational NSF grants involving
building NetLogo-based science curricula for schools.
NetLogo is a programming language and agent-based modeling environment. The
NetLogo language is a dialect of Logo/Lisp specialized for building agent-based
simulations of natural and social phenomena. NetLogo has many thousands of
users ranging from grade school students to advanced researchers. A
collaborative extension of NetLogo, called HubNet, enables groups of
participants to run participatory simulation activities in classrooms and
distributed participatory simulations in social science research.
Specific Responsibilities:
Collaborates with the NetLogo development team in designing features for
NetLogo, HubNet 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 and web-based applications; Creates new such models; Supports development of new devices to interact with HubNet;
Interacts with commercial and academic partners to help determine design and
functional requirements for NetLogo and HubNet; Interacts with user community
including responding to bug reports, questions, and suggestions, and interacting
with open-source contributors; Performs data collection, organization, and
summarization for projects; Assists with coordination of team activities;
Performs related duties as required or assigned.
Minimum Qualifications for either job:
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; Enthusiasm for writing clean,
modular, well-tested code.
Desirable Qualifications:
Experience with working effectively as part of a small software development
team, including close collaboration, distributed version control, and automated
testing; Experience with building web-based applications, both server-side and client-side components,
particularly with html5 and JavaScript and/or CoffeeScript ; Experience with
at least one JVM language such as Java; Experience with
Scala programming, or enthusiasm for learning it; Experience designing and working with GUIs, including the Swing toolkit;
Experience with Haskell, Lisp, or other functional languages; Interest in and experience with programming
language implementation, functional programming, and metaprogramming; Experience
with GUI design; language design 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 unix system administration; Interest in education and an understanding of secondary
school math and science content.
Application information:
The Northwestern campus is in Evanston, Illinois on the Lake Michigan shore,
adjacent to Chicago and easily reachable by public transportation.
To apply, please contact Uri Wilensky, Director of the CCL, at the following
email address: [email protected]
Please put “Developer Job” in the subject line.
Please include a PDF version of your resume and, optionally, links to any
relevant development projects you feel illustrate your abilities.