Skip to main content

External Projects

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

Past Projects#

Here are some of the projects that we've worked on in the past

Additionally, here are some examples of internal projects we've completed

You can also find more example project briefs on the Project Brief

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.

What does a Product Owner have to do?#

To be a good Stakeholder/Product Owner you should

  • Be able to attend a weekly/bi-weekly meeting with our teams
  • Be in a position to advise the development of the project
    • e.g. Should we prioritise Feature A or Feature B?
    • e.g. We should remove Feature B because it's no longer needed.
  • Have realistic expectations of what our trainees can build in the time given to them

In addition to this, it is very helpful if you can join our internal instant messaging tool (Slack) to speak to our trainees more regularly. Historically, one of the most common blockers to a successful project has been the quick 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 get it answered.

In the ideal world, you would be able to answer questions within a 0.5-1 working days of the questions being asked by our trainees. If this might not be possible, let us know and we will select an Internal Product Manager who will be empowered to make decisions on your behalf.

What is a Good Project?#

It's important that the projects that we work on fulfill 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 of 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, delete data.
    • For example, a photo hosting service, Q+A Service or Custom Events Platform would fulfil this 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 full 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.

We prohibit using other core frameworks as they will fall outside our trainees areas of competency due to the time constraints that we have.

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) Visual Form#

On the next step we're asking you to be more visual in answering the questions. We'd advise you to use images or diagrams to answer the questions in these slides.

CodeYourFuture - Visual Specification Form

3) Design Mock-Ups#

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

Very quick designs of the tool/website you are trying to build will give us a great insight into what exactly 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 City Coordinator to arrange this.