Hacker News new | comments | show | ask | jobs | submit login
A response to “How to never complete anything” (neilonsoftware.com)
270 points by fvargas on Mar 10, 2017 | hide | past | web | favorite | 47 comments

Basically I agree, but I think you can put it more simply: this is how we learn. 5 years into your career is a really short time. I know that people feel like they should be (or are) at the peak of their powers 5 years in, but that's kind of delusional.

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.

Regarding the points in the beginning of the article: So in this case, as in every other one, the answer seems to be "balance" :).

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).

I definitely fall prey to this extreme type of thinking. I consider it a form of naive idealism – believing there is always one maximally correct solution. This is why solutions such as Soylent are so appealing to me. Perhaps the cause is simply a lack of in-depth knowledge and experience in the areas for which I'm seeking a perfect solution, or maybe it's related to being on the spectrum.

IMO has hackneyed as it is: It is experiences and maturity. I was of the same mind set for most of my 20s.

As you get older (and hopefully I'm not false in assuming you are younger) family and bigger picture things come into play.

There can be one significant optimal solution... in the context of one particular problem.

Usually there are two which are not clear cut.

Very, very good reply, I'm glad I skipped past the unnecessary point-by-point at the beginning to get to the real meat of the reply.

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.

"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"

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 can't. I've tried. I don't think it's necessarily messed up priorities. I think it's that some of us have obsessive compulsions to follow through on an idea or train of thought. I like to think I'm generally personable and hospitable, but I am a completely different person in the midst of a flow. I am abrupt and dismissive - not because I don't care, but because of an irrational urgency to put ink to paper. I often turn around, minutes (to even an hour) later, and dequeue every question or thing that was asked of me, one-by-one.

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.

I mean, I think it's similar to going to the gym: no matter how much I care about what you have to say, you're never going to get above 75% attention if you interrupt me mid-workout. The blood is pumping, Im hopped up on hormones, etc. It's not even that I don't want to focus, it's that my body is geared for something else and cant switch instantly.

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.

> dequeue every question or thing that was asked of me, one-by-one.

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 :).

> 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.

Happens to me all the time :)

I'm the same way. My wife likes to say "you're not there". I haven't found a way for me to turn my mind off a problem quickly yet. One thing I do that may or may not help is if I see someone trying to tell me something that requires actual thought and feedback, and I'm not in the right mind set to provide them that, I'll let them know honestly in a diplomatic way.

When I'm working, I'm constantly aware of which stage of flow I'm in. I can work outside of flow, or inside of flow, the difference is how productive I am. I am only extremely rarely called on to produce massive volumes of code, I mostly do maintenance and feature development, not greenfielding.

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.

Honestly, I can't make that switch too quickly if I'm just reading a book for very long. When I focus I go deep, and my emotions are sort of distant and my conscious "voice" is slowed down. I think I come off as very wooden in those times, and pretty much everyone I know who I care about, and cares about me gets and respect that.

It would be rough if I had a wife who didn't...

Well said. However, some define "personal life" differently. Some meditate in caves. Some climb mountains, and maybe jump off them. Others like to hack on stuff. Or do art, which certainly can displace everything else. If you want a partner, you must find one who loves you for what you are, not what you might tolerate, with suitable tweaking.

The way I see it here is that your personal life revolves around two things, yourself and other people that you care about deeply. If you're single, this could mean your best friends.

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.

Definitely interested in learning about marriage hacks to implement if the right woman ever comes into my life. I'd like to master the yin yang of balancing flow versus scalable marriage.

I write on Quora on the topic. You can follow me here:


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.

I get that. But marriage isn't necessarily a binary thing. And all women don't have the priorities that you seem to assume.

Sure, everyone's different. But find me a woman who would honestly be ok with playing second fiddle to your career, and I'll show you a woman who just doesn't value herself. Just because they'll accept it for the sake of the relationship doesn't mean they'll like it.

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.

You're still missing my point. There are women who are honestly OK with "playing second fiddle" to their partners' careers. But they're also more committed to their own careers (or whatever) than to relationships.

"you have fucked up your priorities"

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.

> 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

Sounds like you have a wife that doesn't respect your hacking time to me.

Do you have a wife? I think this is the norm.

Obesity and 100 IQ is the norm as well.

100 IQ is the norm, sure, but why obesity?

100 IQ is a defined norm. It's a calibration.

Obesity is a statistical trend in America. 2/3rds of Americans are "overweight" or "obese"[0] according to widely used metrics.

[0] - https://www.niddk.nih.gov/health-information/health-statisti...

For IQ, in fact, I agree. That one accepts obesity as normal is telling (not everyone here is American, you know?)

I wasn't saying that I do or that anyone ought to accept obesity as normal. However, in my country (I'm an American) it is prevalent. I'm overweight (though not obese) too. It's not that weird to view it as typical. The word "norm" can be construed in a lot of ways. In one sense it just means typical or average or median. In another sense it means normative or preferred. I think we know what sense of the word we're dealing with here though.

Completely stealing this for future use.

This is the most elegant comment I've seen in a while. Well said.

The author of "How to never complete anything" seems like he was procrastinating. Procrastination is a kind of mental habit that can be hard to counter by just telling yourself to not get distracted. Yelling at yourself "JUST. GET. SHIT. DONE." is not making a dispassionate decision "you know, I'd be happier if I got to the end on my next project, I think next time I'll bang it out quickly then assess what I've got."

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.

In the middle of my desktop wallpaper I have the words "motivation is bullshit\nget it done".

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.

The basic first step in any attempt is simply... become aware of the problem. As you say, yelling at yourself is the opposite of figuring things out.

I wonder if the writer of the original article misunderstood the reason he started a side project. To me it sounded like he started it to have fun, to play with things, and to learn. Later he tacked on the goal of to make something for the world.

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.

I actually realised after watching the Drew Houston (Dropbox founder) interview [1] that the most important thing is working full time on your startup. There's too much for one person to do even if you are full time let alone working 7pm-3am every day.

[1] https://blog.ycombinator.com/drew-houston-on-how-to-build-th...

I wonder whether current wave of must have side project is not result of people having non satisfying/challenging work.

This was a really wonderful thing to read. I think it's extremely important for people to get this perspective, with its experience grounded in the realities of the work and the complexities of just being a human person.

Good advice, but loaded with assumptions that may or may not be true.

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. ;_)

> “But done” – What is “done” in software?

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...

You write beautifully.

Agreed. Well crafted prose.

> I think it’s time for you to have a vacation – a real vacation.

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.

That strikes me as a cry for help, if the only time you ever feel like you can be "on vacation" is when you're divorced from reality. Take acid all you like, but if you need it to feel relaxed... you're already in some very deep trouble and should seek help.

I do seek help, and LSD gives it to me. 'Reality' .. Ahahah!

Quid est veritas?

Now how about trying all those activities on that dose!

lolol do u want him come back from vacation ever?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact