Part-Time Contracted Developer
Network Canvas is recruiting for a part-time contracted developer to work alongside our lead developer and academic team 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 of the Network Canvas software suite and its web presence.
The preferred candidate will be able to commit between 20-25 hours a week, will work remotely, and will be able to follow their own work schedule to complete tasks on target so long as regular team communication is satisfactory. The use of Skype, Slack, and other various team communication platforms, will be expected.
Who We Are
Network Canvas is a grant-funded (R01DA042711) project within Northwestern University’s Institute for Sexual and Gender Minority Health and Wellbeing. Our project is building an open-source framework to capture complex structural data for social, behavioural and health research purposes, developed from an existing tool that enables 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) through a series of touch-optimised interfaces in an interview setting. Over the course of the grant, we will 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 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).
- Under supervision of the Lead Developer, establish a detailed
specification for all applications within the Network Canvas suite.
- Update, repair, modify and develop existing software and generic applications, including any core dependencies or external frameworks.
- Implement and document an internal API that can serve as a framework for development.
- Implement the user interface and core application modules that service this API, solving any challenges that may arise.
- Adapt the applications to new requirements, as necessary.
- Develop robust and effective tests across the project codebase.
- Contribute to accurate and detailed information for public documentation.
- Contribute to the creation of tutorials and how-to articles on core application functionality.
- Occasionally assist in tasks related to the project’s web presence.
- Regularly communicate with lead developer on weekly targets, coordinate with the core development team, and clearly communicate day-to-day development goals and activities with the rest of the project group.
- Provide team with detailed invoices of work completed on a monthly basis.
Qualifications and Skills
Successful applicants will possess an excellent level of technical knowledge and general proficiency in software development. A degree in computer science not required.
- 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.
- 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.