Independent Contracted Developer

We are recruiting for an independent contracted developer to work alongside our lead developer and the academic team in order to facilitate the goals of our grant. Under the supervision of our lead developer, you will architect, implement, document, test, and otherwise support the development Network Canvas software suite and its web presence.

Background

Network Canvas is an open-source framework designed to capture complex structural data for social research purposes. The application is a hybrid desktop/mobile app with a shared HTML/JS codebase built on React/Redux, using Apache Cordova (phonegap) and Electron as encapsulation technologies. Our target platforms include Windows, Linux, OSX, iOS and Android (with reduced/scaled functionality).

Network Canvas provides a series of touch-optimised interfaces that allow participants to articulate a ‘personal network’ (a set of ties, or ‘alters’, along with the relationships these ties might have to one another, and any attributes these alters may have) in an interview setting. Data such as this is increasingly desired by academics across many disciplines, yet challenges related to its collection, complexity and codification have thus far prevented more widespread use.

Northwestern University’s Institute for Sexual and Gender Minority Health and Wellbeing (ISGMH) has been awarded a grant (R01DA042711) to develop and extend the functionality of the Network Canvas software. For the duration of the grant, we intend to harden and extend the existing Network Canvas software, and create a companion application that allows researchers without significant technical knowledge to design their own interviews, collect and collate data, and export it into popular network file formats.

The Role

We are recruiting for an independent contracted developer to work alongside our lead developer and the academic team in order to facilitate the goals of our grant. Under the supervision of our lead developer, you will architect, implement, document, test, and otherwise support the development Network Canvas software suite and its web presence.

The individual within this position has the potential for up to regular full-time (40 hours per week) contracted employment for the duration of the grant (June 2021). The initial contract will be made for one year – with potential for yearly renewal based on mutual satisfaction.

We expect individuals to work remotely – and will largely follow their own work schedule, as long as they are able to meet ongoing team communication demands. These demands include: daily check-in communication with lead developer and/or project manager; weekly attendance at core development team meetings; and monthly attendance at broader project meetings. Team members are spread across multiple time zones (primarily BST and CST), meaning that communication will often stretch outside typical office hours, or else will be conducted asynchronously. The use of Skype, Slack, and other various team communication platforms, will be expected. Beyond this, there is scope for flexible working where suitable.

Travel to Chicago may be occasionally required.

Responsibilities

Specific responsibilities for this role will include:

  • Development
    • Based on the direction of the Lead Developer, assisting in establishing a detailed specification for all applications within the Network Canvas suite.
    • Updating, repairing, modifying and developing existing software and generic applications, including any core dependencies or external frameworks.
    • Implementing and documenting an internal API that can serve as a framework for development.
    • Implementing the user interface and core application modules that service this API, solving any challenges that may arise.
    • Adapting the applications to new requirements, as necessary.
    • Developing robust and effective tests across the project codebase.
  • Documentation
    • Contributing to accurate and detailed information for public documentation.
    • Contribute to the creation of tutorials and how-to articles on core application functionality.
  • Web Presence
    • Occasionally assisting in tasks related to the project’s web presence.
  • Communication
    • Coordinating with the core development team, responding to direction from the lead developer, and clearly communicating day-to-day development goals and activities with the rest of the project group.
    • Providing the team with detailed invoices of work completed on a monthly basis.

Qualifications

  • Successful applicants will possess an excellent level of technical knowledge and general proficiency in software development.
  • Applicants are not required to have a degree in computer science or a related discipline, although such a qualification may be beneficial.
  • Applicants will be required to demonstrate their knowledge within the interview via technical discussion, demonstration walkthroughs of previous work, or other suitable evidence. Additionally, applicants will also be asked to demonstrate their capabilities through the submission of a portfolio of prior work, preferably in a formal (paid) setting. This portfolio may take the form of a digital document, print document, website, or interview based presentation.
  • We will consider applications from those without substantial prior industry experience, although in such cases greater emphasis will be placed on the ability of the applicant to demonstrate the required technical expertise through the quality of their portfolio.

Essential Skills

  • Expert-level programming and technical knowledge, particularly in JavaScript with an emphasis on knowledge of React/Redux.
  • Expertise in setting up and configuring build tools (e.g. webpack, grunt, gulp), and development environments (Xcode, android SDK, etc.).
  • Working competency with front end development technologies, including CSS pre-processors such as LESS and SASS, and one or more UI frameworks.
  • A strong knowledge of human-centered design principles, and a commitment to creating high quality user experiences with an emphasis on attention to detail.
  • Knowledge of git workflows and collaborative coding techniques.
  • General ingenuity and creativity, with strong analytical capabilities and a logical approach to problem solving.
  • A team-first mindset, with strong interpersonal skills and a professional demeanour.
  • A track record of delivering to specification, on time, when under pressure.
  • Communication skills – including the ability to convey information to non-technical colleagues in a concise and clear way, and the ability to produce documentation tailored to various audiences.
  • An understanding and appreciation of the values and aims of open source academic software projects.

Desirable

  • Knowledge of Phonegap/Cordova and mobile app development.
  • Knowledge of Electron.
  • Knowledge of iOS and android development.
  • Background in UI design, or UX/HCI research.
  • Knowledge of social network analysis, networks, graph theory, or related concepts.
  • Experience of graph databases, such as Neo4j.
  • Experience working in academic settings, or in collaboration with academic institutions.

Compensation

Compensation commensurate with experience.

Equality and Diversity

The Northwestern University community includes almost every culture and race around the globe.  Our students, faculty and staff have diverse needs, values, opinions, and a point of view that adds to a rich work and educational environment. Northwestern is committed to fostering an environment of diversity and equal opportunity.

Through its work, ISGMH advances the health and wellbeing of LGBTQ individuals. Staff and trainees should expect to find a diversity of sexual orientations and gender identities among ISGMH staff, trainees, research participants, and in outreach experiences. We highlight the importance of respecting and valuing this aspect of diversity among staff and trainees.

We encourage applications for this role from racial, sexual, and gender minorities – and other groups traditionally underrepresented in software development.

To Apply

Interested applicants should send their resume, cover letter and digital portfolio or an example of their work to Kate Banner at [email protected]. Incomplete materials will not be considered. Applications will be accepted on a rolling basis until the position is filled.