Omg I love this
By - thedarklord176
Programming and video games. The only two things I can reliably get excited about over and over, even now at age 37. Programming also gave me a career where (with some pitfalls of course) my adhd is manageable.
Sometimes I wonder where I'd be now if I had been born in another time when this wasn't an option.
You'd probably do fine if you were born ay a time when didn't have to do a desk job but only physical work.
How do you manage it? I would have thought it would be something that's
not suitable for ADD/ ADHD (long periods of concentration, finding small
details/ mistakes etc)
It all depends on how much you like programming. If you don't love it, I'd suggest trying something else.
Long periods of concentration: I don't know how much you know how ADHD works, but it's less about the ability to focus at all than it is about being able to choose on what to focus. Of course that varies from person to person, but you'll find more under they keyword "hyperfocus".
Sometimes I find it impossible to focus on anything. If I get really excited about a project, I find it impossible to focus on anything else. If you're into computer games, and you had ones that you couldn't stop playing until very late at night, you've experienced it before.
The trick is to find a job where you're not judged by how you spend every single hour of the day, while having projects that trigger that hyperfocus state regularly.
Small details / mistakes - I have trouble remembering details, but I can definitely find them and understand them.
It's also easier for me to make new code rather than edit someone else's, because I rely on my own way of organizing stuff. But again, that depends on your job, whether that's an option.
Im so relieved to read this. I don't know if its just the days I come on here, but I feel like alot of this sub is people saying they hate their job and aren't sure if they want to stay in programming. Its had me kind of worried that I'm making a bad career change. I too love video games and can easily get lost in them for hours while it feels like the blink of an eye. I started coding my first crappy little side scroller and its the same feeling. Like it was 330 then all of a sudden 9 and it felt like it had been 5 minutes. It's a feeling I've never experienced at a job and even if when I do get a programming job its only a rare thing I will be pretty happy about it.
Always remember that people have to feel compelled to write something. It's why I'm surprised that anything out there has positive reviews on average. Nobody goes "well this was okay, I better write about it!", especially on an ADHD subreddit where you get to rant about things other people don't really understand.
Programming isn't a magic bullet or anything, but if you love it, it works really well for ADHD. I think that's why this subreddit even exists!
Go team! Welcome to the club. Create some amazing scripts that do the things and accomplish the stuff!
Just be sure to research what employers are mostly hiring for in your area. I know a lot of employers are looking for React experience (Most likely because Facebook, because let's be honest, it's not the best framework to use).
Python is good, but don't forget to get some other skills under your belt while you're in school.
Don't forget to do the things and accomplish the stuff.
>I know a lot of employers are looking for React experience (Most likely because Facebook, because let's be honest, it's not the best framework to use).
I'll bite, react developer here, what's your framework of choice?
If this guy says angular, I'm gonna virtually slap them
I can't believe I said that it's not the best framework to use... I should know better than to comment on things in the middle of the night. I just repeated what I heard from another dev. I have no experience with react. Please forgive me for my ignorance.
I prefer C#. I have the most experience with Java, but recently started having to use Unity to create an application for work and that uses C#. I'm pretty happy with it.
Ha, no worries, I'll badmouth Angular at the drop of a hat, but I've used it on literally one hobby project (but that was enough ;))
I've been using JS for about 10-15 years now and yeah it's come a long way. When I started with it, it was kind of a mess, the norm was messing around with the prototype system directly, overloads for everything, and don't even *think* about classes, this isn't an OO language! Then, the community seemed to transition to "let's create syntactic sugar around OO to force JS into acting like an OO language!" which sucked even more. It seems to have found a happy middle ground now between functional and OO where you have a lot of flexibility to do whatever you want to do, but still, the tooling and environment setup can be a real pain sometimes (ugh, webpack). Node is awesome though.
Can't say I miss PHP MVC frameworks, which is what I was using for web stuff prior to JS exploding, lol. My first job in the industry was writing Java tooling for a big enterprise app based on Eclipse, and to be honest, I'd be glad never to look at a Java program again, but maybe it's also come a long way since then, I don't know :)
Yeah I'm pretty happy with node. I took a class in college where we had to do PHP stuff and it made me want to punch it in the face. And as easy as JSF was to use, I'd be content to never use that again when creating a font end.
We have one application that uses React and I did have to make a small change to it. So I looked up some React resources to get it done, but that's basically all the experience I have with it.
React is in a similar place right now to Unity actually, in a way, where the design paradigm rapidly shifted a while ago, but all the old stuff is still possible for compatibility. So, a bit like Unity, when you're researching what to do in React, half of the documentation/articles/blog posts you find are the "old style" (class based, OO style components), and half of them are the "new style" (pure functional style components), and it's a bit confusing if you're not already familiar with it. You can technically use both in one project, but that's not a great idea outside of a couple of use-cases, and if you're using third party libraries and components, they might still be using the old style too, just to confuse you more.
Disclaimer: I've only used Unity briefly, so the comparison might not make much sense haha. My impression with it was that there were a lot of "legacy" built-in components and packages, and a lot of "experimental" ones that were supposed to replace those legacy parts, and neither were enabled by default, so you had to choose; but it wasn't always very clear which was which, or what was intended to replace what, or how complete it was, or which version an article was referring to, etc.
But yeah, it can be a bit difficult to wrap your head around React, but once you get the basics, it can be really quick to get quite complex frontend stuff working and integrated with your backend. What I've found with the competing JS frameworks, Angular split things into too many files, and it was a maintenance headache, like working with C++ header and implementation files, except there's implementation in all of the files. Vue I've used very very briefly for a work project, a bit like how you worked with React, but it didn't really click with me, some people love it though.
What unity is actually doing is making things into packages that were previously glued to the engine.
With regards to documentation, this means they can move those things outside of the unity documentation and not have to maintain those anymore :v documentation for the packages now suck, and I still have to check old version of the docs from when those things weren't packages.
Yeah, I'm sure in 2-4 years time when (if??) they finally finish that work it'll be killer; but coming from other game engines into Unity right now is incredibly confusing, especially with the documentation issues you mentioned! I feel like on the newer/beta version of the engine they should enable loads more new packages by default so you at least have the intended functionality out of the box and can change it back to legacy or switch it off if you need to. As it is, I get choice paralysis before I've even starting making decisions about the game I'm making lol.
I know exactly what you mean. And you hit it right on the nose with the "old stuff, new stuff". I look something up and I'm like, "well that's how you do it in unity 5. What about now?"
As I work through React stuff I'll keep that in mind.
The field is a magnet for our kind. It's almost a sick joke in a way, but at least we are happy haha.
I was wondering about that. The field suits me well and it makes me wonder about my colleagues. Anybody have data on the portion of programmers w ADHD?
How do you manage it? I would have thought it would be something that's not suitable for ADD/ ADHD (long periods of concentration, finding small details/ mistakes etc)
Programming is one of the things that stays interesting to me, similar to video games. Its like whatever the programming task, its always a game to find a more elegant way to solve the puzzle. Also, there is quick feedback about whether what you are doing is working, unlike so many other fields.
I feel extremely fortunate that hyper-focusing on it has made me good at a skill that society finds valuable.
I struggle with hyperfocusing on it. I can spend all day on it at the expense of self care— eating, sleeping, showering, working on other more important tasks, etc. I can get wrapped up in solving the small details (like how to most elegantly/tersely write a small function or how to eliminate ever last bit of duplication between 2 similar functions) because that is where the dopamine hits are most easily found, instead of looking at the bigger picture.
If you find you want to get into video game programming c++ is one of the most desirable languages.
That’s awesome man! Reminds me of myself when I discovered programming. I love the short feedbacks loop and the problem solving
Change a thing: it either breaks or behaves differently, or doesn't, which means my change isn't running. All 3 things are feedback!
This only applies to systems that already generally work in the first place, that you're modifying.