Department: Education & Social Policy Salary/Grade: ITS/78
The CCL Lab at Northwestern University is looking for a full-time Scala/Java Software Developer to work on the NetLogo desktop application, a computational modeling environment widely-used in both education and research.
This Software Developer position is based at Northwestern University's Center for Connected Learning and Computer-Based Modeling (CCL), 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 of the role is on the development of NetLogo, an open-source modeling environment for both education and scientific research. CCL grants also involve development work on other associated projects for NetLogo, including multi-user simulation and other tools for research and educational NSF grants involving building NetLogo-based science curricula for schools. NetLogo is a programming language and an 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 hundreds of thousands of users ranging from grade school students to advanced researchers. A collaborative extension of NetLogo, called HubNet, enables groups of participants to run multi-user simulation activities in classrooms and distributed participatory simulations in social science research. NetLogo also featur es an expansive API that members of the NetLogo community use to extend the language to integrate with software like GIS databases, Python, R, and Mathematica, and to interface with hardware devices like Arduino boards and the Microsoft Kinect.
*Please email email@example.com with quesions about this role.
Independently implements NetLogo features and bug fixes in Scala/Java.
Collaborates with the NetLogo development team and principal research investigators in planning and designing features for NetLogo and other related projects.
Interacts with commercial and academic partners to help determine design and functional requirements for NetLogo and other related projects.
Interacts with user community including responding to bug reports, questions, and suggestions, and interacting with open-source contributors.
Mentors undergraduate student workers and guides Google Summer of Code participants on contributions to the NetLogo codebase; assists graduate students with issues encountered during their work.
Contributes to the design of web-based applications, including CCL websites and NetLogo Web, and implements features for interoperability between desktop and web platforms.
Performs data collection, organization, and summarization for projects; assists with organizing team meetings and maintaining team communication.
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.
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.
Interest in education and an understanding of secondary school math and science content.
Northwestern University is an Equal Opportunity, Affirmative Action Employer of all protected classes, including veterans and individuals with disabilities. Women, racial and ethnic minorities, individuals with disabilities, and veterans are encouraged to apply. Hiring is contingent upon eligibility to work in the United States.
Internal Number: 35940
About Northwestern University
Northwestern University is a major private research university with 12 academic divisions located on three campuses in Evanston, Chicago, and Education City in Doha, Qatar. We have approximately 2,500 full-time faculty members, 17,000 graduate and undergraduate students, and over 5,700 full and part-time staff. Northwestern University combines innovative teaching and pioneering research in a highly collaborative environment. It provides students and faculty exceptional opportunities for intellectual, personal and professional growth.