Teaching people with special needs how to code
Last year, between September and November, I had the amazing opportunity to teach code to people with special needs. This experience transformed my perspective on how I bring solutions to human problems with code.
Before I give you my insights, let me tell you about how I got this opportunity.
As with many people in the UK last year, I suddenly found myself furloughed. During the first weeks, it felt good to have time off from work to concentrate on self-improvement, but after I finished all the things I had planned I felt a bit anxious. Unfortunately, I found it very difficult to do nothing.
I am originally from Venezuela, where I specialised in education and instructional design. When I fled my country and arrived in London in 2013, I found that I couldn't teach because my Venezuelan university degree doesn't have a European equivalent, so I retrained to become a Rope Access Technician (RAT).
RATs are people that use ropes and associated equipment to gain access to and from a working position. I worked in this role for about 2 years (you can see me here) until I discovered a profound love of programming.
I went to a coding academy called General Assembly, where I completed an immersive programme to change my trade again, from RAT to Web developer, and somehow they were crazy enough to hire me as a teacher assistant. That was in 2015 and since then I have not stopped with my mission to help people become Web developers, like me.
Cool, back to how I got the opportunity to help people with special needs to become Web Developers.
As I mentioned, I was furloughed, and I was bored. However, Red Badger allowed us to help or work in other enterprises while we were waiting to return to work.
So, I called General Assembly to see if they needed assistance on a course. They told me that they were in discussions with Fundación Adecco in Spain to deliver an immersive programme to people with special needs in Spanish, but couldn't find a team or person that had experience in:
- Instructional design
- Content facilitation in Spanish
- Content facilitation to people with special needs
I ticked the first two requirements and I have a bit of experience on the third one. So I said I wanted to do it, and again, they were crazy enough to hire me and say yes to Fundación Adecco's request.
As part of the discovery phase, we identified the following tasks to perform before and during the programme:
- Adapt the sessions for people with special needs
- Train and recruit the instructional assistant team
- Make the programme OS-agnostic so can run in Ubuntu / macOS / PC (WSL)
- Catch-up with each student fortnightly
- Organise guest lecturers
- Translate an existing set of lessons into Spanish that help students with special needs achieve the following learning objectives:
- Understand programming and computer science fundamentals, as well as software engineering best practices.
- Use version control and collaborative software development with Git and GitHub.
- Develop full-stack applications using Express with Node.js
- Use patterns like model-view-controller (MVC) and Representational State Transfer (REST)
- Safely model and store data in SQL and NoSQL databases.
- Consume and integrate third-party application programming interfaces (APIs) in an application
- Develop front-end web applications with React.
- Deploy applications to the web via cloud-based hosting.
I had students spread all around Spain, three with autism, two visually impaired, four with learning disabilities, one with just 30% of their full hearing capability and the rest with different physical skills/needs. Of the 27 students who started the course, only 15 made it to the end.
In 12 weeks they developed 4 projects:
- A game in vanilla JS, HTML and CSS
- A React app consuming 2 APIs
- A MERN (Mongo, Express, React, Node) stack app
- A PERN (Postgresql, Express, React, Node) stack app
15 new developers with special needs. A very proud instructor and proof that this kind of programme can work with people with special needs
Some quotes from them:
I hardly even knew what HTML was, and now I can consider myself a full-stack developer in continuous learning. In less than 3 months! I am very satisfied and proud of my achievement, it has given me the motivation to open up a professional future that I can develop despite my motor difficulties.
I am good at this, feeling confident. I can learn fast and adapt to new content. I have the feeling that I could work on any project or idea and make it real.
Don't let frustration get the best of you.
Even when you think that you are useless or that you have forgotten everything, (remember) emotions outweigh knowledge.
You can always find the solution in google or ask for help but if you have a fresh head you will be much more effective than if you overcome the negative feelings that the constant mistakes of this work produce.
Programming can be a therapeutic medium of self-expression for people with mental health conditions
Approaching coding problems and solving them in different ways has been a lesson that they can apply to the real world.
They have started to use programming jargon to express feelings and experiences that they couldn't articulate before. e.g: "I am in a while loop and I don't know which boolean parameter to change to break it."
Having the opportunity with homework and projects to immerse themselves and then feel proud of the outcome is something that most of them expressed they have needed for a long time.
I saw that people with Asperger's can improve their anxiety about environmental changes
We taught error-driven programming, and at the beginning, they got very anxious about errors. Yet with practice, by being calm and trying to follow the error message, they learned a skill that they can also apply to the real world.
How disabilities can be superpowers
We had two students who had difficulties with their manual dexterity. It wasn't easy for them to type on a keyboard, so they took their time to just think about what would be the best code to type, instead of just typing and seeing.
This approach made them very thoughtful members of the group, and they showed the rest of us how the economy of keystrokes can make an impact on how we developed software.
Witnessing a valuable and unique worldview
Their special circumstances are very difficult for other people to see, so I learnt how valuable it is to have their input in the products we built, so we can have more human-centric solutions.
I witnessed and confirmed that we all need an opportunity to prove ourselves
Unfortunately, there are not many jobs and education opportunities for people with disabilities. It was incredible to see how meaningful the impact can be for people when you give them the opportunity.
The experience I had couldn't be possible without the amazing support I receive from Red Badger, with special mention to Stu, Laura, Sinem and Abi for being our guest lecturers on programming, delivery and all things UX respectively. Also, without the prompt response from Tim to allow me to make this happen.