this post was submitted on 19 Jul 2023
24 points (96.2% liked)

Learn Programming

1615 readers
2 users here now

Posting Etiquette

  1. Ask the main part of your question in the title. This should be concise but informative.

  2. Provide everything up front. Don't make people fish for more details in the comments. Provide background information and examples.

  3. Be present for follow up questions. Don't ask for help and run away. Stick around to answer questions and provide more details.

  4. Ask about the problem you're trying to solve. Don't focus too much on debugging your exact solution, as you may be going down the wrong path. Include as much information as you can about what you ultimately are trying to achieve. See more on this here: https://xyproblem.info/

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 2 years ago
MODERATORS
 

How do I trick my brain into completing a project? I'm making an app that shows which voice actor plays a character in the movie and what other movies they act in. It's useful for me personally so the internal motivation is here but sometimes I feel like I'm making something that's been done numerous times over and I lost the momentum because I'm on vacation with my family now.

I ran into some problems with the project too and getting help takes a ton of time so it's disrupting the rythm too. I wish I didn't have to rely on other people so much but the documentations don't answer all of my questions. I really have to put at least 2-3 projects like this for a portfolio;_; halp

top 19 comments
sorted by: hot top controversial new old
[–] nibblebit@programming.dev 11 points 1 year ago (2 children)
  1. You need as many environmental reminders that you are doing work as possible:
  • dedicated work place where you don't game or browse or do chores and taxes on.
  • dedicated work time where you are allowed to do work.
  • dedicated non-work time where you won't work and don't get to feel bad about not working on the project and avoiding negative emotions associated with the work.
  • I have a dedicated work shirt only worn while at work
  • figure out your attention sinks: music/podcasts/YouTube w/e and apply them strategically to signal that you are or are not working
  1. Plan. Identify as many tasks as possible ahead of time and figure out what is motivational an demotivational. Motivation takes a nosedive once the low hanging fruit runs out.
  • make sure to front-load the boring stuff and keep motivated by anticipating the fun stuff later. Please, Start out with the tests. TDD is a hack for ADD
  • Ration your creative sessions. Once you feel you are plateauing force yourself create some novelty in the project.
  1. Want and grit. At some point you'll have to grit it out. You have to make it clear to your brain that you want it. Make it personal. Want it not the way you want to have a cookie after dinner, want it the way you want to breathe. Don't even want the project, but want to prove to your brain that you are a rare capable human, able to start and finish a creative endeavour independently.

  2. Make work time scarce and urgent. Having a child has done wonders for my creative output. I used to splurge 6 hour sessions kinda working on something..now I get maybe 40 minutes a day. An hour if I'm creative about it. But heck, does that hour get applied like nobody's business.

Hope this helps, best of luck!

[–] ndotb@programming.dev 3 points 1 year ago

I have a dedicated work shirt only worn while at work

This is a good one that often goes unspoken. It enforces role play.

[–] Krzak 2 points 1 year ago

These are all very useful, thank you! The sense of urgency is definitely there, I'm trying to do things before my meds wear of. That's a part of the reason why waiting for help is so difficult for me

[–] HParker@programming.dev 8 points 1 year ago (2 children)

My trick is to rotate subprojects so I am always procrastinating something.

You still have to eventually finish the last subproject, but even that might be procrastinating on something for your next project.

[–] Krzak 3 points 1 year ago

Heh that's clever. I haven't come up with another project yet thoughhh

[–] sirdorius@programming.dev 2 points 1 year ago

I always liked this idea, but I find it hard to context switch between multiple projects. I am going to do way more if I stick to a single project for a week or two than if I'm constantly switching between them.

[–] ndotb@programming.dev 5 points 1 year ago (1 children)

I had to learn to be my own PM and do the whole task grooming bit. Checking things off gamified the process.

[–] Krzak 2 points 1 year ago (1 children)

True, although it's very difficult to plan things when you don't know what's to be done;_;

[–] ndotb@programming.dev 2 points 1 year ago (1 children)

It's a lot easier than I initially thought: just write down a high-level, abstract sentence fragment of what needs to be done. Get it off your chest and put it in ink (or pixels?). Then ask yourself: how can I split this into two parts? Rinse and repeat.

The initial limiter for me was anxiety and fear about it. Once I got into the habit, the limiter was avoiding hyperfocus and micromanaging myself in the project plan. I try not to break things down beyond 1-2 hour tasks.

[–] Krzak 2 points 1 year ago

I'm doing this and it really helps. For me the main problem here is that I don't know all the pieces and time estimates are weird too. I guess it comes with practice but it's a pain in the ass :P

[–] apd@programming.dev 5 points 1 year ago (1 children)

I take ADHD medicine (Vyvanse). I only started a year or so but it's been helpful.

[–] Krzak 4 points 1 year ago

I have my own meds and they're a huge help but there still are some things that they didn't solve but thats okay

[–] sirdorius@programming.dev 4 points 1 year ago (1 children)

Something that helps me is actually taking a small break from the project. Not too much, but just a day or two of relaxing and then coming back to it with a clearer mind. Taking a long break does break momentum, and I struggle with that as well.

Also keeping a list of atomic tasks to do and then checking them off motivates my lizard brain. Nothing fancy, even a simple TODO.md and I can pick tasks from it that I want. If I'm not really in the mood I will pick a small and simple task. That might get me started and push me into doing something bigger.

[–] Krzak 1 points 1 year ago (1 children)

I'm breaking the tasks down whenever I can and it really helps. This time it's different because most od the time I don't know the details, only find out as I go. That's the trouble with being a beginner

[–] sirdorius@programming.dev 4 points 1 year ago (1 children)

Don't worry, it doesn't get much better even with years of experience! Just write down broad tasks and you will fill in the details as you go. If you can't describe the task, try to describe what the expected outcome is and start from there.

[–] Krzak 1 points 1 year ago

Oww too bad x( I thought it won't stay like this. I'll try the method though.

[–] ericjmorey@programming.dev 2 points 1 year ago (1 children)

This post created a great discussion. Thanks for getting it started.

[–] Krzak 2 points 1 year ago* (last edited 1 year ago)

Thanks! Through these 4 months I haven't found out anything, I got a temporary job as well so I haven't had much of free time either.

One thing I saw is splitting the task even smaller than the usual. Things like"I'll just open the document/ write one line and see how I feel" which might work sometimes.

I was concerned about doing the thing that's already been done by other people but it dawned on me that when I cook (I love cooking), I'm doing the same thing. Using a recipe shared by hundreds of people, yet it's still fun and has a personal touch. That one was really helpful.

It's my las month at the job so I'll be able to get back to coding soon and test the findings.