I gave up my job as a house painter to become an app developer - this is my journey!

So I have enough money to last a year. Realistically I’m still going to have to work part time painting. I’m so done with it though!

I have bean playing with programming for 20 years or so and have never mastered any language. The difficultly has bean learning how to learn. Reading and taking notes doesn’t work. It doesn’t go in.

I’m excited to have discovered space repetition with flash cards. At last a system of learning that works! I have found that, for it to work I have to make it, make me get my hands dirty and to get stuck in. For example:

What does this do: %{numbers | one: “one”}

isn’t as powerful as :

Update the map numbers (below) so the element with key :one is “one”
numbers = %{one: 1, two: 2, three: 3}

I just want to briefly enplane how my brain seams different to others. Most of us have peripheral and a point of focus and with all the senses too. Imagine have to do all your studying and coding with just your peripheral! I think that’s how it is for me. There is a focus but it’s week. Add to this, I have very little working memory. I think I have a good CPU buy my ram is crap! It feels like a double layer of fuckedness: the week focus prevent information going in and once it’s in there almost no working memory to do anything with it!

It’s frustrating as I think i’m intelligent in other ways. My mind seems to be 3D and concurrent and I can look at things from may different angles at different points in space and time.

My next post will be about what I’m learning at the moment and my daily routine.


Corresponding tweet for this thread:

Share link for this tweet.

Sounds like you’re about to embark on an incredible journey Tommy!

I am a self taught programmer too and it is such a nice feeling of accomplishment when you finally get that first project out.

Good luck and I am looking forward to seeing your updates in your journal :+1:


Thanks you. I like the style of your site. Do you ever feels there is too much to learn and to keep on top of?

I’m loving learning at the moment. Today has been a good day where things have clicked in place. I tend to permanentize how I’m doing. What I mean is, if i’m having a good coding session I thinks, “this is great look at me go, I’m going to be creating lots of cool stuff soon” but if I’m not picking anything up my inner voices is, “What’s the point I can’t get this. I may as well give up”.

I’m still not certain my brain is wired to become a good coder. Time will tell.

1 Like

100% - there always seems to be something to learn or to brush up on… but maybe that’s not a bad thing as it keeps you mentally active (though it can be frustrating too!).

I highly recommend @chrispine’s #book-learn-to-program-third-edition (it’s mentioned in the link I posted above too) - here’s what I said about it in another post. I often recommend that book to people and say you’ll know if you want to be a programmer after reading it! It’s such a motivational book and Chris says all the right things at the right times :+1:

With regards to your ADHD, you might find some of the threads in the #science-technology:health-diet section interesting :smiley: (the book I mention in this post may also be of interest to you).

PS, I edited the title of this thread for you to make it a little shorter… hope that’s ok! :blush:


Grad you changed the title, it was a monster! :rofl:

It’s interesting you mention mental health in regard to ADHD because it brings up the question on whether it’s a neurological disorder or a psychological one. I think for me it’s a psychological disorder because the inability to focus doesn’t seem to be set in stone.

I read the GAPS book…great book! My dad would have a few night terrors per week. He started taking a pre-biotic in the form of resistant starch for another health issue and he never had a night terror again. I find diet has a big effect on my focus and dyslexia. I have a pretty clean diet at the moment.

I saw the book Learn How To Program, when I was on your website. As rubbish as I am at coding I may be a little past it, as I know a lot of the concepts such as DRY, OOP, encapsulation, recursion, closures, collections… but who knows, I’m going to have another look. Does it cover the thinking process?

At the moment my inspiration is the small input/output programs of Linux and how they get glued together through pipes to create larger programs. So for my small projects (they are all small!) , I look to do the same. I’m not sure yet it it’s the best was to go.
What’s your thinking process in creating code?

1 Like

Sounds like a good topic for a thread Tommy!

For apps, I generally I start mapping out things on pen and paper, just so I can visualise how I think everything will work together.

For code (eg functions or methods) I just start typing what comes in to my head just to get a working version, then refine it. (Or comment it out and copy and paste it and work on that one if the original got monstrous).

Ah nice! It’s a fantastic introduction to he microbiome imo!

Re nightmares… I used to get them and they stopped… when I cut out Nutella!!! Started eating it again and then they returned! :rofl:

I am very strict with my diet now :cut_of_meat: :grin:

1 Like

My favorite topic now as I speed towards the big 5 0h. I’ve been trying to figure it out for a couple of years now. Read quite a few books around the topic: for example Thinking Fast & Slow & Lateral Thinking. I didn’t get much out of them though. I would suggest Cal Newports’s Deep Work even though it is not strictly about learning. It’s accessible and has some handy tips. Two that I have taken onboard being:

  • setting a hard deadline
  • timebox your (learning) sessions, I do 25mins

Manning has an interesting MEAP right now The Programmers Brain which does go into how memory works. I’m hoping this book will be an interesting resource around this topic.

TDD is your man. Test Driven Development. Don’t let the Test part fool you, It’s not just about testing your code, in fact I use this technique principally for code designing. So the test part comes free in the end. Also, having tests makes you super-brave to break code and be adventurous which helps you learn. Win Win !

1 Like

Thanks, looks interesting, I may get it.

I have notice that hard deadlines can sharpen the mind. Do you ever find that the pressure can take away from the enjoyment?
I hate working to deadlines but when forced to, I can end up enjoying the buzz of the challenge, even I grumble at first. You have got me thinking: when learning I’m not turned on (so to speak!), I’m lacklustre. Maybe even sitting up straight may be a start!

Now this looks very interesting! I’m going to look more into it after this post.

I have for a while now, suspected that TDD could aid in learning to code. I’m thinking it can act as documentation as well as focusing the mind and of course test the code!

Lots to think about, Thank you.

1 Like

This is going to be a bit of a brain dump.

It’s really hitting me now, how much of a learning disability I have. At what point to do I say to myself “stop kidding yourself, your not cut out for this, go back to painting”. Some people say never give up but some people will give honest and brutal feedback and say , “Give up you’ll never make it in this industry”. X factor comes to mind.

At the moment, with my learning as it is, I don’t think It will work for me. The hope is that I’ll find a learning methodology that works. As I have mentioned Space repetition seems to get the info in to my head. I expect I have to do more repetitions than most but I get there.

I bought How to Develop a Brilliant Memory Week by Week: 50 Proven Ways to Enhance Your Memory: 50 Proven Ways to Enhance Your Memory Skills by eight times World Memory Champion, Dominic O’Brien. I was excited to learn that he has ADD and dyslexia! The book has giving me hope, paricually seaing the methods work for me. Within hours of reading to book I was able to remember list of 10 - 20 numbers and letters. I also learned the NAT0 phonetic alphabet.

I went shopping and was able to remember 10 items on my shopping list by placing the items on my body (in my mind). The funny thing is I can still remember this list.
I was balancing tins of beans on my head, soya milk on my shoulders.
The birds where trying to pluck walnuts out of my eyes.
I was stuffing shredded red cabbage up my nose.
Each time I shook my head, pumpkin seeds pored out my ears.
In my mouth I was smocking a carrot.
I was decanting oats out of my nipples.
My knob was on fire because I had got pepper on it and I was kicking a not pad around the shop!

It may sound like I’m on drugs but it works!

I have been racking my brain on how to apply the techniques to code. I considered visualising functions as one of those kids retro toy robot and feeding it data to get an output but then it got more complicated: how to visualise a string or a list. What about when passing in a another function and what about that functions input and out put!

I’m now working on visualisations where I am the data and I visualise my journey though a system as it alters me and also my data friends.

So a lot of experimentation at the moment.

What would be ideal, maybe some kind of VR where the code becomes a 3D world that can be walked through, touched and altered from within.

One thing I need to remind myself, is why should it be easy.

What memory and or learning techniques have your developed in relation to code?

1 Like

… I forgot to mention Make It Stick . I have the urge to re-read it again soon.

When it comes to learning code I would start with

  • the syntax of the language and it’s main features
  • hands on practice, do home projects
  • learn the basics of Git and use github (or bitbucket) to keep your projects

And then there are open source projects. Many many people say that getting involved in an open source project is a great way to learn and improve your coding skills. I think the trick there is to find one of interest.

1 Like

@Tommy - have a look at hackerrank, there might be something of interest for you there. It’s free to register and there’s lots of code problems of different levels, skills and languages. There’s also interview preparation and coding tutorials.

1 Like