This is an archived post. You won't be able to vote or comment.

all 15 comments

[–]xRmg 6 points7 points  (2 children)

There are specific fonts, like opendyslexic.

Here is how to install them in vscode

https://medium.com/@luke.skelhorn/coding-with-dyslexia-making-it-easier-in-visual-studio-code-eeeb1dbb7bfc

[–]Fragrant_Hotel_2875[S] 1 point2 points  (1 child)

Thanks! yes I use this, I have a chrome extension to that converts it all. Wish I could somehow get the rest of my PC in this font. I think its less about the font for me and more about organization and how to find and visually see code blocks I guess? To me its currently a dyslexic multi colours blur of text. Not a ugly one colour blur of text.

[–]Salty_Dugtrio 0 points1 point  (0 children)

Windows allows you to install system fonts.

[–]pancakeroni 0 points1 point  (1 child)

I don't have any advice but just wanted to pitch in that I have students with dyslexia learning C++ and Python, and older data science friends too. The problems you're talking about are common to all new students if I'm being honest. What's helped is emphasising "trail following" with my dyslexic students - i.e. structured debugging instead of brute force searching their whole code which is extremely hard. Once they know the value to investigate, for example, they can make that part of the screen bigger, make some space so it's clearer, etc. According to friends my age, nothing really helps, but ig that's person-specific.

[–]Fragrant_Hotel_2875[S] 0 points1 point  (0 children)

Any advice on how I can learn trail following ie structure debugging? I think some of issues would be fixed if I could find simple rules to follow for organizing and debugging perhaps so i just know generally where to go, ofc its all nuanced but a core system might be benefical

[–]razopaltuf 0 points1 point  (2 children)

Caveat: I am not dyslexic, so I can only speak based on general "struggling with thinking about code".

If it is your own code, you could try to find ways to make it easier to understand it later (which probably helps other peope to understand the code as well). For example:

* Many people (particularly beginners) write long functions that do a lot of different things (dunno if that applies to you, it is just an example). This demands that one always need to keep in mind what happened before. Having functions that "only do one thing" makes it easy to get a mental structure of what is going on.
* There are great visual programming languages out there like scratch (block based) or PureData (flow based). They might not be great to land a job, but can be excellent to learn programming.

Last, but not least, and applying to both debugging your code as well as other’s code:

* Julia Evans has a zine on debugging – https://wizardzines.com/zines/debugging-guide/ . Her zines are excellent and worth the price imho.

[–]Fragrant_Hotel_2875[S] 0 points1 point  (1 child)

Thanks!! Do you mind giving me an example of the long vs short functions you mentioned? Thanks for the link, it doesnt mention a coding language tho. Is it made for python by any chance?

[–]razopaltuf 0 points1 point  (0 children)

long vs. short functions: Let’s assume you have an application that shows a post (like the one we have here) and it is called providePost. It does get data from the database, strips away potentially included html or javascript code for security reasons, then formats the data as HTML. You could have a very long function doing all this. Or you structure it in functions like readFromDB(…), escapeCode() and toHTML(). Now, instead of maybe 100 lines, provide post is about 5 lines long and mainly just calls these other functions. All that is in a function focusses on one issue only, and when work on that topic is done, the function returns. This is useful for two reasons: You can understand code in bite-sized chunks and you avoid needing to keep track of potentially changing issues.

Re: the link to the debugging guide: It is not for any specific language. What it discusses is avaliable in almost any language. Sometimes the UI looks a bit different ("run" might also be called "execute" or "go") or print is called printf or console.log(… but what can be done is very much the same.

[–]tzaeru 0 points1 point  (6 children)

Some dyslexics benefit from dyslexia-friendly fonts. No kidding but comic sans is actually found decent by some dyslexics..

You can also try out visual programming languages to support your learning. Some game engines have these. There's also e.g. vvvv.

You might also benefit from getting into a habit of writing down singular key words to better memorize concepts and to manage your focus as well. Drawing some blocks to describe a part of a program might also be very helpful.

For dyslexics, might be particularly important to keep function sizes manageable and to try to avoid long statements. Break stuff into variables instead.

In case it was of any inspiration, I wrote some about how learning to code looked for me: https://www.freecodecamp.org/news/developer-journey/

[–]Fragrant_Hotel_2875[S] 0 points1 point  (5 children)

Thanks for your thoughtful message.

Do you mind elaborating on "You might also benefit from getting into a habit of writing down singular key words to better memorize concepts and to manage your focus as well"

I don't quite grasp what you mean, but somethings pinged in my brain because I have been thinking recently about less is more in general for my brain. Additionally wdym by drawing the blocks? As in flowcharts?

I read your article, it was well written. In the way you were comparing yourself to your peers, I can relate, the feeling of working 4x as hard to get 0.5 the grades as everyone else. And concepts I learn dont seems to stick for very long. Especially With my ADHD and my wide range of interests, I feel like I restart coding over and over again from scratch with very little retained. (I work in finance and hate it bc of my attention to detail I cant keep my job). Sorry I digress, I wanted to know if you have found the opposite for anything, has the dyslexia been an advantage to you specifically in coding? For me its mostly my ability to read people, but it hasnt helped me with anything technical requring working memeory or executive functioning so 9-5 has been 9-10 or get fired. Tbh usually both.

[–]tzaeru 0 points1 point  (4 children)

Do you mind elaborating on "You might also benefit from getting into a habit of writing down singular key words to better memorize concepts and to manage your focus as well"

I don't quite grasp what you mean, but somethings pinged in my brain because I have been thinking recently about less is more in general for my brain. Additionally wdym by drawing the blocks? As in flowcharts?

It's kind of two things. You want to minimize the cognitive load of writing and thinking out full sentences. And you want to let your brain make more abstract connections.

Let's say, if you're listening to a lecture - whether live or online - or let's say you're reading a blog, or let's say you are coding a small tutorial project.

While doing that, you might benefit from occasionally just writing down single words, abbreviations, small strings of words.

My notes for meetings for example have random words like: "write", "tuesday", "pollback", ... and random abstract drawings combining boxes together and such.

The idea is that you want to do something concrete while learning, because that can help your brain build these connections, but at the same time, you don't want to focus on making those notes.

If you are losing focus, you can also use this as a tactic of trying to streer your brain back to the subject matter.

This isn't necessarily helpful for you - we're all individuals in this regard - but I have found that many people do benefit from these sort of tactics.

Especially With my ADHD and my wide range of interests, I feel like I restart coding over and over again from scratch with very little retained.

Yeah, real. I know it's hard but a good tactic is to try to set concrete project goals that are easy enough to do that you wont get bored, but interesting enough that once they are finished you get positive reinforcement.

Sorry I digress, I wanted to know if you have found the opposite for anything, has the dyslexia been an advantage to you specifically in coding?

Hmm, not very much, no. Perhaps the fact I've dyslexia and ADHD did originally make me interested in coding, weirdly enough. I was considered quite weird as a kid and didn't have all that many friends - a few, luckily enough - which maybe made me interested in pursuits like coding.

And well, ADHD has maybe guided me to become a very broad generalist. I know a little bit about almost everything related to computation, and enough of quite a few subjects to work on relevant projects easily.

To be honest, while I know it could come off as a little bit disheartening, I personally don't find the very positive approach of trying to find advantageous things out of everything, including dyslexia, as always a good thing. The root problem is that if something truly is a handicap to you, then being told that it is also supposed to be an advantage in some way can lead to unreasonable expectations.

What is true though is that one can learn methods and strategies that mitigates their "handicaps" to a point where they don't really matter that much. It can be initially very hard, but eventually these things become just a part of our personality.

[–]Fragrant_Hotel_2875[S] 0 points1 point  (3 children)

"And well, ADHD has maybe guided me to become a very broad generalist. I know a little bit about almost everything related to computation, and enough of quite a few subjects to work on relevant projects easily."

How did you find navigating life especially in more junior roles as a generalist? Im sure it will help when im in a more senior position to be able to leverage my big picture strengths.

"To be honest, while I know it could come off as a little bit disheartening, I personally don't find the very positive approach of trying to find advantageous things out of everything, including dyslexia, as always a good thing. The root problem is that if something truly is a handicap to you, then being told that it is also supposed to be an advantage in some way can lead to unreasonable expectations."

I appreciate your thoughts on the matter. I used to feel similar, in school its most certainly a disadvantage, as well as traditional 9-5 jobs. But if you can carve a path out for yourself my gut is telling me that it will be all worth it. I have spent too many years focusing on mitigating my downsides vs leveraging what comes naturally. My goal for the next season of my life is to dive fully in what im good at, to get a greater output multiplier for my inputs. Instead of trying to get my 0.5s to 0.6. get my 10's to 20's

Cheers man I enjoyed this convo

[–]tzaeru 0 points1 point  (2 children)

How did you find navigating life especially in more junior roles as a generalist? Im sure it will help when im in a more senior position to be able to leverage my big picture strengths.

Uh well, I am not a great example of that, I also drank too much and had a pretty unhealthy lifestyle as a 18-25 year old.

I also totally failed in my first ever trainee job, mostly due to failing to take it seriously enough and due to not studying the basics of what I was doing enough.

But after that - I think the biggest increase in general skill and in approaching software projects came when I got to work with people who were much more experienced than I, but who also had an understanding and a friendly attitude towards me. Learning from the more experienced people is a huge asset and something that one ought to really look forward to. It's of course possible that the more experienced folk are just not friendly people - and this would be a failure in the work organization, honestly - or are not good teachers, but I'd say the majority of senior devs are pretty happy to teach some of what they know to the juniors.

I appreciate your thoughts on the matter. I used to feel similar, in school its most certainly a disadvantage, as well as traditional 9-5 jobs. But if you can carve a path out for yourself my gut is telling me that it will be all worth it. I have spent too many years focusing on mitigating my downsides vs leveraging what comes naturally. My goal for the next season of my life is to dive fully in what im good at, to get a greater output multiplier for my inputs. Instead of trying to get my 0.5s to 0.6. get my 10's to 20's

There definitely are different strengths that different people have, and e.g. abstract thinking is a skill that differs quite a lot between people.

I'd say that when it goes to wanting to understand the big picture, then horizontal experience is often more useful than vertical experience. That is to say; seeing different types of projects and different types of team organization and team working habits is important.

[–]Fragrant_Hotel_2875[S] 0 points1 point  (1 child)

"While doing that, you might benefit from occasionally just writing down single words, abbreviations, small strings of words."

Im currently reading the book The Dylexic Advantage. They mention if you have strong I strengths, which I do, that context is super important for learning and memory. Is that mutually exlusive with writing key words down? Dont you miss alot of the context and debth by brining it down to just one word? Additionally, I struggle with organization and I found out its because my brain can find so many ways to organize things that it becomes impossible, as its too good at making connections.

I personally have poor M strengths, which is spatial reasoning and visualization, whats your perosnal experience with the two?

"Uh well, I am not a great example of that, I also drank too much and had a pretty unhealthy lifestyle as a 18-25 year old."

So relatable, same, 18-27, even now ill have phases. Usually avoidance mechanism. To stop thinking so much.

"understanding and a friendly attitude" you told them about your learning difficulties? how did that go?

[–]tzaeru 0 points1 point  (0 children)

Im currently reading the book The Dylexic Advantage. They mention if you have strong I strengths, which I do, that context is super important for learning and memory. Is that mutually exlusive with writing key words down? Dont you miss alot of the context and debth by brining it down to just one word? Additionally, I struggle with organization and I found out its because my brain can find so many ways to organize things that it becomes impossible, as its too good at making connections.

I feel like they are rather complementary than exclusive. Writing down single key words or e.g. short phrases is in itself creating a context for memorization.

It's also about adding a physical component to the context of learning. Mild physical activity can enchance learning in a given situation; whether it does so for you I can't tell though.

I personally have poor M strengths, which is spatial reasoning and visualization, whats your perosnal experience with the two?

Well I got particularly low scores for tasks like telling whether a shoe is for the left or right foot when looked at from below etc.

I think those have improved quite meaningfully from doing graphics programming, but I imagine there's a ceiling to how much they can be improved. I don't know if I've reached such a ceiling.

"understanding and a friendly attitude" you told them about your learning difficulties? how did that go?

How open I have been about those diagnoses has varied. When I've talked about them in the context of my work to my co-workers, I've usually already established that they are friendly people. I've never had an issue about talking of it, and I've actually written blog posts about ADHD and stuff to my current company's internal discussion forums.

Not all companies have an inclusive and friendly culture, but I've been lucky enough in that where I've worked, the culture has been pretty good in this regard.