Senior Full Stack Developer: Centre for Collective Intelligence
Role details
Job location
Tech stack
Job description
Nesta is looking for a senior full-stack developer with confidence using a wide range of technologies. The Centre for Collective Intelligence specialises in deliberative workshops, and delivers these (amongst other collective intelligence initiatives) for partners and clients.
The Centre for Collective Intelligence has developed an internal tool, called Zeitgeist, that delivers live, facilitated, small-group deliberative workshops for in person and remote engagements. Your role will involve the maintenance of, and development of new features and AI integrations for, Zeitgeist, alongside other responsibilities.
The development team currently follows common agile delivery practices for software development, and interacts with client projects that use Zeitgeist (not necessarily following agile practices).
You will be responsible for:
- Maintaining and enhancing Zeitgeist, our in-house deliberative workshop platform
- Quarterly product alignment workshops to plan work in support of business development, the team's needs, and product maintenance
- Estimating and meeting feature delivery deadlines
- Estimating and meeting content implementation deadlines
- Managing CCI's security profile and holding quarterly threat model reviews
- Keeping our data protection guidance and DPIA up to date
- Managing key hardware (tablets and a few laptops) for in-person engagements
- Creatively using technologies at our disposal to support other team members, projects, and activities that CCI engage in
- Maintaining and managing the development team day-to-day processes
- Supporting growth and learning for your development team and, where applicable, the wider team
- Business development activities, providing technical input to bids and documentation
- Line management of 1 developer on your team
- As the most technical person working on the product you will also be customer-facing, at times, representing the product's capabilities.
You will be working with our current developer who can show you the ropes, and has a good working knowledge of Zeitgeist.
Nesta has supportive communities of practice, including technologists and software developers as well as designers, researchers, and data scientists, to draw on when solving difficult problems., Zeitgeist delivers a workshop experience where each participant is shown the same view. The software uses a slide-deck metaphor for its key UI. Each slide can contain interactive content that participants can use to answer questions, see group results, or view static stimuli such as videos, graphics, and text. For remote engagements, an embedded video call is integrated with the slide view, allowing participants to do everything they need to do without switching between applications.
In a separate interface, a facilitator manages the workshop. They are given controls to select the current slide, manage participants, and view completion information for each question.
Zeitgeist is built using a number of core technologies that you will be expected to have some knowledge of, experience of, or sufficient aptitude with equivalent technologies, so that you can pick up and work with them.
Backend technologies:
- AWS serverless Lambda functions (a combination of C# and Typescript)
- AWS Relational Database Service (RDS, postgresql)
- AWS DynamoDB database tables
- AWS Cognito authentication
- AWS API Gateway (for API Lambdas, and WSS connections)
- AWS S3 (for storage of workshop content, recordings, transcriptions)
- AWS Chime API for video call management
- AWS SAM / CloudFormation (infrastructure-as-code)
- Github Actions (deployment)
Frontend technologies:
- React with Typescript
- Material UI (MUI) for the bulk of the user interface
- AWS Chime SDK for embedded video calls
- RevealJS for the slide-deck UI
You will also be expected to be confident with:
- CLI scripting (bash / zsh)
- GitHub and the git CLI
- Testing frameworks (we are using MSTest, and jest)
- SQL, JSON, XML
Some familiarity with these technologies will also be helpful:
- Docker (containerisation)
Requirements
Do you have experience in XML?, Do you have a Master's degree?, It's unlikely that you'll have experience of all the technologies outlined below, but you should have worked with a cloud-based infrastructure (ideally AWS), and front-end technologies (ideally React). Familiarity with at least one of the key languages we are using (ie. C# or Typescript) will set you up for success. You are a good all-rounder, with confidence to pick up what you need from technical documentation and self-guided learning.
You'll have a flexible, adaptable approach to using a range of different technologies to solve problems - using the right tools for each job, depending on the circumstances.
A curiosity about how to harness the power of collective intelligence for social good through new products and technologies is desirable.
Your experience:
- 5+ years experience in full stack software development
- Ability to produce rapid prototypes, with a flexible approach and ability in using a range of technologies
- Cloud-based technology (ideally AWS)
- Frontend development (ideally React with Typescript)
- One or more of the core languages we're using (C#, Typescript)
- Relational databases (mandatory), other database types (desirable)
- Demonstrable experience of using agile project methodologies, and test-driven development
- A BSc, or MSc in computer science, engineering, or related discipline or at least five years' relevant experience in industry
- Demonstrated ability to work on technical tasks independently, with minimal support
- Excellent time management, and able to manage multiple projects and competing priorities
- Ability to receive, give, and act on feedback
- A self-starter with a curious and open mindset, a willingness to learn from and with others, and ability to carry out self-directed research and learning
- An interest in developing or integrating AI tools and functionality
- A motivation to tackle social problems, and a personal commitment to the principles of data justice and community empowerment
Benefits & conditions
Hours: Full time (37.5 hours a week) - negotiable, open to four days/flexible hours for the right candidate