8
14 Comments

Strange motivations

Why is it that I believe I can only accomplish good coding work if it comes in a twelve-hour, uninterrupted stretch? In my head, every session has to be a hackathon or there's no point.

I can get a lot of quality work done in an hour here, an hour there. But I'll wait until I have a full free day completely devoted to coding.

Does anybody else experience this strange urge to resist "a little" coding work.

  1. 7

    Whoa, so first off, I'm from Tampa originally (in ATX now), @jwd2a is in the area as well (talk among yourselves ;)

    Did want to chime in on this though, cause I'm had many conversations about this with folks over the years.

    So when I started out developing, I used to do these marathon stretches like you're referring to. No offense meant by this statement, but for me, that was due to my own lack of experience.

    I honestly couldn't get shit done unless I put in way more time than I would do now. I would make a ton of rookie mistakes because I just didn't know any better.

    Being a young single guy at the time, it was easy to dedicate Friday night through Monday morning as a solid block of time to work, and would avoid doing smaller nightly tasks (as I do now).

    Over the years though, I found that my ability to GSD in shorter bursts of time improved. I still like to have my ear holes blasted with metal and less distractions, but I am able to hop in for 45-60 minutes and make a huge impact.

    Part of that is my proficiency with the languages I use, but also the experience to know how to approach certain problems and pick the right tasks to work on.

    Picking the right tasks is probably where my ability to pop in and out of coding improved the most. Since I'm quite deliberate in picking tasks, specifically trying to find the tasks with the most impact with the least amount of work.

    If I had to describe my mentality and approach these days, I'd have to say that I'm lazy. I'd even go as far as to say that I'm a bit of a simpleton as well. I refuse to over engineer and am very aware of when I am going down that path, allowing me to right the ship quicker.

    I also hate longer projects, maybe because my time is a bit scarcer these days (married, with a child, job, usual adulting type responsibility) so everything I approach I try to break down into those "little coding" things I know I can accomplish in specific blocks of time, usually "X evenings" for the side hustle and "X days" for the day job stuff.

    Everybody's different though, and I'll say it again, speaking to my own experiences, not judging you or your coding abilities at all :)

    1. 4

      Yeah your points on how skill level can play a role is a great observation, hadn't really thought about it like that before!

      1. 2

        Actually been meaning to write a blog post about it. Definitely feel like there's something to it.

        Kind of goes back to the 10+ year old "over night success" as well. Gotta put in the hard / time consuming work in the early days to seem like you have it all figured out a decade later :P

        1. 2

          Yeah reminds me of something I heard about the worth of your time working. I’m paraphrasing but:

          You’re not getting paid for the job you finished in an hour but for all the time and effort spent getting you to a point where you can do it that efficiently.

          1. 2

            Ah yeah.

            I've heard something similar and I think it was (probably erroneously) attributed to Leonardo da Vinci.

            Gist was somebody asked him to do a drawing, so he doodled something on a napkin and told the guy it was $10k. Dude was like "yeah, but that only took you a minute and didn't take you much effort" and Leo was like "brah, you're paying for my experience that made it so effortless"

            Then hopped into his helicopter and pedaled to the moon. :P

    2. 2

      I suspect that due to your experience, the kind of coding you're doing now no longer requires "deep work".

      1. 3

        Yeah, usually so. At this point a lot of what I do is honestly just muscle memory.

        That's not to say I don't benefit from stints of deep focus / deep work though. If I can get 2-3 hours and actually stay focused my output far exceeds the usual tiny bursts.

        I am also a firm believer of mental background processes for solving problems as well. When I do run into a bigger problem, I'll just write out the problem, write out a handful of solutions, and then just let it marinate in the background for a while.

        /Usually/ I'll wake up a few days later with that "OH SHIT HERE'S THE SOLUTION" moment. I know other folks "dream code" or something similar. I purposefully try to use it to my advantage instead of spinning my wheels throwing a bunch of different solutions at a problem.

    3. 1

      /wave from Tampa
      I've actually met @jwd2a a couple of times, a number of years ago, at Tampa Bay WaVE functions.
      /wave to Justin

      I didn't take your post as a criticism of my 1337 skillz. I related directly to much of what you wrote. I, too, have taken on more "adulting-type responsibility," and can no longer devote full weekends to non-eating, non-blinking marathons of code.

      And I think you're probably onto something with the "lack of experience" notion. If I can be a little defensive, I'll say that I no longer reside in the "lacks experience" camp, but I think my habits were formed there. I wrote this post because this morning, I had about one hour to kill, and forced myself to... just... do something. I walked away stunned at how much I had knocked out, and had to ask myself, "Why do I resist coding in small bursts like these?"

      You're probably right. It's probably because I earnestly couldn't before. And I just have that way of thinking wired into my brain.

      1. 2

        LOL, glad it wasn't taken negatively :) Also small world. Justin's one of my absolute best friends, ever since his sorry butt friended me before he moved and I was like "who the eff are you, and why did you follow me?" lol

        I think it was PG that said that having kids or whatever was a great way to get productive. That whole "scarcity leads to innovation" and what have you.

        I tell ya, could absolutely kick myself for all of the time I wasted when I was younger, but at the same time, it was that time we waste in our youth that allows us to be highly productive later on :boom:

  2. 4

    Sounds very familiar. Context switching takes me a lot of effort. When I'm working on mainly one task, it's a bit easier to be effective in those small stretches, but that's mostly because the task stays lingering in my head. When I've one of those weeks with multiple projects going on, it's a lot harder ...

    1. 2

      Oh, it also matters how rested your are. Sleep is important. Coding at night is great, but the next day much less so :)

  3. 2

    In my case it is more motivating to divide the entire work into really small tasks to close within one hour or less.

    I prefer to use really simple issue tracking like, for example, GitHub issues or BitBucket ones. Having small tasks allows me to take a task even if I have 30 spare minutes of time. After merging pull request I may celebrate it by drinking a cup of coffee, eating some snack or even choosing an other small task, and it keeps my motivation and satisfaction.

    This way I have dozen of task closed every day, my entire project(s) is really moving forward and I have some great satisfactory feeling.

    The hardest part is to divide things into small tasks but it doable fine in process of improving your skills in that.

  4. 2

    Yeah, I definitely get this. I used to be this way too. I always thought that the only way to work was to settle in with a routine for 3+ hours at a time.

    Two things that have helped me overcome this mindset:

    • Just show up for it. I wake up early before work, make some coffee and just plop down in front of the computer to get to work for anywhere between 30 minutes to an hour. It kind of sucks at first but if you keep it up consistently you will eventually find yourself getting things done.

    • Leaving off in the middle of something. I actually heard this tip while writing fiction but I think it applies to anything that you want to be more productive in. Essentially you leave off in the middle of something on purpose so that you know exactly what you're going back to. You can jump right back in where you left off and get to work. Usually starting is the hardest part so this can definitely help!

    1. 1

      Leaving off in the middle of something has also been a long-standing, unfounded fear of mine. I think that harkens back to, again, learning with a lack of experience. My code used to be so messy, I couldn’t leave off or I’d never figure out how to pick up again.

      These days, I take the time to organize and comment. It’s much easier to pick up where I left off.

      All of my fears are out of date. But I still carry them around.

Trending on Indie Hackers
How I Launched My AI Startup with a Warm Email List and Zero Marketing Budget? 27 comments What you can learn from Marc Lou 19 comments Here's how we got our first 200 users 18 comments Software Developers Can Build Beautiful Software 10 comments Reaching $100k MRR Organically in 12 months 8 comments Worst Hire - my lessons 8 comments