EEVblog Electronics Community Forum

Products => Computers => Programming => Topic started by: Ampera on August 08, 2019, 03:17:16 am

Title: How do you keep your mind on a project?
Post by: Ampera on August 08, 2019, 03:17:16 am
So I have a problem, something I'd imagine most, if not all programmers have had an issue with, but mine is quite deep. I'm finding it impossible to keep my mind on my projects.

I enjoy programming, I quite do, but it's almost impossible now for me to stare at a text file and /do/ anything for more than five minutes until I get almost restless and annoyed, and I just want to go do something else.
It wasn't always like this either, I used to be able to really put time and energy into a project, and have made incredible progress on stuff in a very short period of time for things like game jams.

This almost completely applies to programming. When I work on hardware or general software/system configuration projects, which I tend to do quite often, I will have boundless attention, to the point where I will put
more time into trying to get things to work than most people would consider even remotely reasonable (I just spent around 6-7 days straight trying to get a FreeBSD installation environment boot over PXE and /still/
don't have it working).

I do know that when I am in an environment where I have absolutely no other distractions, I will end up getting things done, but this isn't particularly easy for me to do. Transportation takes a lot of time, and my portable
gear is not pleasant to work on. (Would you want to program everything on a 14" tablet?).

I do also think that I might be setting some of my projects to be too lofty, but it's also one of the few ways to motivate me in general. If I don't think something is worth doing, I won't end up doing it, and most of the things I
consider worth doing tend to be quite complex and take a lot of time and effort to put into it.

I'm not exactly sure what I'm looking for here, mainly suggestions as to how people have solved this problem, experiences in general to see if I can extract something that works for me. Maybe I should just keep trying to go back
to it and not give up until I get somewhere. Maybe I literally should just work on things in five minute spurts, better than getting no work done at all I suppose.
Title: Re: How do you keep your mind on a project?
Post by: Psi on August 08, 2019, 04:01:36 am
Sometimes i find it easier to get work done on projects when i have less free time.

If i have lots of free time the value of this 'time' is low and i don't get very motivated to get stuff done.
When i have limited free time it seems worth more so i push myself harder automatically.

Maybe you need to do something else to make you want to do the projects.

Title: Re: How do you keep your mind on a project?
Post by: Ampera on August 08, 2019, 04:04:23 am
That makes sense, i just don't have anything else to do, as I have had an insane amount of free time for the past years.
Title: Re: How do you keep your mind on a project?
Post by: Psi on August 08, 2019, 04:29:59 am
Get a boring job you can do in your sleep.

You will feel motivated to do cool stuff
Title: Re: How do you keep your mind on a project?
Post by: SiliconWizard on August 08, 2019, 11:02:51 pm
Not strictly related to software though.
It's a very common problem. I remember we had a whole thread about unfinished projects.

There is no miracle cure, but my point was that getting some external motivation, instead of relying entirely on your internal motivation, helps quite a bit. So for instance if you're working on a project that you know friends or relatives are interested in (or better yet, will use), it definitely helps. If no one is expecting anything out of the project (including yourself quite often!), it's almost impossible to keep focused until completion (unless the project takes very little time to complete). If you think you're expecting something out of it because, well, you want it finished, it just doesn't work. It's circular. It's not expectation. You need to want it finished for a precise reason. Whatever it is. But not just for its own sake.

Usually when you're younger, it matters less, because doing stuff in itself is fun and enough motivation. As you age, the fun in merely doing things decreases, so you need additional motivators.

Short of finding a purpose, as suggested above, another motivator, of course, that partially alleviates the latter problem, is to do something new. You'll get back some initial fun. If you've done programming for ages, you'd need to try something else. Could be analog electronics for a purely software/digital design guy. Could be experimental physics. Could be mechanics. Anything new really.
Title: Re: How do you keep your mind on a project?
Post by: james_s on August 08, 2019, 11:14:52 pm
That makes sense, i just don't have anything else to do, as I have had an insane amount of free time for the past years.

I don't even know what that's like. Even if I didn't have to work I'd still have enough to keep me busy for more hours than are in a day.
Title: Re: How do you keep your mind on a project?
Post by: Psi on August 09, 2019, 06:01:21 am
That makes sense, i just don't have anything else to do, as I have had an insane amount of free time for the past years.

I don't even know what that's like. Even if I didn't have to work I'd still have enough to keep me busy for more hours than are in a day.

It always seems that way while you don't have the time. Ya have lots of enthusiasm to do stuff but no time to do it.
Once you have lots of free time things start out great but over time motivation to do those projects evaporates.
Title: Re: How do you keep your mind on a project?
Post by: Tomorokoshi on August 09, 2019, 05:24:57 pm
One aspect of concentration is being able to get into the "zone", where understanding and productivity are high. Let's say it takes 20 minutes to get there when the conditions are right. However, in a typical corporate cube farm where one can hear typing from 4 rows away, there may be incidental and purposeful interruptions every 10 minutes. Therefore, one never gets into the "zone". Examples of external and internal interruptions leading to priority inversion include:

- Chatter about foolish activities like golf
- Inquiries from the boss about scheduling issues
- Quasi-spam email from the source control or agile task servers
- Questions about some other project from another engineer
- Compulsive checking of email, ebay, etc. on the cell phone

This is covered nicely in "Peopleware: Productive Projects and Teams" by DeMarco and Lister.

The trouble is that solutions to these are difficult. However, getting a start by being able identify the causes is required for any progress.

Productivity is like the weather: everyone talks about it, but nobody does anything about it.
Title: Re: How do you keep your mind on a project?
Post by: Bud on August 09, 2019, 05:59:27 pm
I could not figure out if the OP was talking office/work  environment or personal projects or both. For working in the office the golden rule is:

!! Never take work home. !!
Title: Re: How do you keep your mind on a project?
Post by: ebastler on August 09, 2019, 06:33:05 pm
So I have a problem, something I'd imagine most, if not all programmers have had an issue with, but mine is quite deep. I'm finding it impossible to keep my mind on my projects. [...]

I don't know what to answer without much context. Are you talking about work or hobby proejcts? Is the problem that you can't focus on the project because you have too many distractions (either in your immediate environment while you try to work, or thoughts in the back of your mind about other stuff you have to take care of)? Or do you have long, uninterrupted stretches of time but don't "feel like it" anyway?
Title: Re: How do you keep your mind on a project?
Post by: dietert1 on August 09, 2019, 08:50:23 pm
If you are free to decide what you will work on and you feel guilty of loosing focus to important projects or tasks, i recommend to check whether somebody is doing this to you. My personal experience is there are lots of people in this world who want to keep you from performing. Watch out if somebody is trying to nab you to one direction or the other. I've adopted the habit of turning off sound when ads appear on TV.

Regards, Dieter
Title: Re: How do you keep your mind on a project?
Post by: Ampera on August 09, 2019, 09:10:23 pm
These are all personal projects, and I am unemployed. I have all this free time due to me being a student (sort of). This is why I have a lot of free time.

These suggestions are good though, and even though there's the ones involved in a working environment, I largely agree with them too. My issue is that I have no /need/ to do anything. I have the exact same need to program as I have a need to sit here and do nothing, so I'm trying to think of ways to keep myself more productive.
Title: Re: How do you keep your mind on a project?
Post by: ebastler on August 09, 2019, 09:48:03 pm
My issue is that I have no /need/ to do anything. I have the exact same need to program as I have a need to sit here and do nothing, so I'm trying to think of ways to keep myself more productive.

That sounds like it is getting to the heart of the matter. So, are you genuinely interested in the results of the project? (Be it because you want a program that performs a certain function for you, or because you are curious about how some algorithm works and learning this is the result.) Or do you just feel obliged to do something, because doing nothing and just sitting there is "bad"?

If it's the latter, maybe you should let the projects rest for a while. Read some random books. Go for long walks. Wait until some question comes up where the answer really interests you, or until you have an idea for a program (or hardware gadget) which you really want to try.

Doing projects just out of a guilty conscience is not promising, and in my opinion is likely to make you feel bad about yourself when you don't "perform".
Title: Re: How do you keep your mind on a project?
Post by: Ampera on August 09, 2019, 11:51:21 pm
No I have a genuine interesting in not just advancing my knowledge and experience in what is becoming more and more of a life skill, but in making properly useful and interesting applications.

I believe I have decent ideas, and I don't even have much of a problem organizing them. I don't think I have an issue in being in an eternal pit of, well what comes next. I just have an issue keeping with a project, or doing anything at all.
Title: Re: How do you keep your mind on a project?
Post by: NorthGuy on August 10, 2019, 12:11:09 am
Any project has exciting parts and boring parts. You must do both. When you have to stop doing something exciting and need to switch your mind to something boring, it is really really hard to do. And as you get older, it seems to get harder. But there's no way around this. The boring stuff has to be done. Once you clear your mind of your exciting ideas and commit to the boring work, it gets better, you can do it. Most importantly, you feel great once it's done.
Title: Re: How do you keep your mind on a project?
Post by: Ampera on August 10, 2019, 03:12:10 am
Any project has exciting parts and boring parts. You must do both. When you have to stop doing something exciting and need to switch your mind to something boring, it is really really hard to do. And as you get older, it seems to get harder. But there's no way around this. The boring stuff has to be done. Once you clear your mind of your exciting ideas and commit to the boring work, it gets better, you can do it. Most importantly, you feel great once it's done.

This isn't the boring part, there are the interesting parts, and I enjoy doing them.
Title: Re: How do you keep your mind on a project?
Post by: dnwheeler on August 15, 2019, 09:58:57 pm
Here are a couple of things to try:

1. Play music that you are very familiar with - this will occupy some of the subconscious parts of the brain and let you work.

2. Have an alcoholic drink or two (no more) - this has been shown to calm down the brain and allow you to focus on one thing.
Title: Re: How do you keep your mind on a project?
Post by: magic on August 16, 2019, 06:08:18 am
Code: [Select]
unlink /usr/bin/vim

and build a dummy load or 74AC14 edge generator for relaxation :D
Title: Re: How do you keep your mind on a project?
Post by: Berni on August 16, 2019, 06:46:42 am
This is one of the reasons i don't want to be a programmer.

I think im reasonably good at programming, and i do find it pretty fun sometimes. When i am in the zone for it i can keep typing away for hours non stop, but when things just don't want to work or im fighting a bug that i have absolutely no idea why its happening or i find out i have to rewrite a whole pile of code because i suddenly found out i need it to work in a different way... etc. This quickly chips away at my enthusiasm for it. So i start taking short breaks of something else in between to not let it get to me. Eventually this goes far enough to where i end up mostly watching just youtube videos and messing about on the web all the time rather than actually getting anything done.

One good way to combat this is to have a very testing oriented workflow. Write code that can easily be tested by running it, put extra code in place that aids the testing process and reduces it to as few clicks as possible. Then develop the actual code in small steps at a time, as soon as you have something that could be run go run it and see what it does. This not only protects you from writing 2000 lines of code that ends up not working and you have no idea why, but it also feeds you little psychological rewards regularly. Every time you wrote more code, you run it and it works, then you get a sense of achievement that you did something cool. So since it felt good to get this piece of code working you feel motivated to write the next piece and get that reward again.

Another thing is to not overdo it. Even if you are really enthusiastic for that project don't spend all your free time coding it, you will eventually burn out on it. Do something else every so often. Things like taking a walk are often recommended, but i find that too boring (Even tho it does gives you great time to sort out your ideas on projects), so a good alternative are games. But you have to pick the right kind of games, its best to pick things that have little to no story to them. It should be something you can pick up anytime, play for 15 minutes to an hour and put it down anytime to do something else. Things like racing games, multiplayer shooters, ddr/GuitarHero etc.. but most certainly nothing with any sort of RPG element to the game
Title: Re: How do you keep your mind on a project?
Post by: NorthGuy on August 16, 2019, 02:07:56 pm
... but when ... im fighting a bug that i have absolutely no idea why its happening ...

It's opposite for me. When I'm chasing a bug, I just do it non-stop without interruptions. It's hard for me to stop until the bug is fixed.

Writing something new requires thinking and it is important to finish the thinking before you start typing.

Quote from: Berni link=topic=203133.msg2619132#msg2619132
Write code that can easily be tested by running it, put extra code in place that aids the testing process and reduces it to as few clicks as possible. Then develop the actual code in small steps at a time, as soon as you have something that could be run go run it and see what it does. This not only protects you from writing 2000 lines of code that ends up not working and you have no idea why, but it also feeds you little psychological rewards regularly.

I also program in smallest pieces and recompile/test very often. But for different reasons. It's like picking a lock. If you can pick one digit at a time it's a piece of cake. If you must pick all the digits at once, it's insurmountable.

Title: Re: How do you keep your mind on a project?
Post by: Berni on August 16, 2019, 04:19:26 pm
... but when ... im fighting a bug that i have absolutely no idea why its happening ...
It's opposite for me. When I'm chasing a bug, I just do it non-stop without interruptions. It's hard for me to stop until the bug is fixed.

Writing something new requires thinking and it is important to finish the thinking before you start typing.

Well i don't mean the kind of bug that appeared and you are methodically debugging trough it, slowly getting closer to its source. I mean the sort of bug that suddenly started happening at random. The bug disappears once you turn on some debugging tools, ends up being in connection with some poorly documented hardware and there is also a giant software library in the mix that you don't fully understand. Then once you think you have fixed it somehow it shows up again. These sorts of bugs that originate inside some black box of software or hardware, or evade attempts to methodically track them down. You read trough the documentation for the 10th time and its not behaving the way it says it should behave for whatever reason. Going trough this for a whole day just makes you want the damn bug gone so that you can go do something that's actually productive.

This sort of thing usually happens in bigger projects where there is too much stuff to have a clear overview of everything at once, the problem sometimes compounded that the project is so big because you been working on this for the past month or two straight, so you are sick of the project in general..

Hardware projects have the advantage of being more varied in the form of work you do like schematic design, parts searching, ordering, pcb layout, pcb assembly, testing, debugging, characterizing performance etc. And you are often forced to take pauses because you have to wait for parts to arrive.
Title: Re: How do you keep your mind on a project?
Post by: fourfathom on August 16, 2019, 06:56:02 pm
I could not figure out if the OP was talking office/work  environment or personal projects or both. For working in the office the golden rule is:

!! Never take work home. !!

Back when I was doing product architecture and engineering management, I also did ASIC design in areas where I was the subject matter expert (or close to it).  I used Verilog to do these big designs, which isn't exactly programming, but quite similar.

I found that I did my best Verilog work at home, after the rest of the family had gone to bed.  At work I was constantly being interrupted by my engineers and marketing group, and the hundreds of other things that were a part of my job.  There was no way I could be effective at deep design work in that environment.  So my real thinking was done either during my commute (one hour each way), or between 11PM and 3AM.  When you are juggling a thousand virtual balls in the air and you need to know where each one is at all times, even a momentary interruption can cause them to all crash down.  It can take a long time to get them back in mental order.

And yes, I had to watch myself for the early-warning signals of burnout.  Fortunately by that point I'd had plenty of experience with hitting the wall, hard, so I usually managed to keep it under control.

So control your distractions however you can.  As suggested above, headphones and familiar music can help.  When your "flow" keeps getting interrupted you can get really frustrated and lose enthusiasm.

Another comment:  If this is a hobby, do give yourself permission to lose interest.  I personally find the very early stages of a project are interesting.  Once it stops being interesting I either find some other aspect that makes it interesting again or (if nobody is depending on me to finish it) I put it away and find something else to dig into.
Title: Re: How do you keep your mind on a project?
Post by: NorthGuy on August 16, 2019, 07:36:20 pm
... there is also a giant software library in the mix that you don't fully understand.

If, before using the giant library, you think about your responsibility for all bugs contained therein, and the amount of time you would need to understand the library, you may figure out that the drawbacks of using the library outweigh the benefits, often by far.

Bringing huge amount of foreign code into your project contradicts the principle of developing the software by small increments and puts you into situation where you have no idea where the bug may be. It is hard to do even with your own code. But doing this with the code which is written by someone else, doing this with the code you barely understand? Not my cup of tea. If that's what the OP means by software development, I understand the frustration.
Title: Re: How do you keep your mind on a project?
Post by: Berni on August 16, 2019, 10:47:43 pm
If, before using the giant library, you think about your responsibility for all bugs contained therein, and the amount of time you would need to understand the library, you may figure out that the drawbacks of using the library outweigh the benefits, often by far.

Bringing huge amount of foreign code into your project contradicts the principle of developing the software by small increments and puts you into situation where you have no idea where the bug may be. It is hard to do even with your own code. But doing this with the code which is written by someone else, doing this with the code you barely understand? Not my cup of tea. If that's what the OP means by software development, I understand the frustration.

I do agree, and i often like to write things myself, but as things get bigger it can become unpractical to write everything from scratch.

Things like a FAT32 library, USB device stack, Ethernet and TCP/IP stack, Optimised FFT, MP3 decoding, JPEG decoding, AES cryptography, RTOS... etc would be impractical to code from nothing as it would take way too long and would likely not perform as well as the existing libraries. Even peripherals on modern MCUs are getting so complex that it actually takes a significant amount of effort to write a proper driver yourself. But if you are writing software for an OS like Windows/Linux/Android etc... then libraries are your only interface to the outside world since an OS doesn't tend to let you touch any hardware directly unless you are a driver yourself.

These big imposing libraries become a necessary evil at some point. And even if you only work with registers directly you will eventually run into a peripheral with some errata in it where it does not behave like the datasheet says it should, and the manufacturer sure as heck is not going to give you the HDL source code for that piece of silicon, so all you can do is throw more trial and error at that black box until it does what you want. Can become very frustrating if this drags on for too long.

Programing was probably a lot more fun back in the 80s when things ware simple enough to not need all this crap.
Title: Re: How do you keep your mind on a project?
Post by: Ampera on August 27, 2019, 08:56:40 am
Some good advice here, that's because I follow some of it myself,  ;D

I've worked to music, worked without music, both instances had benefits and detriments as music helps get me into a rhythm, but also helps to distract me.

I have a very simple method for doing little bits of code at a time. sh build.sh, ./testing/PROG, and I'm off (I should probably learn to use make one day...)

Other things that helped me is to write down my ideas so that I don't just go and start trying to program /something/ and not having a great idea of what that something is.

This all beside, I think my big problem is that I simply lack the motivation, depression or whatever it might be. Since they're my projects, nobody cares if they get completed except me, and I have a habit of not caring.
I've had video editing (granted not programming) projects that had money and actual events banking on it on a short deadline (few days), which was a great motivator, but whenever I start promising programming stuff to people,
I usually do it as a hobby thing, meaning even though I might disappoint people, just not /doing/ anything isn't really something that will hurt me. Doing things, however, is exactly what I need to do in order to get into projects where it
actually matters.
Title: Re: How do you keep your mind on a project?
Post by: fourfathom on August 27, 2019, 04:34:01 pm
I've worked to music, worked without music, both instances had benefits and detriments as music helps get me into a rhythm, but also helps to distract me.

I avoid the distraction part by listening to familiar music.  There are some songs and styles that fit me like an old shoe -- sort of "comfort music" -- and I never seem to grow tired of it.  Since there are no surprises I don't get distracted.  I do listen to new music when I'm not trying to stay "in the flow".
Title: Re: How do you keep your mind on a project?
Post by: SparkyFX on September 10, 2019, 06:26:34 am
Same here.
a) If it is work, then there is no question how to get through, focus on an overall goal, figure out if it is possible at all, ignore the tangents and approach it piece by piece.
b) If it is hobby or voluntary i either end up in complexity and tangents or i am able to finish e.g. libraries that then sit for years, but do come handy some day

Might be coming from the lack of stability, if it is up to you to choose the interfaces, tools and frameworks you suddenly have no control about their future development and availability and that limits the effort anyone would be willing to put in. If it is paid work it does not matter, but if it is a heartbreaker you would not want the effort to be wasted. So the biggest motivator in such projects for me is the competitive advantage, it helps overcome the insecurities, but it requires competitors/someone to bounce ideas off to keep it reasonable.

I do not think of a slow progress as detrimental, because the time spent thinking about such things helps with all projects in a), it makes you faster and more experienced. It helps to avoid the big conceptual problems before wasting effort that others only find while going head first.

In general it might be a sign that the project is too complex for a single developer, so that might be a point to go open source, if feasible.

I find the distractions only annoying if i am not concentrating enough, by lack of interest. Music helps me, as well as taking a break, think for a while and then go back.
Title: Re: How do you keep your mind on a project?
Post by: TomS_ on October 27, 2019, 12:36:12 pm
My $0.02

In a professional environment, there will always be tasks you have to do that you dont want to do, and would much rather be doing something else in the time you take to do those tasks. I am going through this at work at the moment, but luckily there are plenty of other things I can "distract" myself with which are also just as important to get done, so I can chip away at the less interesting tasks in between the more interesting and fun stuff. You wont always have that "luxury" though, and may simply be stuck with something you dont like until it is done.

But on that last note, you should always discuss with your manager if there are tasks which you are doing which are bogging you down. Not all managers are mind readers, not all of them are as attentive as they probably should be - there are a LOT of poor managers out there. But they are the ones who can probably help if there is help to be given. I personally have had projects handed over to others because I just felt like I wasnt able to deliver them. Its not a great feeling when you are used to delivering results, but it does happen. And hopefully your manager cares enough to listen and help. If not, perhaps look for somewhere better, and tell them in the exit interview exactly why (otherwise no one else has a hope either).

And I would probably avoid doing a mindless easy job. Boring jobs will have a bigger impact on your life than you think - mentally, physically, emotionally. You need to do something that will at least get you out of bed in the morning.

In a personal setting, if you find you start something and get bored with it, dont worry about it! Chances are you werent as in to it as you initially thought you were. Thats fine. You'll find something else to have a go at, and eventually you will find something that you just cant not work on. The trick I think I have worked out is to try lots of different things, because you wont know what interests you unless you try things. They dont have to be entirely different things, like knitting one day, gardening the next, or whatever. But you know you have a rough area of interest, so start looking around the periphery of that. You like programming, so what about different forms of "programming", e.g. ladder logic, maybe FPGA. Different languages? Maybe the language you are working with is not interesting enough (or even applicable) for what you are trying to work on, or maybe learning an entirely new language will spark on a project (I first learned Python by building an application with it as a means of learning it). Different applications of programming, e.g. embedded (think Arduino and the likes, maybe Raspberry Pi), sensors, motors, etc (build a simple robot?).

I have a project right now that I can easily sit and work on from the moment I wake up until the moment I go to sleep. Its like I have endless energy for it, and its kind of scary.  ;D But the amount of projects I have worked on, started, not finished, left to gather dust in much the same way as you are experiencing, before getting to this one project has essentially been the entirety of my life up to this point, I dont think I have ever had so much interest in any one thing before. So maybe it wont happen now, but eventually, hopefully you find that thing.

I also find that having some good music on in the background can help too. Lots of catchy tunes or just a genre of music that you enjoy the most (80's or some rock for me). Listen through headphones if you need to. Programmers always talk about "being in the zone" which requires a distraction free environment. So e.g. dont have movies or TV shows on in the background that will capture your attention.
Title: Re: How do you keep your mind on a project?
Post by: Jan Audio on November 04, 2019, 05:32:53 pm
Here are a couple of things to try:

1. Play music that you are very familiar with - this will occupy some of the subconscious parts of the brain and let you work.

2. Have an alcoholic drink or two (no more) - this has been shown to calm down the brain and allow you to focus on one thing.

Is weed not legal in your state ?, try indica.
Try atmospheric ambient music.

I could not figure out if the OP was talking office/work  environment or personal projects or both. For working in the office the golden rule is:

!! Never take work home. !!

How do you disable your brain ?
Title: Re: How do you keep your mind on a project?
Post by: Jan Audio on November 04, 2019, 05:34:19 pm
I also program in smallest pieces and recompile/test very often. But for different reasons. It's like picking a lock. If you can pick one digit at a time it's a piece of cake. If you must pick all the digits at once, it's insurmountable.

Indeed, every aspect needs to be tested.
Title: Re: How do you keep your mind on a project?
Post by: PerranOak on December 14, 2019, 08:24:59 pm
Use the "two minute rule". (akin to your 5 minute idea)

This applies to your situation as well as a billion others.

Force yourself to do it (and I mean DO IT, actually write some code) for at least two minutes. Write just one line, even, then save it.

This will often trigger the desire to continue. If not, you at least have one more line of code!

Above all, steel yourself and KEEP DOING THIS.  :box:
Title: Re: How do you keep your mind on a project?
Post by: dietert1 on December 15, 2019, 08:27:04 am
Yesterday i had a long talk to a teacher on a technical school. He was talking about the difficulties to catch attention of the youngsters (learning technical professions). He was talking about conflicts and violence and at the end he told me that he suffered a complete burnout some years ago, when his life was extremely busy with family, all kinds of hobbies, many plans for the future - and a difficult profession.

He had to give up most of it. The dog is gone, house remains as it is. He said he was better now, spending more time outdoors and talking to other people.

Regards, Dieter
Title: Re: How do you keep your mind on a project?
Post by: brucehoult on December 15, 2019, 08:50:22 am
That makes sense, i just don't have anything else to do, as I have had an insane amount of free time for the past years.

I don't even know what that's like. Even if I didn't have to work I'd still have enough to keep me busy for more hours than are in a day.

Yup. If there wasn't someone paying me to spend my time on things they want (and I'm interested in, but maybe care about a little less), I have a list of things I'd like to do that would keep me busy from now until retirement / death and if I didn't have to make money to pay rent and food I'd be making that stuff, not watching TV (I haven't owned one since the 90s -- or at least not one that was plugged into an antenna).

If I'm driving or on a plane or in a waiting room then I'm *thinking* about some work or personal project. Bored? I don't understand what people mean by it -- the closest is when I'm forced to do some menial task that is just complex enough to prevent me thinking about the interesting stuff. Filling out a form for example.

Does this change eventually? I don't know. I'm only 57 now and it's been like this since I was about 10.
Title: Re: How do you keep your mind on a project?
Post by: brucehoult on December 15, 2019, 08:56:07 am
One aspect of concentration is being able to get into the "zone", where understanding and productivity are high. Let's say it takes 20 minutes to get there when the conditions are right. However, in a typical corporate cube farm where one can hear typing from 4 rows away, there may be incidental and purposeful interruptions every 10 minutes. Therefore, one never gets into the "zone". Examples of external and internal interruptions leading to priority inversion include:

- Chatter about foolish activities like golf
- Inquiries from the boss about scheduling issues
- Quasi-spam email from the source control or agile task servers
- Questions about some other project from another engineer
- Compulsive checking of email, ebay, etc. on the cell phone

Yes, this is the huge problem. Sometimes I can only get into the zone once or twice in a week. When it happens, it had better before 12 hours... It requires being well rested, well fed, and free from stress. Daily requests for progress reports prevent *ever* getting into the zone -- except possibly late Saturday night or Sunday.

Maybe I'm not actually up to doing this work, but when I'm in the zone I do it very well, and 99.9% of the population can't do it at all.
Title: Re: How do you keep your mind on a project?
Post by: brucehoult on December 15, 2019, 09:09:05 am
Here are a couple of things to try:

1. Play music that you are very familiar with - this will occupy some of the subconscious parts of the brain and let you work.

Yes. I have a playlist consisting of (don't judge me) Billy Idol, Pink Floyd, Berlin, Blondie, Frankie Goes to Hollywood, Alanis Morissette that I've been using for about 20 years. It's so familiar that it doesn't distract me but also helps prevents external distractions.

When forced to work in an office I use Bose noise-cancelling headphones (which are not as good as some Sony's I had in the early 2000s but a GF wrecked -- more recent Sony is junk).

It's not super-comfortable wearing full headphones for many hours, but I've never found in-ear or over ear that work well enough. UNTIL a month ago I got the new Airpods Pro with active noise cancelling. Wow! So far they are the best thing ever. The only problem is you maybe need two, because one charge doesn't last a whole day. Or maybe charging them at breaks is enough -- if you remember every time.

Quote
2. Have an alcoholic drink or two (no more) - this has been shown to calm down the brain and allow you to focus on one thing.

Yes, this helps. Not much! Like a thimble of Baileys or a quarter cup of wine.

(https://imgs.xkcd.com/comics/ballmer_peak.png)

It's real. But I'd put it at much lower concentrations than that. Something like 10% of the legal limit for driving a car maybe.