loading...

How Dyslexia helped me become a programmer

rapidnerd profile image George Marr ・5 min read

Ever since I was young I knew there was an issue with my reading and spelling, but never knew what it was specifically. It wasn't until Year 8 (Junior year in America) that I got tested, and that's when they told me I had this annoying thing called Dyslexia.

At a very young age I knew that the career path I'd want to go into is technology based, I liked doing hardware but was more interested in writing code. But the dyslexia kicked in, I couldn't remember things easily, I couldn't spell correctly and worst of all I got a lot of things mixed up. After learning the basics of batch I moved onto to learning Java, this is where it began taking a toll on me badly. I found that learning the syntax was fine, I could remember it easily. However when it came to remembering definitions, different uses of data types, how to write clean code, standard library usages, it went in one ear and dived out the other.

Because at the time it was summer break for me I set myself goals, I wanted to become fluent enough that I could make basic pixel art games, nothing too crazy just to the point where it works and doesn't set my CPU on fire with my terrible code base. But I found that even after following tutorials and doing the same thing multiple times in an attempt to remember it that It still wouldn't stick. I had written this script at leat 12 times before

 public void keyPressed(KeyEvent e) {
        int key = e.getKeyCode();
        for (int i = 0; i < handler.object.size(); i++) {
            GameObject tempObject = handler.object.get(i);
            if (tempObject.getId() == ID.Player) {
                if (key == KeyEvent.VK_W) {
                    tempObject.setVelY(-5);
                    keyDown[0] = true;
                }
                if (key == KeyEvent.VK_S) {
                    tempObject.setVelY(5);
                    keyDown[1] = true;
                }
                if (key == KeyEvent.VK_D) {
                    tempObject.setVelY(5);
                    keyDown[2] = true;
                }
                if (key == KeyEvent.VK_A) {
                    tempObject.setVelY(-5);
                    keyDown[3] = true;
                }

            }
        }
        if (key == KeyEvent.VK_ESCAPE) System.exit(1);
    }
/***
* a basic event that listenes for a key event, when it is pressed it will
* move the player around to the coordinates depending on the press, also 
* assigns a boolean value for some reason that I can't remember.
***/

Not impressive but for me it was a learning curv. I used it from a tutorial in my own game, you'd think after writing it so much that the usage and concept of it would stick in my mind. Nope. Couldn't remember a thing. That's when I went back to the help department and asked the people at my school if this was usual. They said with my form of dyslexia that having issues remembering things is common, especially if they're complex.

This had a down pour on me, put me in many bad moods and almost made me give up. I had been working hard to remember and learn so much from programming but because of one condition I knew it could be a pain to make it stick. For two months I gave up, I watched my friends at the time succeed in their learning experiences, making whatever they pleased while I just sat there wishing that what was inside of my head would go away.

It wasn't until my friend Jack came to me and asked what I had worked on recently, that's when I told him that I had given up because I was forgetting things and told him what conditions I had. After about an hour of talking he told me he has the same as me, and that giving up is not the way to go. Later that week I went over to his home and was shocked what I saw. He had a pile of notes all over his desk, stuck to his monitors, his tower even his chair. I think at one point his cat was chewing them. But he had a format, a format that he used to remember the important information he needed. Taking home an example I tried it, with the code above I used the format to write out it in the boxes designated.

Within two days I had remembered the code through the format, the colour coding, the assignment of objects and numbers gave me a great idea of how I could remember all the important information. Although it can't be used for every piece of code written it was great that I finally had a way to remember.

Thank you, Jack!!!

Couple of months go by and I find that this format is working like a dream for me, I'm remembering more than I ever could and having a tremendous amount of fun making the random crap I did during the learning curves. And I had a notebook that look like a rainbow when you skipped through it.

And now I face a new problem. MATHS!

Ask anyone I know my maths is terrible, I can do basic maths but when it comes to algebra, trigonometry and calculus (even though we're not taught that in the UK) I can get incredibly stuck. Speaking to the department at school they taught me a similar trick to the one of remembering. By assigning a different colour to every aspect of the equation and mixing them two colours together makes the output. So for example if I had green for the first number, then + then have red for the second number it would output be yellow. I found that having simple memory tricks to remember formulas, equations and general information I needed to remember would benefit me greately and other programmers with dyslexia. It's not just colours, shapes, and other entities can help greately.

Advice for anyone thinking they have dyslexia or have it.

1: If you think you have it but haven't been diagnosed go get it checked.

For years I went around my normal, school and social life thinking that something was wrong with me, thinking that my mind is not normal. Having a proper diagnosis from a professional certainly took a massive load off my shoulders.

2: It's okay to have weird ways of remembering things.

Everyone remembers important information differently, some write it down, some keep saying/writing it until its stuck in their head forever. In one case a former colleague of mine had it tattooed on him. As long as you have a method of remembering it then that's the main thing.

3: It doesn't make you a bad programmer.

One of the thoughts I had rushing through my mind was that because of one condition I would never amount to anything good in my career, while I still have a long way to go before I find myself in a place I'll ultimately be happy with. Having dyslexia may of ruined my mindset for a while, and prevented me from getting further but I belive it has helped me grow stronger, and helped me greatly in the programming world.

4: If you're in some form of education use any resources provided.

Throughout all of the resources I've been provided in education establishements (even today at university) it has greatly helped me improve every aspect of my work and educational life, obviously every place is going to be different but the techniques given are a great help. And most the time its free or covered by someone else.

While today Dyslexia, Dyscalculia and Dyspraxia are still a major part of my life I don't see them as an issue or a disablity, I see them as something that is in me that is making me stronger.

Some resources to help & learn regarding dyslexia:
Dyslexia help & support
Dyslexia foundation
NHS Dyslexia management

Posted on by:

rapidnerd profile

George Marr

@rapidnerd

My curiosity is easily stimulated

Discussion

markdown guide
 

Wow... I never thought I'd read a post I relate so much with... Keeping my dyslexia to myself so my mates won't see me as dumb... Couldn't read or spell till I was about 12... Thanks for sharing your story

 

Can preach to this, as much as it hurts to do its what we end up doing. Hope you're doing better now!

 

I am getting better... Learning to code helped me fight it even better even though it makes learning to code hard but constantly trying is really paying of

Don't get bogged down in the details of one language. They are all the same. They all have assignment, math[s] operators, conditional, loops, and functions. They key to programming is to visualize the moving parts in a language independent way, like in an old school flow chart or as legos. Then you write a description of the parts and connectors in human language. Finally you convert that essay into code. And if you don't exactly remember how a particular language specific graphics or string manipulation or socket function works. Then you pull out the documentation or just Google it. Know what you want to do and what questions to ask is more important than knowing what the order of the parameters for a socket select function are. Or event knowing how to create that socket in the first place.

Reading this and your other post has really helped me take a different look towards Dyslexia. When I was first diagnosed my initial thought was "Aw fuck who's going to want to hire a programmer who can barely spell" but hearing your story, your outlook on the condition has just brought like to the fact that yes it's shit but we learn to make the best of it and the best of our careers and the fact that just because we have this that we shouldn't be putting ourselves down or be looked at differently.

Thank you for writing this. It truly means a lot and is a beautiful post.

 

Thanks for the post!

1: If you think you have it but haven't been diagnosed go get it checked.

I've had the somewhat frustrating lifetime experience of having some kind of issues and it could have to do with possible dyslexia. But I'm really just not sure. A weird brain is all I know. I've never been officially tested and I would like to. Thank you for the reminder.

 

Certainly worth getting it checked, even if its nothing well worth it. Best of luck with it!

 
 

I suspect I have dyspraxia but it is not well known in the US so I haven't been formally diagnosed. I might have some dyslexia and dyscalculia as well, hard to know since I was homeschooled and once you're an adult it can be challenging to access diagnostics. I think a lot of people find the way I work "weird" or even "infuriating" but it works for me. I think an advantage is I'm a lot more careful with my work, I can't take things for granted. When I first heard of Test Driven Development I adopted it immediately because it is an extra layer of protection from myself. Other people need it too...I just need it the most 😂.

The most challenging things for me job-wise are probably white boarding and pair programming. I don't really work out things the same way as most people.

 

It seems like dyspraxia is a realitvely new term in the UK as well with only recently being diagnosed as a condition. I have a friend in the US that was diagnosed with dyspraxia after he came out of school, he shared the same issue as you trying to get a diagnosis. He recommended this site that has some great information and help on the condition.

A lot of people often find my methods of working to be weird, annoying or just dumb and often have to explain to people why I do X in X way instead of their ways. At the end of the day if it works for you then that's the main thing.

If you do get tested I wish you the best of luck!

 

Nice post, very inspiring! I don't have dyslexia and I still can't remember that piece of code, not in a way that would allow me to write it myself from scratch. In fact, I copy paste most of times from stack overflow things that require a certain, more obscure syntax. The only things I do remember correctly are certain function names from certain libraries. That's kinda it really. We're not machines, we aren't supposed to remember code too well.

 

I agree, I can never remember methods line by line or word by word, my main issue was remembering how they would work and the structure I used to outline them. Generally once you've used a method so many times you can write it freely without having to look at a resource, but that wasn't the case.

 

Oh, I get it now. It's a good thing that programming is more about understanding than memorizing.

 

I'm a tad older than you. I wasn't diagnosed as Dyslexic until I was in college. By then I had been programming for nearly 10 years. I started at age 10 as part of gifted and talented education program. Which I got kicked out of for a while because I couldn't spell or read very well. But my grammar, writing, math (sic. I'm American) and logic abilities were top notch, so I got put back in. Programming languages just came easy to me, because they are basically all the same, just in different word orders or with different decorations. My memory is also amazing as long as the subject is completely useless or computer related. For example: I don't know when my next meeting is, but I know that the largest lake in the world is the Caspian Sea. Thankfully, we now have spell checkers and e-calendars and all sorts of wonderful interweb enabled gadgets, so not remembering the important things really doesn't matter anymore. Which, you would think, should make them easier to remember. Anyway, you should see my desk. I have 4x4 post-its all over my monitors (3 of them). I call them my engrams, little bits of memory stuck where I can see them. I am not ashamed of being Dyslexic. I see it as a super power where words are kryptonite. I don't even say "I have Dyslexia." That "I have" bit makes it sound like a curable disease. It is not a disease and it is not curable. It is a condition of my existence. I am Dyslexic. Just as I am a man, I am an American of mixed Irish, Spanish, Native Mexican, Hungarian, Slovak, and Finnish descent, I am 5'9". You wouldn't say "I have Masculinity" or "I have Average Height Syndrome." or "American Hyper-Admix-osis." No. Embrace your super powers. Can you read backwards, upside down, and out of order all at the same time? Do you go on incredible adventurers looking for the "Parking Barn Tram" only to end up finding "Parker's Tramp Band"? It can be disappointing to discover the sign you thought said "Portable cantaloupe traps" really said "Portable canopies and tarps", but, hey, you had an adventure and a giggle. My "favorite" Dyslexic Super Power is that I am non-handed. It's sort of like being ambidextrous, except instead of being able to use either hand equally well, the non-handed are equally crap with either hand and generally have no sense of direction. It also means I can easily switch driving modes from US to UK, just by sitting in the driver's seat. In genius school we had a word for the kids that were not there with us. We called them "normals". Dyslexia is not a disease or a disorder. It is a state of being that lets you see the world Dyferentli. And what you see is not wrong. Only a wizard, with a couple of blinks of the eye, wave of the hand, and a pirouette, can change "Portable cantaloupe traps" into "Portable canopies and tarps". We're magic. We are Extraordinary. I don't want to be a normal.

 

More than a specific diagnosis, getting the tools that help you are super important important. I was quite fortunate to be diagnosed when I was 9 and have a very supportive school that helped me discover the best ways for me to learn. My memory is the worst but my strength is spacial and since code is (usually) highly structured I always very deliberately build a mental structure of the code. It goes so far as if you gave me one 10,000 line file I would never be able to understand the structure since it is presented linearly, but give me 20 500 line files, or 100 100 line files and I'll do so much better because there is already the basis of a physical tree structure to understand

 

As a fellow dyslexic, who was fortunate enough to be diagnosed early, and gone through similar struggles - I will place strong emphasis on It doesn't make you a bad programmer.

All the best, and keep coding!

Side note : Regarding remembering - for me I trim it down to remembering how to google, and truncate the rest - from then on for exact library functions, etc, it is always searched up.

 

Thank you for posting this!!! I am dyslexic also and I resonate with this!!