Running a big successful project should not be your goal (IMHO) that early on. I've got a couple of very long projects under my belt (none really successful), but I've learned dramatically more from my hundreds (or thousands) of aborted projects than I have from those ones that I stuck with for 5-7 years.
Give yourself permission to play. It's important. If you have a long term, successful project, you will not have much time for play any more.
People tend to go for extremes as solutions to their problems... I'm guessing because extremes make for easy, clear answers. The thing is, the answer depends on where you are. For some people, adding discipline to their day is a good thing, for others, cutting themselves some slack is what's necessary. For some projects, adding some structure to the process would be a benefit, other projects may need to be more agile. And I'm not talking about different types of people and projects, just that depending on where you are, the correct advice is different, and not applicable to a person or project currently on the other end of the scale.
This happens in every field: "train harder", "train less hard", "eat more carbs", "eat less carbs"... The tricky thing is that the optimal route is generally not at either extreme, but somewhere in the middle. I guess you learn to recognise the correct balance with experience (or guidance).
As you get older (and hopefully I'm not false in assuming you are younger) family and bigger picture things come into play.
Usually there are two which are not clear cut.
There are a few weird and irrational biases I see going on amongst techies who frequent HN. I'll just talk about one of them because bias is a tough topic to talk rationally about.
The one I want to discuss that I see a lot of hackers doing is creating a need to do everything themselves. This leads directly to the delusion that side projects are things to take Really Seriously.
Sure, if I wanted to, I could chunk out all the work it takes to build a product, take it to the market, refine it, then finally build a company around it to take the load off.
But unless you're a real honest-to-god genius, then you're going to make mistakes, and those mistakes can add months, or even years to the time when you can Call It Done and go back to spending the time with your wife and kids.
If you're not absolutely strict about not letting it override your personal life, you will end up sacrificing your life to the jealous God of the Market.
You might try to respond by moving the goalposts, saying that the real goal here is learning, not achieving some kind of outcome. But do I really need to ship a product to learn?
There is a class of activity that is actively distrustful of the market, which insists that all learning comes from the creator's own mind. It's called art. If Picasso thought that the market was worth listening to, then we wouldn't know his name today. Artists by their nature listen to other artists, and not you. That's what makes it art.
Side projects should be considered to be more art than business. Art doesn't fuck with your personal life. Art informs your personal life. Whether you're creating it or enjoying it. If I'm sitting there hacking out a weird new concept for accessing databases and my wife comes into the room and wants to talk about our son's baseball game, I put down the text editor and listen to my wife. I do not tell her that I'm currently in flow right now and jeez could you really just come back later after I'm taking care of this Really Important Thing.
If you're bleeding your professional life so far into your personal life that you are even for a moment taking it more seriously than your wife and kids, you have fucked up your priorities. I would never ever ever even dream of doing this. Everything else is noise compared to my personal life.
But can you listen patiently, if you have been in a flow before?
I can't, even though I too often try to, to be polite, but I think I prefer being honest and stay in the flow, if I want to.
And when I am done, I am free for other persons.
But it takes good balance, true.
I feel like it's physically painful for me to not work in this way. I can not give undivided attention when there's something that needs to get out, and am certainly jealous of people who can context switch out of a flow like it's nothing.
Similarly, if I've been deeply focused, my brain has switched out normal, every day concerns for work material, my brain state is settled in to focus mode, etc. I spend hours a day (and have for years) teaching myself to focus on a large, abstract set of information in a particular state to attack problems. (It's actually a lot like visualization meditation -- to be able to hold a complex model of what you're working on in your head while you work.)
Im not able to instantly turn it off, it takes time to switch out of that mode of thinking and to bring back the "normal" information. It has nothing to do with priorities -- context switching, particularly a mode switch, takes time.
My ex used to hate that, she'd say "your not listening?" and I'd repeat verbatim everything she said and then she'd get annoyed because listening and listening are different things.
Current GF gets into a flow state herself so she is way more understanding :).
Happens to me all the time :)
So I've cobbled together a workflow that doesn't require massive blocks of uninterrupted time to drive results. It mostly revolves around the concepts of imperative, recognition, and refinement.
When I'm working, I'm either moving through an imperative, recognizing what the imperative is, or refining the system. Each of these steps has a well-defined mental workflow. I can put down the work at any time, then come pick it up later after the interruption is gone, quickly re-recognizing the imperative so I can start moving forward again.
Refinement is crucial to the system and allows for quicker recognition. For example, years of experience have taught me to always start with a clear workspace. If I can't recognize an imperative, then I start cleaning. Once everything's clean, I go look to repositories of the state of the project, such as the tracker, to get a high-level overview.
There I can see I already have a story open. By looking at the story, my familiarity and past refinements lead me to a structured way of developing the feature or fixing the bug. If I can't see a clear path forward, then I don't have an imperative and I need to design a new workflow. I used to try to put workflows down on paper, but these days I only do it for edge cases that I don't see very often, but are still really important. For example fixing mobile-only display bugs, my normal workflow of reproducing the issue from the test server locally doesn't work.
By enforcing a fairly rigid structure to my workflow and refining as needed, I can keep my mind free to wander while I'm working through imperatives. This means I can put the whole thing down, go play ping pong or grab lunch, and pick right back up where I left off when I get back. It's not perfect, but it doesn't need to be perfect.
It would be rough if I had a wife who didn't...
Obviously you want a working marriage. But marriages, just like startups and side projects, take work. You need to hack on the marriage just like you might hack on the business. But you should never take the business more seriously than the marriage. The business exists to serve your needs, not the other way around.
How to hack your marriage is outside the scope of the discussion. But I believe they can be worked on so that they get better. Heck, I think a lot of the problems in marriages can be boiled down to the wife believing, with good reason, that the husband considers his job to be more important to him than she is. So this reprioritization alone can fix a lot of personal problems.
Attracting a mate boils down to two things, building yourself up and putting yourself out there. Keeping them around boils down to being emotionally mature.
I usually follow my followers, that allows private messages, so you can message me there if you need help.
The relationship is going to suffer and you both are going to suffer for it. Just because you don't perceive yourself as suffering doesn't mean you're not. You just won't be aware of it. If it gets too bad, you'll wake up one day and find divorce papers on your kitchen table.
Think about what President Trump's marriage must be like in terms of priorities. Sure, people are different, marriages are different, but there's also an ideal to work towards. Marriage needs to fit the needs of both people, but it's not like people all have weird crazy different needs.
Different people have different priorities, so there is no such thing as generalized "fucked up priorities" if you don't know the priorities of the person.
Sounds like you have a wife that doesn't respect your hacking time to me.
Obesity is a statistical trend in America. 2/3rds of Americans are "overweight" or "obese" according to widely used metrics.
 - https://www.niddk.nih.gov/health-information/health-statisti...
There are a lot of good books on procrastination. Meditation / introspection can help too. There are much more effective methods than just trying to "force yourself" to not get distracted / procrastinate.
It's actually worked, every time I see it it reminds me of a video I watched that discussed motivation, it was a bit hoorah but the core message struck a note.
Who feels guilty that their crossword puzzle or frisbee football or model airplane hobby has yet to yield a practical product, to sell to the rest of the world? Maybe we confuse our goals while software dabbling because software has the potential to be a product, while it's much harder to be tricked into thinking that our finished sudoku puzzle might somehow help mankind.
I think it's helpful to first correctly identify your reasons for doing something, before you try to judge whether you are doing it well or should keep on doing it. For example, it helped me to identify that the real reason I check my email too often at work is because I was lonely, not just because I wanted to gain information or to give information to others. I think this is making it easier for me to stop checking email so often and to find other ways to fulfill my needs.
As the writer of this response article indicates, writing software to learn or to play is a good enough reason in itself, and we need study and play for the same reason children do: to stretch ourselves. Or, more practically, it is a shortcut to pleasure. The commonly acknowledged pathway to pleasure is (1) work, (2) get paid, (3) buy something that makes you happy. But with play, the work itself makes you happy. No intermediate activity is required.
The original article, and the response, are two views of the "problem" at opposite ends of the spectrum (so to speak).
Depending on the context, both are right.
And also wrong. ;_)
Yes, it's never really done, but there are levels or milestones of "doneness", where you get to feel the satisfaction of something done.
Two ways of looking at "doneness": an end in itself, or as a means to an end. Professionals/craftmen/artisans prefer the former (and are prone to perfectionism - never reaching any level of perfect doneness); whereas business people are prone to cutting corners - cutting anything non-essential - in order to reach the end (and are prone to cutting the essential). Sidenote: it's great for a business for perfection to be hard to reach (and customers still wanting it), because it means you can release another version - when perfection is reached (or customers don't want any more), the business dies.
Microsoft "wizards" were a good example of the a means to an end (don't know if they still are): they got the job done, if you wanted a common combination of selections. But was buggy for other combinations that should work. It looked like they only fixed the bugs that they had to. So... this is outrageous to a perfectionistic - of course all the combinations should work! My point is that this achieved the end, for most people.
Each single combination of features or path that works is an element of "doneness", that actually helps someone.
Richard Dawkins talks about the evolution of the human eye - how could such a complex interdependent thing come into existence spontaneously? He says it came bit by bit, from a patch of photosensitive cells, to a hollow of them, to a simple lens, gradually refining its focal qualities. A similar story for orchid mimickry of insects. (Chapter was called "Do Good by Stealth").
The point is that each advance had a level of "doneness", in that it was better than not having it (thus conferring survival advantage). And who's to say the advancement has ceased?
One also have a level of doneness for the intrinsic beauty of the work itself... it's just that you are going to have to define what "doneness" will mean for you... and you'd better make each level very small in scope, because it takes a long time to make even a small thing beautiful or perfect. For example, just making a framework is a worthy and ambitious goal.
Though I still think, even for "ends in themselves" it's useful to distinguish between what business people call "differentiating" factors and "hygiene" factors. You must have hygiene, but it doesn't have to be world-beating - just good enough to do the job. But for differentiating factors, you have to do something unusual or special (though again, only really good enough to differentiate).
It's up to you to work out what "good enough" really means. I think comparing it with not having it at all is a good way to evaluate its worth without getting caught in an endless perfectionism trap...
Iv tried it all; sail without an engine, tan on beaches 5k miles away, buy all the sex workers (my) money could buy. None if it worked. The only true vacation for me is lysergic acid diethylamide, 250 to 500 micro grams.
Quid est veritas?