Skip to main content

External Projects

At CodeYourFuture we try to find interesting, tech-for-good projects that stretch the abilities of our trainees whilst helping an NGO or Charity solve a business problem they are facing.

If you are one of these charities, or know one we could work with, you can find more information below.

Past Projects

Here are examples of web apps we built as a Final Project:

You can find example project briefs on the Project Brief page.

Goals

With the final projects, we’re looking to give our trainees:

  • Experience of collaborating in a team to deliver software
  • An opportunity to solve real world business problems
  • The chance to bring together the different things they’ve learned
  • A real example to talk about in job interviews and guide their interests

and to give our partners:

  • A useful piece of software that they can use as-is or build on after the project

More details can be found on the Intro and Preparation pages.

We will need a Business Owner from your organisation on the team

Having an active Business Owner leads to faster delivery with better solutions. It is someone with knowledge about the product and users and can make decisions whenever the team needs direction.

Historically, one of the most common blockers to a successful project has been slow communication between stakeholders and our trainees. Trainees may likely become blocked, spin wheels, or go off on a tangent if they have a burning question and can't answer it.

In an ideal world, your Business Owner answers trainee questions within one working day. If this might not be possible, let us know, and we will select an Internal Business Manager who will be empowered to make decisions on your behalf.

The Business Owner role and commitment are described in detail on our docs.

What is a Good Project?

It's important that the projects that we work on fulfil some base requirements to make sure they go smoothly.

All Final Projects aim to be a Minimum Viable Product. This means they may be rough around the edges but have all the core functionality working.

Functionality

A Good Final Project should have the following qualities

  1. Be an interactive website

    • This means a website that a user can interact with to create, read, upload, and delete data.
    • For example, a photo hosting service, Q+A Service or Custom Events Platform would fulfil these criteria
    • A static website like the CodeYourFuture website would not
  2. Be completable in four weeks of work

    • This means the website should not be too large that they can't finish it or too small that they complete it too quickly
    • For example, a newsletter sign-up form would be too small
    • For example, a whole content management system would be too large
  3. Be well-defined

    • This means that from day one, our trainees understand what they are building
    • For example, a well-defined project should be able to answer using User Stories all of the functionality of the project
    • We can work with Charities to define projects if they contact us early enough

Technical Functionality

Don't know what anything here means? That's fine! The above section covers this in less technical details

We use the following technologies at CodeYourFuture

  • JavaScript
  • React
  • Node with Express
  • MongoDB or PostgreSQL

An external Final Project should use all of these technologies into a single Full Stack package. This is important as we want our trainees to use all of the skills that they have learnt in our course.

If your tech stack is far outside of the above core frameworks, send your project anyway and we will assess it case-by-case.

Limitations

As Junior Developers, our trainees do have some limits on what they can produce

  • Visual Design Complexity
    • An overly complex design will take a lot longer for our trainees to develop. Try to keep your designs simple and functional.
  • Instant Answers
    • You shouldn't expect our trainees to be able to give instant answers to any technical questions you might have. They will get there with time however!

Next Steps

1) Details Form

A good next step to getting started with defining your project is to complete this form.

CodeYourFuture - Projects Specification Form

It is important that you answer all of these questions in as much details as possible. Even irrelevant details will help us understand what you are trying to achieve.

2) Design Mock-Ups

Finally, you should work with us to create some simple designs of your product. This will give us insight into exactly what you want. These will not be the final designs of what we will be building; they're just a tool to help us work out what you want built.

You needn't use any specialised tools to design this. Paint or Pen & Paper will do for this step. If you want to use a digital tool we recommend Excalidraw.

Try to think about how each individual page will look. Will the user need to create an account? Think of the form they will need to fill in. Does the user view content on a page? What content should be included?

Get in contact with your local Programme Manager to arrange this.