Coding with Dyspraxia
As I start writing this blog, I’ve just spent the last hour on a cold November afternoon getting to grips with Saving Instance state in Android.
It was a lot of fun, challenging but fun. After watching the video a couple of times, I’m beginning to get more of a handle on what’s involved. And after testing the result, I’ve seen that the Android Lifecycle saves the “state” of the app when I rotate the screen so even though Android creates a new instance of the app it appears to the user that nothing has changed at all.
After this, I feel empowered. This is why I spend so much time learning about new tech. The feeling of learning and understanding something new is very exciting and I’m at the top of my game.
Then, I move on to something new and I don’t know where the knowledge goes. It’s not that its “gone”, exactly, more like it’s just parked somewhere in my brain that can’t retrieve the information and I feel like I’m back to square one.
I’m Jonathan and I’ve been a Treehouse student and Community Moderator for over 3 years. You may recognize my name from a previous post on the Treehouse blog in which I shared my experience with Dyspraxia. Today, I want to talk to you about the difficulties of learning tech for neurodiverse people like me and a few techniques I use to get over those barriers.
I live in England where 5% – 10% of the UK population are estimated to have Dyspraxia. That’s 3 children in every class of 30. It’s a lifelong brain-based condition that basically means messages in the brain are “muddled” when they try to get to where they need to be. It’s a minor form of brain damage but described as an “immaturity of the way the brain transmits information”. This causes a number of challenges such as problems with movements, tasks, speech, and language and the main problem for me, perception and thought.
Coding with Dyspraxia is a difficult thing indeed. The conundrum I described above with Android is common for me and may well be for others but I feel and live with these issues every day.
Now, I would like to explain what this means for me in terms of coding, the techniques I use to get past my problems and hopefully inspire others who have a similar condition to me.
Dyspraxia is like fog in my mind. I don’t really sit down and type code on the fly in the way I perceive (perhaps wrongly) other coders do. I think methodically, use frameworks where possible and break down projects into stages. In my life, I have always taken each day as it comes.
I need to see code to write it and I spend as much time thinking as I do coding. It doesn’t seem to matter how experienced I become with programming concepts. For example, I have worked with WordPress long enough and have coded the WordPress Loop countless times, but I still don’t remember it from scratch. However, I recognize it when I see it and I know how to implement it.
It’s not about not understanding what I’ve been taught; it’s about what my brain does with the understanding.
Now I do this a lot. I look at a problem before me or a project that I’m about to begin and it seems like the goal is at the top of a massive mountain, followed by the unshakeable thought that I’m not good enough for the job.
When this happens it is because I’m making comparisons to others; Treehouse teachers, students, my peers who are in similar jobs to me. This is a folly and a folly I’m still trying to teach myself to get around. I recently read a tweet from @CodePenHull about a talk by Treehouse alumni Andrew Chalkey and thought: could I learn to do that someday to0? How can I learn to do these things and retain the knowledge do to another similar project? How do people retain their programming knowledge?
I’m very much a visual thinker in this respect. When I’m developing with Sass for example, I like to write out CSS and then convert to Sass rather than go straight into writing Sass. So I’ll prepare a Sass configuration file and break up the code into partial files.
Doing it this way means I can quickly use my CSS knowledge to put something visual into the browser and then I can visualize how the Sass is going to work in my mind. It allows me to take away the blank canvas issue and build the code from lines and lines of CSS to a more professional project.
I also spend a lot of time inspecting elements behind the scenes and even testing new styles via the browsers development tools (my favorite being Chrome DevTools). I would encourage others to do the same.
I try and take the same approach when I’m learning programming.
Some encouragement for you all
Lastly, I want to encourage the rest of you – especially if you have a learning difficulty like Dyslexia or Dyspraxia – who are struggling with your confidence. This post of mine in the Treehouse Community received a lot of positive feedback. In it, I describe the 5 things I remind myself when studying to make myself better at coding: learn to code from memory, keep code snippets, remember concepts, ask for help and take time to practice.
I know I get down at times when I’m trying to learn code and sometimes even wonder why I’m putting myself through it, and I’ll probably go through that cycle again… But if I can keep up my resolve and determination and if I can learn to code, I’m pretty sure you all can too.
I hope this post has been helpful and encouraging. Let me know your thoughts in the comments below!