Ask HN: How do you stay disciplined in the long run?

537 points by djangovm ↗ HN
My typical cycle of execution is something like this

Find out something through HN/Reddit/Other medium --> Get motivated --> Get good knowledge about it through research --> See others succeed, get motivated a bit more --> Execute and get to, say, 25-50% of the journey --> Get bored --> Abandon --> be passive for couple of months --> repeat.

Be it creating new websites or new products (probably the reason I have not launched something as a personal project, despite having tried like 10-11 of them with varying degree of success), weight loss journey, running, meditation etc. I have tried breaking things into manageable chunks and then taking them one-by-one, or through methodologies like GTD, or by making others accountable (tough to find someone who takes personal interest in what I would do; also, I have strongly come to perceive myself as being driven by external accountabilities which makes me good at work at office but bad at executing personal projects).

I see folks who are disciplined, are ruthless executors, are self-motivated, and wonder, what could I improve or work towards to get things in a better shape. Any suggestions?

176 comments

[ 3.1 ms ] story [ 203 ms ] thread
Follow through and don't use what people do on HN/Reddit/etc. as 100% truth. Allow yourself to take breaks, but just continue exploring and doing.

People are always trying to sell themselves and embellish what they do. Plus, in posts, you're only viewing a small window of their lives. You have no idea if they suffer the same problems and just happened to write about completing one thing, ignoring all the failures along the way because no one talks about failure.

In short, don't use other people as a yard stick, but focus on yourself and being happy with what you do.

I haven't released any product, personal project, or website, but I have worked hard at my company and have been happy with things I've done for it. Does it hinder my opportunities? Probably. Do I really care? Not really, because it isn't required of me to live a good life.

This so much, in real life, Im not very productive, but on my reddit account, Ive write so much advice youd think I was some 10x developer, when most of the time Im just sweetening things up.

At work, we have a bunch of accounts that troll on the alt right subreddits, and its a common joke that everyone secretly does the same thing at home.

If you want some practical advice:

1. Stop going on HN and Reddit. If you spend a lot of time reading about what other people do, you won't do it. If HN and Reddit helps you progress, spend 30 minutes a day on it.

1a. Start small and simple and build from there. If things are getting too complicated, scale back. Always scale back. It reduces frustration and anxiety as well as builds confidence.

2. Set a schedule. Take you phone calendar and put a block of time to work on X and set a reminder. This primes your brain to have a plan and an expectation.

3. Schedule short time blocks, 30 minutes to an hour. You only have a limited amount of time in a day and trying to do something for long stretches of time will a) take away time to focus on other things you want to do b) will have a diminishing return effect.

4. Establish a routine. Set those blocks in 3 and do it on a schedule. Try and do that task in those time blocks for a couple weeks. The most important thing is the routine. You can increase those time blocks only when you're comfortable meeting that routine.

5. If you miss a day, DON'T WORRY ABOUT IT and just catch the next go around. Things come up in our lives that we don't expect and we either can't do it or don't want to. But don't make yourself feel like a failure if you do. The point is consistency.

6. Finally, TAKE THOSE SMALL VICTORIES! I know its difficult, you'll doubt yourself, but please... take them. When I wrote my first "Hello World" program, I took the time to realize how awesome it was and how simple it was! DO NOT CARE ABOUT THE MILLIONS THAT CAN DO IT TOO!

It will take a long time. But the beauty is, you'll get better at the above steps and be able to execute faster so it doesn't feel long anymore.

> If HN ... helps you progress, spend 30 minutes a day on it.

Using the "past" feature [0] is a great time saver in this regard. Let people with more time do the real-time curation, and focus on the results of their efforts. The link is on the main menu between "threads" and "comments".

[0] https://news.ycombinator.com/front

Zooming out, the big picture here is to create systems for yourself (whatever works for you) that make success more likely in moments when your motivation is low. For example, I pack my gym bag the night before and put it by my work laptop so I have zero friction in the morning. I know I don't have much motivation or willpower to do this in the morning, so I work around that and give myself zero excuses to not bring my workout gear.
Yes, planning and eliminating excuses 'ahead in time', is half the game won

> big picture here is to create systems for yourself (whatever works for you) that make success more likely in moments when your motivation is low.

Is add one thing to this great advice, schedule downtime for yourself and make sure you stick to it. Willpower/discipline is a finite resource, make sure you don't burn out.

If you look at top athletes, none of them work at 100% all hours of the day. Mental stamina is just the same as physical, your body needs that recovery time and will get stronger because of it.

I'm convinced that almost nobody is good at the whole cycle of creating/maintaining something.

Some people are great at coming up with new ideas but quickly bore with the implementation. Some people can relentlessly improve on an existing thing but can't come up with the initial idea. Some people are great stewards of an established program but don't thrive in the chaos of rapid iteration.

I think instead of trying to mold yourself into something you're not naturally good at, you should try to figure out what you are naturally good at and build a team around it to support you.

I'm speaking in broad strokes of course, but reading your post, I think you are just not going to be a sole proprietor. You need a team member who can catch your early enthusiasm and then help see the project through to completion.

You need a finisher. Not every starter is a finisher, and not every finisher is a starter, and not every finisher is a good maintainer, either. They're different things.

Upvote a million times!
> Not every starter is a finisher, and not every finisher is a starter, and not every finisher is a good maintainer, either. They're different things.

This is the most true thing I've read in a while. It takes a lot of thoughts I've been having lately and wraps them in a concise package. Thank you! This is gonna stick with me for a while.

I agree, that was a fantastic comment.

I love File>New'ing a project. A blank canvas inspires me and I can see the possibilities, but my coworker can't imagine anything yet is able to improve greatly on extant concepts. And yet another friend can do neither, but is great at being disciplined and pruning/maintaining a codebase.

This was something I really needed to see.... Thanks to both the OP as well as you Haul4ss.
Thanks for this gem. Many +1s for you but it's not easy to know what you are good at. Even you know then roadmap isn't clear.
I'd say not everything worth starting is worth finishing. Perhaps the discovery of starting, doing a bit, is really what you want.
I think Simon Wardley's concept of Pioneers, Settlers and Town Planners matches nicely with what you're saying about different types of people: https://blog.gardeviance.org/2015/03/on-pioneers-settlers-to...
I've noticed the same three categories discussed in two "go west" novels -- Steinbeck's East of Eden (1952) and Kesey's Sometimes a Great Notion (1962). It's interesting, and a bit jarring, to see the MBA translation of what, to me, existed as a literary aside.
> Not every starter is a finisher, and not every finisher is a starter, and not every finisher is a good maintainer, either. They're different things.

Seeing the number of responses in agreement is great, but then I think a bit and have a number of feelings about the fact that this needs to be pointed out. Isn't this obvious from basic psychology, management, sports, life experience, etc.?

It's unusual to find someone who has all elements in balance. They might seem in balance, but often you can't see how productive people really are in lots of cases. They may seem like they can churn out quality personal projects ad nauseum, but you don't know what's painful, what takes a disproportionate amount of time, what needed to redone, what drove anxiety, and many other things.

For the people who seem to have this balance, they may push through extreme toil, create undesirable consequences for others, etc. My advice would be to consider whether you should endeavour to be a "ruthless executor" because that might not be what you should do. Perhaps the OP should actually be spending time reading, taking photos, or some other activity to generate energy to drive forward projects that are truly important.

Love this insightful comment. Me personally, I am a "status quo" person. It's my greatest strength and my greatest weakness. I'm the kind of person who can take an old used car and keep it going forever. It never gets fully restored but it doesn't get any worse, either. It may even get a little better over time with some new gauges and hi-end replacement parts.
I tend to agree, but there are major exceptions in open source software:

- Guido van Rossum wrote the first line of Python in 1989 or so (started)

- He released the first version on Useset pretty quickly ("finished" the MVP)

- He worked on himself for four years or so (maintaining, improving)

- Then other people started contributing for 25 years or so (leading)

So I would say he's able to do all 3 things, plus lead the team, which is even harder.

I think you can also say the same about Linus Torvalds, probably the leaders of similar projects like Ruby, Perl, Tcl, Richard Hipp of sqlite, etc. (without much of the leading part, since sqlite is relatively closed to contribution.)

One exception might be Stallman. Although Stallman's achievements are great, what I learned from reading his autobiography is that he started with existing pieces of code for GCC and Emacs.

In other words, he tries NOT to start from scratch. That's probably what enabled him to be productive enough to start so many projects simultaneously.

He also tends to be pretty good about handing over maintainership. That is, he is relatively good at recruitment to the cause.

Anyway, I guess this is why we hold such people in high regard! Because they're able to do things that most people cannot do -- that would normally take huge teams of people and/or entire companies.

And perhaps these are the exceptions that prove the rule, being that they are such remarkable cases.
He also is not a manager at Dropbox. He is the highest level IC there and has no desire to lead a team.
(comment deleted)
And then you got the SQLite guy who did everything for many years. A true outlier, though.
stop starting and start finishing

for normal people, yes it might be easier to have a part in something that's bigger than them.

But some really great projects had someone that owned it start to finish

Agreed. But how do you pass over a product once you created it and it's working ?
This is an interesting take, but I think you can take it too far. Kind of like if a kid gives up on math as soon as it becomes difficult and decides "I'm not good at math". Skills can be learned. Discipline can be developed. But yeah if you put in the effort to learn how to finish and are consistently miserable, maybe stop.
Super good post. Long ago I realized that I'm a starter and not a finisher, yet I often end up in SRE type roles that are all about finishing and I struggle to have any motivation to work on things that just quite frankly bore me to death.
Ideally, You need to team up with a finisher that keeps your focus on your work and perhaps since most of the finishers are introvert, you need a fact-based extrovert driver who is dominant to push you both forward.
> I'm convinced that almost nobody is good at the whole cycle of creating/maintaining something.

Part of it is your character and personality. But your environment and your experience have a major weight.

Same applies for being a finisher.

In reality, it is not just being a starter and a finisher. A lot of other variables are involved. all sort of soft and hard skills will define your success and quality of your work. And you can arguably say almost nobody has all of them.

Find people who are also pursuing long term discipline, that like to talk about it and who celebrate your own pursuit thereof. Works best if you're tied into a non-emotional relationship with them like at work.
This is tangentially related, but I think every person has a tolerance threshold that develops early for life standards.

Fitness and money are easiest examples. For some, being fat is disguisting and unimaginable, so they will do everything possible to stay thinner. For some that threshold is having an actual six pack, and once you lose it, you go into emergency "at whatever cost" mode.

That's def the case for me with below average college-educated income - when I was below it, I was in "how can I be such a failure" mode. But now that I am above it, I am not in panic mode, even though I consider myself a failure, it's "good enough" on some "subconscious" level, despite me constantly trying to change it. Whereas if someone was born rich, I think not being able to keep up with the previous standards of life could be the threshold.

So, there are three take-aways from this. Once you establish a new height, you realize how good it is to be there and that it's possible, so you can get back there far easier. The second is that it's very easy to get lazy once you are comfortable. At that point you can also "afford a life", and that starts eating away your time. Edit: The last one is what the poster below said - maybe realizing how important these thresholds are is a key to artificially creating them.

Other than that - I think "focus on one thing at a time and set a concrete time block for it x days a week" is the vest possible strategy.

I have the same opinion too! I just rephrase it to myself as - "How desperate are you to do foo/bar?" (foo/bar can be getting rich, working out etc)
A lot of folks call this setting standards. The standard you set for you self is X, your ego/will/desire/whatever you call it will not let you drop below your standard.
"For some that threshold is having an actual six pack, and once you lose it, you go into emergency "at whatever cost" mode." It is easy to say " i want a six pack." It's much harder to say "i want to eat a very strict diet, prioritize sleep and working out, avoid stress where possible and severely limit alcohol consumption to 1-2 drinks per week or less". But to say the former is to also say the latter IMO
Sure, I am not even considering that it might mean something other than the latter.
I have been doing the same cycle over the past few years. In 2019 I decided to not start anything new, only finish what I've started. So far I finished 1 thing (an article, got 1k claps on Medium, feels good), and started a new one with a friend :) I'll probably only have time to finish one more thing this year, but it's ok, at least I'll have something to show.
My opinion is that the first 25% is the most fun, the only reason to do the rest is if its how you make money, or get other rewards such as recognition or praise from users (assuming you like that).

My side projects always die soon after figuring out what I want and how to do it. My job I'm doing the messy stuff I'd prefer not to do.

I just wanted to point out it's totally normal to go through waves of interest or motivation for various things in your life. Especially if these are things unrelated to your career or work you should consider becoming less outcome focused. You mention 25%-50% of the journey - how do you define the 100%?

For something like running I think it's common to get very interested and the interest to fade out over time. This might be before you can run a marathon or half marathon - does that mean it wasn't worth it to run while you did? You may also pick it up again down the line, maybe it takes you years to get to a goal rather than a few months. You can start and stop - don't feel bad about it.

I think our society has a high focus on the super achievers and the end result. However, if you're focusing on weight loss, running or meditation you're never going to be the best. The purposes of each of those activities is to enjoy them for what they are. If you're not enjoying them move onto the next thing and you can always come back later.

I used to get this advice a lot, and I need reminders sometimes. What I only recently figured out is what process means here. I thought it was generic "enjoy your life" stuff, but you really are going through a specific process.

These projects are the process of you growing, maturing, getting seasoned. It sounds like you aren't quite ready for your big break yet, which is fine, especially because you are doing exactly what you should do.

Congratulate yourself for any time you spend creating, you're learning tools and techniques and mental habits and what doesn't work. Soon, maybe tomorrow or maybe a decade from now, you'll start to develop a vision of what your life's work really is.

My advice is to keep following your ideas, doing active creation whenever you can, and most importantly seeking out good people and letting them help you.

I could see your issue being that you are alone in these things. I don't know who said it but the quote "if you want to go fast, go alone, if you want to go far, go with others" rings true. Finding other people to build things with, to work out with, to meditate with, is one of the most important factors.

When you read blog posts, its easy to feel that a person is doing all this by themselves, but I would bet that most of them have a solid network. This is why I think we are in this productivity porn era of computing, tech bootcamps/silicon valley are echo chambers for the stuff, and the people inside these ecosystems have it easy in the networking world.

So make some friends who are trying to do similar things. I'm in college and can say that I'm a failure at what I'm preaching, but it will help immensely if my understanding is correct.

There are so many books dedicated to this topic. I’ve liked The War of Art and Solving the Procrastination Puzzle.

I think you have the right answer - discipline as opposed to motivation. Now you need to develop it.

> I see folks who are disciplined, are ruthless executors, are self-motivated,[...]

On websites like hackernews, you'll only hear about successful projects most of the time - they might have been preceded by multiple Failures" but these won't be mentioned or presented, the concept of "survivorship bias" might be applicable here: https://en.wikipedia.org/wiki/Survivorship_bias

It's painful. It's supposed to be painful. Anyone that successfully launched kept working through the pain.

Think of non-coders that taught themselves to code and launched webapps just by googling and facing the pain. https://www.youtube.com/watch?v=6reLWfFNer0

Is there some kind of website where you can find people who share your interests? I work full time as a developer but do electronics, PCB/industrial design on the side. I wouldn't mind having a partner in crime for this, especially if he/she does not suffer from the same shyness as me in terms of asking people for favours and opportunities.
One of the ways to get your self moving can be to identifying/finding similar ppl which share comment interest with you and run your idea/project with them. That way you will be pushing each other and getting further way more then if try to it all the way by yourself. I'm firm believer that in the end if you want to get things out, you need to find the fight enthusiasts and share your idea with them :)
Here: --> Get bored -->

What exactly happens here?

You say bored, do you loose interest in the subject? Or are the next tasks perceived as too boring? What exactly becomes boring? Or maybe it doesn't become boring, but something else becomes more interesting? Or does it feel boring because you run out of energy?

Well... It reads like you are talking about side projects? The big question is: Are you happy with what you are doing when you are doing it? Do you expect yourself to produce sth. at the end of this cycle? Or are you putting yourself under pressure, because "others succeed, and so I have, too"?

Sometimes, it helps to free your mind and your thoughts just by doing something completely unrelated to your daily routine (read: daily job). If you are at the 25-50% stage, personally I don't think there is something bad at just dropping it, and look for new challenges. At the end, it's your free time, and it's completely yours to decide what you are doing with it.

Maybe, at some point in time, there will be "this one thing" which you will stick to, because it makes your heart feel happy in the long term. And if not, that's totally fine, as long as you had fun on the journey. Just don't put the "I have to do finish it!" pressure on you - as you already noticed, you don't work like that.

Oth, if you are unhappy: Think about smaller scale projects. Obviously, you cannot stay focused for a long time. So, you might want to pick smaller projects. Don't talk yourself little. Find something you can finish in, let's say, two months or something. A project that better suits a smaller attention span.

I wouldn't call myself a ruthless executor, but I do tend to ship more projects than not. The last startup I co-founded was acquired about 5 years ago, and my current startup is doing well so far. This is a long post, but it hopefully ties together by the end.

One thing I've noticed though is that it's hard to actually categorize people as ruthless executors and as being completely self-motivated without knowing the actual details of their situation. While it's true that some are better at it than others in relative sense, I also think it's true that a significant amount is affected by situation and occurrence.

What I mean is that, it's often easier to maintain motivation when people are using a product, giving it praise, when it's growing and/or making money, and a host of other things. You may see someone you think intrinsically has a lot of self-motivation, but maybe they're just better at recognizing and fueling themselves from small victories, and they know how to get those victories, small or large. This can work the other way too though, as sometimes these victories are complete luck and happen as unintended consequences from the things you do or people you know.

It's easy to look at two people who started two different projects two years ago; one has grown their team to 10 people and making a lot of waves, the other gave up on the project 6 months ago; and think the former is a ruthless executor and the latter is not. But maybe the former person had no more traction than the latter 6 months in, but they met someone at an event who connected them with their first paying-customer-to-be, then they met with them and got a lot of valuable feedback which motivated them to release an MVP especially for that customer, which then garnered two more customers, which motivated them to spend some time marketing, which led to more customers and so on. Maybe the former person would have given up after 8 months if none of this had happened. And yet the latter person didn't get any of this and yet still persevered and remained motivated for 18 months absent these external motivators. You could argue the latter person is more self-motivated than the former.

I guess the thing I'm getting at here is, there's a difference between being motivated and being self-motivated. Self-motivation is necessary to persevere through the times with not external motivators. But in the long-run, which is what you're asking about, it's not enough. You need external motivators, too. This is where co-founders can help. This is also where customers can help. Both of those are difficult to come by, and require knowing and meeting people, not just building things.

That said, there are a few things I've noticed that really help with self-motivation in the time that you need motivation, and here is a list that may be particularly appropriate at the "25-50% of the journey" mark. Again, these won't get you all the way there, but they may get you far enough to the next external motivation milestone to make a difference:

1. Get a graphic designer to create an actual, polished design for your interfaces and/or landing page. It's amazing to me, how much I and my team, as engineers, are motivated by how polished and "official" something looks. It can be a renewed wind in the sails.

2. Create documentation for it. This can be as simple as a README or as involved as a launch-ready landing page. Even just opening a new Google Doc to start writing is a big step forward, and you'll need it eventually anyway.

3. Once you've got some screenshots or the semblance of a README, post it on a local startup channel or message board. It might not yet be ready for prime time launch of Product Hunt or Hacker News, but I find local communities to be much more supportive of works in progress, and valuable sources of feedback early on.

4. Take a scheduled break from it. Having a separate hobby that has nothing to do with software can be he...

Find someone who cares. When you work on something, but no one is behind you saying how wonderful or useful or needed your project is, it's easy to lose interest yourself. I'm sure you've heard the phrase, "Behind every great man is a great woman", and that woman probably gave him support and encouragement to carry on.

I had been learning how to build web sites for a long time for my wife's business but she never seemed to care, even when I complained about it, so it never got done. But when my son started up his business and called me a couple times a week with questions showing interest and need, it got up quickly to rave reviews from everyone involved and it was a feeling of immense satisfaction.

Some people have that inner drive to accomplish something when it's something they are interested in enough and just want it for themselves. They can get things done by that alone. I love doing web sites and other projects but, if I'm doing it only for myself, it's likely to be half-assed if I finish it at all.

I would say your process is backwards. Don't follow tech. Follow problems. Get involved in a problem you care about. Only research tech as a means to solve problems.
I set realistic personal goals so that even if whatever project fails (and they usually fail for me), I've picked up a new skill or refined an existing one. And hopefully I had fun doing it
You need a purpose and a routine. Why do you want to be successful ? What's your definition of success ? Is it something you really want / or is it pushed by friends / social media / internal representation of success ?

> See others succeed, get motivated a bit more

It sounds very dumb but focus on the journey, not on the destination. I got fit when I started to enjoy going to the gym (took 1+ year). I didn't like sport and I had a mental image of what a gym guy was, I couldn't identify to that image. Now I'm 5 years in, go bouldering, running and at the gym every single week, it doesn't feel like success and I still don't identify as a fit/gym guy.

Once it's part of your daily/weekly routine you don't need motivation, you do these things because you're hard wired to. It takes years, but one day you'll wake up and think "damn, I'm fit / good a guitar / glad I sticked to my business idea for the last 5 years / &c."

Also keep in mind that success isn't a fixed point, it's an endless ladder, each step being your next definition of success. You can be successful at many things but if you don't take the time to reflect on them you'll feel like a constant failure.

> I see folks who are disciplined, are ruthless executors, are self-motivated

Do you know them personally or do you trust the internet's success stories ? People like to romanticise their achievements with fancy origin stories, struggles, &c.

A few resources:

https://www.artofmanliness.com/articles/get-1-better-every-d...

https://www.artofmanliness.com/articles/building-breaking-ha...

I wrote an essay about this topic a couple months ago that you might find applicable https://www.amplenote.com/blog/what_makes_long_term_personal...

The essay describes exactly half of the what has helped me, which is to create processes that make it a little bit easier to procrastinate on long-term goals and then pick them up again later. But the other half, which sounds especially applicable to your situation, is to pick a goal that will continue to be worth pursuing. This is much harder than most people expect.

A few years ago I started a "goal of the month" list with some friends. In January, we picked 12 goals we'd pursue during the year. For the first few months, it was gravy -- everyone completed their goal and had a satisfying summary ("I did this, I learned this") they shared with the group afterwards. But, around the 6th month, the failures began. Between the 9-12th months, our cumulative success rate was lower than 50%. It was mystifying, because everyone had purported to spend hours of time carefully choosing their 12 goals in January.

In my case, I tried to pick easy goals for month 9-12. For November, I picked the goal "bowl a 200" because what could be more fun or easy than going bowling (though I've never bowled above 150, so there was a hill to climb). Still, by the time 11 months passed, there had developed 100 things that were more interesting to me than bowling a 200. I willed myself to go bowling one time that month, and scored 125. ¯\_(ツ)_/¯

We tweaked the rules for the list the following year so you set 12 months worth of goals, but you could substitute a goal if your original choice was no longer interesting. Again, by the 9th month, everybody was substituting like crazy. The goals list experience taught me that my friends and I are woefully bad at choosing goals that will still be interesting to us 6+ months in the future.

Fast forward to today, and I've been working on Linux touchpad drivers for about two years now (e.g., https://bill.harding.blog/2019/03/25/linux-touchpad-like-a-m...). My "success" on this project has been made possible because I have a good system to allow myself to procrastinate, and because every time I use my Linux laptop, I continue to hate how the touchpad works. I am forced to face that unpleasantness over and over again, with no escape. So in this case, there is a goal that has remained important to me because it involves a part of my life that remains constant, and remains frustrating.

Which is to say, if you can find a problem that is going to continue to eat away at you for years, I think you're barking up the right tree. If your goal is one of whimsy or interest, your best bet is to scope your solution so it can be completed in 6 months or less, because chances are your human interest will be somewhere else past that point.

Shameless plug - I work on https://everyday.app (simple and beautiful habit tracker for the web/ios/android) and seeing the colourful board filled with 2 years of data is hugely motivating to keep me going and stay on track with the SAME goals.

For example: https://app.everyday.app/2/5 :)

Having a list somewhere like an app or a little notebook is hugely helpful in keeping you accountable every single day. I use a different app but I'll check out everyday.app :)
Definitely, the sole fact of reading every day what I want to do every single day already makes a huge difference!

Awesome, feel free to shoot me any feedback! ;)

You have compassion with yourself when you are inevitably less disciplined. You notice that you need to improve again and you do so without judging yourself.

It also helps to work with or associate yourself with people who exhibit the habits you want in your own behavior.

One of the things that gets me is analysis paralysis. When I first started programming (albeit not professionally) most people didn't have the internet, me included. So I had to just write code and figure things out. For a very long time it's how I did things. Now, with blogs, SO, github, etc. I fall into the trap of, "well, I need to do X, so let's see how others have done it." instead of just trusting myself and doing it. I don't know when it started getting worse, but I hate it and I hate myself for allowing it to get bad.

Fighting this is a constant battle. One thing that helps is a deadline. Another is a pomodoro timer. I really wish I could unplug my internet cable for a while each day, but people would freak if I were not easily accessible.

Another thing which helps is doing a project in a language or framework which you're not yet as familiar with - hard to get in analysis paralysis when you don't even know how to start the analysis. The thing is if you're choosing a language or technology which is extremely appropriate to the task, for example learning a grammar builder IDE to tackle a parsing problem, you'll hopefully still produce a "good" (or especially, "good enough") solution despite your beginner status. And then maybe when you come back to the domain you had analysis paralysis in you might have a better perspective.
I hear you because I fight the same uphill battle every day as you. Still haven't found a proper solution for it.
>I really wish I could unplug my internet cable for a while each day, but people would freak if I were not easily accessible.

I had the luxury of living without internet for about two months last year. It was very influential. I would save up a list of things I needed to use the internet for, and do it on public wifi on the weekends. The rest of the week I was offline. Naturally this lead to more productive and proactive browsing (like saving documentation for offline viewing (or simply learning to navigate offline docs), locally storing wiki articles/blog posts/potentially relevant youtube videos, and using RSS feeds for efficient browsing on limited time).

Now that I have internet again, I've re-implemented some of those methods, like limiting my use of web browsers, especially full blown graphical ones like Firefox. For example, instead of surfing youtube, I use a script that takes my search and downloads the first x videos returned (or just download whole playlist with youtube-dl). I try to use $browser for less than an hour per day, and have found that postponing launching Firefox until later in the day (but not too late) helps - so those little scripts help a lot by not being potential "cans-o-worms". At some point, I go through my list of internet-todos I've gathered during the day, realize most of them were just stupid time sinks anyway, and then search or address the ones that survived. I've also kept the "proactive browsing" habit, and storing a lot of stuff locally (even whole websites).

Of course, for more urgent tasks, like things that could a quick solution /now/, I don't hesitate to launch $browser, but I try not to deviate from completing said urgent task and closing the browser as soon as it's done - no tangential searching allowed.

I guess one way to sum up the workflow I'm trying to achieve is a "power users" approach to the NoSurf[0] philosophy.

[0]: https://nosurf.org/