
Ask HN: How do you motivate yourself to keep working on a project? - SamWhited
I&#x27;ve been working on a small issue tracker for a few months, and it&#x27;s been ready to release for a while, but I have one more hurdle that I just can&#x27;t convince myself to overcome: billing. I <i>hate</i> working with the payment provider I&#x27;ve chosen (but they really do seem to be the easiest thing, others I&#x27;ve looked at are no better). I end up with horribly messy code from their terrible Go SDK, everyone says their documentation is great, but as far as I can tell there&#x27;s a lot of it that all leaves out important information at every step, so I have to tease out how to deal with their million edge cases, etc.
I&#x27;ve been putting off a billing rewrite for weeks now and not working towards an actual release; it&#x27;s to the point where I&#x27;m questioning if I even want to be in this industry (although to be fair, I&#x27;ve been questioning that since before I got into software).<p>What do you do to keep yourself motivated? Especially when you hit something you hate to work on but is necessary.
======
tjkrusinski
One day, you will be dead. Each year that passes after your death, fewer and
fewer people will remember who you were, what you did or what your face looked
like. Eventually, you'll be completely forgotten. Who cares if that side
project you put out sucked or not. Might as well put it out there and see what
people think. There's a good chance too that the project won't even be
remembered even by the time you die.

The best way to get experience is to do things, so given that no one is going
to remember, might as well try to do it. Your successes won't be remembered
along with your failures.

~~~
mgolawala
That line of thinking can also be quite demotivating. For instance, it could
also be used to argue that since none of what I do matters anyway, I might as
well spend it doing something else such as watching TV, playing video games,
hiking in the forests, reading a good book, etc.

~~~
MarsAscendant
I've been thinking about that lately.

A couple of months back, I went through an existential crisis. I couldn't find
a universal, cosmological reason for being, and, therefore, for doing anything
productive. I asked myself: to what end is ouputting effort, if none of it
will ultimately matter?

It took me some time – and a Viktor Frankl quote – to get out of the rut. Yes,
my life doesn't matter as far as the Sun is concerned, or the black holes that
make up the center of our galaxy, or the dark matter, or the next grain of
sand I'll encounter... So what?

I enjoy making things. I get a kick out of it. Whenever I'm not facing the
dread of _failing_ (an excessively-frightening event that's seriously up to no
good), I'm giggly about making effort towards creating something I value.
Could be a short story. Could be another element of web design. Could be a
philosophical paragraph or two. I enjoy it.

At some point during the bleak week, I thought of killing myself. Why bother
if none of it matters the least, right? Might as well not experience any of
it.

And _then_ it clicked: it's the same fear you experience when you face the
prospect of asking for something and may be rejected as a result, amplified to
encompass my whole existence. It's like asking the boy/girl out, but if I'm
rejected, by whole _being_ is at stake. Like I'm going to lose myself if I
make the wrong move here.

"What the fuck? I'm gonna cancel my being subscription just 'cause I'm afraid
to ask the life out? Fuck no!"

What I was left with is my passion, and the fear I'm facing. I didn't just not
want to die: I wanted to _live_. I wanted to explore, to create, to love and
be loved – all a consequence of the inner passion I was afraid to realize. Why
_would_ there be need for a higher reason when, down here, I'm all good for
doing something good?

Most things you face are deeply circumstantial. Life as we know it is absurd.
If you want to live, you might as well live without resorting to fear as your
safety net.

~~~
yesenadam
I don't see why people say things like "Life as we know it is absurd". Because
we die? Or.. I don't know. What would be a non-absurd life, then?! Absurd,
compared to what? Just because some existentialists said life is absurd,
doesn't make it so. (Maybe it was to do with the cultural loss of religion,
God no longer there watching, giving life meaning - the creator of the
universe caring a lot about you personally, eternal life etc. That plus WW2..)

~~~
MarsAscendant
We're born into presumptions. We grow up surrounded in presumptions. We live
through a life full of presumptions. We die still surrounded by presumptions.

I think it's safe to say that most people act as if those presumptions are
solid borders that one can't – "not allowed to" – cross. Behaving in a way
that others see as silly, or out-of-place, or not based in reality challenges
others' presumptions, and we're _terrible_ in handling views that contradict
ours, even if said behavior does no damage to the fabric of the society the
"silly sod" is in. (Your comment's upset tone suggests as much.)

Imagine seeing a man dancing down the street. He doesn't disturb anyone, takes
precautions to avoid colliding with people and things. He has no headphones
on. What would you think of him? That he's crazy? mentally-ill, perhaps?
unstable? Maybe he's drunk? high? under a different kind of influence?

He's just dancing down the street 'cause he feels like it. No one is hurt, yet
so many are upset. Why? He's challenging the presumption that it's not okay to
dance – or express joy so openly – in front of those uninvolved, in front of
strangers.

Why do we presume so? I haven't the slightest clue. (I have an idea or two
about why it could be beneficial – social coherence being one of them – but I
don't see any ultimate cause for such a barrier.) Just because I might relate
to how the majority would feel does not automatically confirm that my feelings
are meaningful, in an existential way.

No, just 'cause someone told you something is something, doesn't mean it is.
If so many people arrive to the same conclusion independently, however, it
should say something about the validity of the state of things. I don't need
people to tell me how to feel – but I feel similar to how they feel, maybe
we're onto something.

A more productive venting for your frustration may be asking more insightful
questions. Asking what the idea of "absurd" in "absurd life" derives from is a
good start, but only as long as you seek to hear the answer, rather than have
it disproven.

For what it's worth, I find that the reasons you state in the parethesis are
of little relation to the reality of such views. They seemed, intuitively, to
have paved the way for people's disillusionment, which probably sparked a
whole lot of introspection and consideration. I don't think, however, that
people never wondered the same questions before. (Might be wrong, but hasn't
Marcus Aurelius famously expressed similar views in _Meditations_ , at the
time of Ancient Rome? I need to finish that book.)

As a matter of fact, I haven't seen a single philosopher denouncing
existentialism in favor of the more "real" reality, for things matterring
_exactly_ as much as we value them. (I'd love to be proven wrong: _that_ would
be a marvellous read.)

Have you never felt like an unwritten rule in the society around you made no
sense, regardless of how much pressure you received towards following it?
George Carlin said, early in his career (paraphrased):

> Not running with scissors – that's a good rule! That's a rule I'd like to
> follow! These motherfuckers are _sharp_! Not singing at the table, on the
> other hand... What happened there? Some poor bastard sang badly at the
> table, and the rest of us have to suffer for it? What about singing while
> standing _next to_ the table?¹

¹
[https://www.youtube.com/watch?v=2pgzWRVEqHY](https://www.youtube.com/watch?v=2pgzWRVEqHY)

The definition of "absurd", roughly, is "not following what is evidently
true". You asking me what time it is and me replying "Chicken!" is absurd. So
are so many of those presumptions we're born into, live through, and die with.
I don't think it's because we die: I think it's because most of those
presumptions make not a lick of sense, when you think about them.

~~~
lcall
You wrote: "He's just dancing down the street 'cause he feels like it. No one
is hurt, yet so many are upset. Why?"

Maybe people frown on that or treat the man awkwardly, because they see it as
"weird", which subconsciously really means "unfamiliar/uncommon and
unexplained, therefore the odds are increased of it being a threat to me or
interfering with something that is familiar or desired to me." I think that
happens a lot.

There is a story I read (which might have been in Covey's "7 Habits..." book),
about a man with his very noisy, disruptive children on a subway train: the
passengers seemed irritated, but when he explained to one passenger, that his
wife and the children's mother had just died at the hospital, from which they
were now returning home, and maybe they were all a little confused and out of
their normal behavior. Then the perception of others suddenly changed from
"control your kids" to "oh, how might I help?"

Which connects to the whole set of ideas about how we judge each other
superficially, but sometimes there could be some reason for our doing so (our
safety, or comfort levels with surprising behavior where we have no choice
whether to be around it). I expect that is the source of many social norms.
Another way to look at it is to consider that we might best not judge others
too harshly, and we might be understanding, including to those who themselves
judge others harshly, since in all those cases we don't know why they do it.
(None of which is to say we should not have any boundaries while thinking
about it.)

Various comments in this discussion are interesting. My belief in God and my
choices and the specific, long-considered reasons around that are directly
connected to why I feel peace and motivation even when things are very hard.

~~~
MarsAscendant
Are those "specific, long-considered reasons" revolve around your religious
belief? If so, could you share them? I'm an atheist, and I'm looking to
understand the mindset of people who are religious. It was never self-evident
to me, and I'm curious why it may be to others.

~~~
lcall
Thanks for asking, I hope I am not too slow to reply.

The perhaps overly short version is: I have read and tested the Book of Mormon
(a companion to the Bible) in the way it says to test it
([http://www.mormon.org](http://www.mormon.org)), and a lifetime of
experiences when I followed what I felt inside that I knew was right ("knew"
as in, I know I love my wife, or what salt tastes like, but can't necessarily
prove or explain it to someone who doesn't want anything to do with it), vs.
when I did not do what I knew I should, and the results I found from those
choices. Those things together have solidly convinced me by now (with some
time lost & hard consequences from learning the hard way at times, and real
benefits when I learned the easy way). Life is still challenging, but that is
part of the educational program I believe we signed up for, which is
worthwhile, and the tools are there for dealing with the hard things.

About the Book of Mormon (and Bible): I have given them a lifetime of almost
daily reading and contemplation (sometimes intelligently for me, sometimes
not), plus have read some books and articles where people have commented in
really fascinating ways about it (Daniel Peterson, Hugh Nibley, fairmormon.org
which tries to answer critics, & others), as well as some anti-... material,
and have thought about things from various angles ("what if it really...?"),
and am satisfied that the debate is more for those who really like debate,
while asking hard honest questions is a good thing because that is how we
learn, and good things are there for those who seek, and I truly wish the best
to all concerned, but ultimately, "proof" to satify everyone is always not
going to happen in the way that they want it, and we have to seek according to
our personal desires. The invitation from God to know for oneself, is there
(as demonstrated by the Book of Mormon, its test, and many associated things).

There is much more detail; I'm happy to share more or try to answer specific
questions, whether here, or by posting online some notes I already made but
should probably reformat & clean up somewhat. One may also email me if desired
(EDIT: at luke425 <symbol> lukecall.net). (From a practical standpoint, I
might check this thread or my email somewhere between every few hours and
every few days, but am happy to continue the conversation in that way, and
after several blank days would assume this thread is complete. Suggestions
always welcome. :)

~~~
MarsAscendant
Let me see if I understand you correctly...

Your conviction comes from the fact that you've read, almost daily, and
contemplated over the Bible and the Book of Mormons, as well as read a good
number of comments for and arguments against your position.

You also derive it from your life experiences, particularly those where you
have either done or not done what you thought you were supposed to/felt good
about doing.

Am I getting this right?

Were there any particular experiences or turning points when you may thought
"Hm. Is that what my life is about?" or "Ah-ha! _That_ is what I'm supposed to
do!"?

~~~
lcall
That is a decent summary of what I wrote, but there is much missing. It
deserves, and I want to give you, a better than off-the-cuff answer (mostly
posted at my web site) but with my schedule in the next few days it might be
Tuesday or Wednesday when I can post again here. (I don't remember how long
these discussions allow follow-up posts, but my email noted earlier is a
fallback.)

~~~
lcall
Made good progress. Looking like 1, maybe 2 more days.

------
stickfigure
Launch without billing. You can implement that later. "Free while beta! Early
adopters will get a special discount!"

Make sure you are breaking up work into small releasable steps. You should get
the "oooh ahh" feeling of tangible accomplishment at least a couple times a
week.

Get users as quickly as possible. As soon as you have one real user, it
suddenly feels like you're participating in the real world instead of working
in a hole. Announce changes to your users; positive feedback from them is
emotionally buoying, negative feedback is an opportunity to fix what you just
broke.

Create a facebook group/mailing list/forum/whatever for your early adopters.
The community will help motivate you.

Spend time refactoring. Whether or not the investment will pay back with more
productivity is irrelevant; clean code improves your quality of life and makes
you look forward to work and that alone makes it worthwhile.

~~~
burtonator
Revisit every decision... Do you REALLY need it to ship MVP?

Shipped code is better than perfect code.

Wait until people complain about something before fixing it. This is how you
prioritize.

The worst thing is not that it breaks but that people NEVER use it. If people
use it and don't complain that means they don't care.

Force yourself to ship every 1-2 weeks.. no arguments. Ship continually.

Use feature toggles. This way if something breaks you can turn it off.

------
badatshipping
Tell yourself you’ll spend five minutes working on it. This tricks your brain
into thinking it’s not a big pain commitment. Once you’ve spent five minutes
immersed in it you’ll be more willing to keep working.

Another trick is to break down the task into as many subtasks as you can, and
when you’re feeling obstinate about working, just get one small subtask done.
It also helps you visualize the finiteness of the total pain you have to
endure.

There’s basically no way to be intrinsically motivated about tedious,
pointless-feeling work, but you can connect it causally to the overall success
of your project, which presumably you do care about.

~~~
quadcore
Yes to that. There is this guy who once broke his leg climbing a big snowy
mountain. He was alone and got to go back in the valley. But it could barely
walk, was dehydrated and hungry. In very bad shape. What he did was looking
ahead a couple hundred meters and telling himself "Ok, I just go there and
stop". Once he got there, he was like "I might just go there and stop". He
reaches the valley and got saved.

~~~
neven
This sounds like Touching the Void
([https://www.imdb.com/title/tt0379557/](https://www.imdb.com/title/tt0379557/)).

------
aizatto
I've personally spent a lot of time examining my own motivation. I built a
project called Deep Thought
[https://www.deepthoughtapp.com/en/keywords/motivation/](https://www.deepthoughtapp.com/en/keywords/motivation/)

I have several techniques:

\- Be kind to yourself

\- Be comfortable with not finishing everything you need to do today

\- Break down large tasks into smaller tasks

\- I break down the small tasks using [https://asana.com/](https://asana.com/)

\- Complete smaller tasks to gain motivation/momentum

\- I try to use other smaller tasks (not related to the project) to build
momentum

\- Break up my day into time slices

    
    
      - Gym for 1 hour
    
      - Work for 1-2 hours
    
      - Lunch for 1 hour
    
      - Work for 1-2 hours
    
      - Some other activity for 1 hour
    

\- I use my Apple Watch timer to trigger me to move along

\- You can use a time tracking of sorts. I've been trying
[https://clockify.me/](https://clockify.me/)

    
    
      - I use tags to indicate what I'm doing:
    
        - Relax
    
        - Play
    
        - Planning
    
        - Research
    
        - Programming
    

\- I set in my calendar times for

    
    
      - Breakfast
    
      - Reflection
    
      - Work
    
      - Gym
    
      - Social

~~~
chillwaves
The way you structure matches my weaknesses nicely (such as use momentum from
smaller tasks), thanks for sharing.

------
robbrown451
We have an "accountability group" that is amazingly powerful at addressing
this, for people who are willing to admit they have issues with
procrastination and motivation, and are committed to addressing it and helping
others address it as well. This is mostly for the self-employed especially
those that otherwise work mostly solo so they don't otherwise get a lot of
external stimulus, which is essential to many people.

The only thing I've found that comes anywhere close to this is Adderall, and
that has awful side effects.

I've been in several of these type of groups over the years, and they usually
fail because people flake and no one calls them on it. I think we've finally
gotten the formula right though. The main thing is that people who aren't
doing their part will get a warning and get removed from the group if they
don't take it to heart. We make it indirect....instead of calling someone on
it directly, you tell someone else, and they address it with the person.

I could describe our whole system in more detail (there are a lot of little
tweaks we've made), but the main thing that is important is that you have to
think of it as a complex engine that needs fine tuning to keep "firing on all
cylinders". Don't be shy about telling others what you need. But mostly, make
sure that everyone is vigilant. If you flake on the tasks you are committing
to, we can work with that. If you flake on monitoring others, you get a
warning and if you keep doing it you are out.

One of the things we've found works well is to structure tasks so that getting
started in the morning (or after a long break) is easy and -- if possible --
fun. That is, you never leave a task in a state where you have a long "warm
up" period. Get it to a place where it is satisfying to work with before you
put it down. This often means finishing up a major task, then starting a new
one and just getting it going before you call it a day. And of course write
some documentation (which could just be a todo list) before you stop work.

We're eventually planning on doing this in a bigger way (with a web app, etc),
but for now we're open to bringing new people in if they are very VERY
committed. Get in touch if you are interested (rjbrown at gmail). You need to
be willing to use Skype video chat several times a day.

~~~
astockwell
Would love to see a "whole system in more detail" write-up!

~~~
robbrown451
It's in the works, really! But right now I am on a schedule and don't have
time to do something for public consumption. :)

However, I'll add a few things.

Optimum group size is about 7-10.

Everyone has a monitor, that is, a person who is holding them accountable.
These get randomly switched out every two weeks. You never are monitoring your
own monitor.

Every monitor has a manager. Again, switched out randomly every two weeks.
Everyone will tend to be a monitor of one other person else, and a manager of
another, at any given time.

There is one person who is overall manager, and that person keeps private tabs
on everyone, including how people rate one another in terms of committing to
their tasks and following through, monitoring others, and managing.

If a person feels that their monitor is not doing their job, they communicate
privately to the manager. That person will step in and try to address it.
Diplomacy is important. Don't be mean or insulting, but also don't tolerate
flaking. Fix problems immediately.

Everyone checks in several times a day with their monitor, via one on one
video chat. It is important to have a direct discussion. Monitors always need
to be vigilant for "avoiders."

Monitors should attempt to understand the project the person is working on,
and everyone should attempt to make their project presentable to their
monitor.

If you say "this is too much effort and is taking time away from my actual
tasks," you are probably not ready for a system like this. Those who need it
will recognize the importance of spending the time. Always keep in mind, there
is an alternative, a life of "working for The Man." This is better.

~~~
mango_
This seems like a very effective solution, thanks for the idea.

~~~
robbrown451
No problem. We're going to start a new group (and also do a web site and an
app), maybe you'd like to join?

~~~
danielplainview
Who specifically is the “overall manager?” And how does working for the
manager differ at all from working “for the man”?

I might wanna join

~~~
robbrown451
Currently I would probably be the overall manager for any that I'm involved
in, but it could be anyone as long as they have the skills. And the manager is
mostly just making sure the whole system keeps working well, while individual
monitors (everyone is a monitor) are the ones most directly keeping people on
task.

It sounds complicated, but it sort of takes the approach of "everything should
be a simple as possible, but no simpler." It just has enough indirectness to
make it much less susceptible to "death spirals."

It differs from working for "the man" because you still decide what projects
you want to work on and so forth. You are working for yourself, but the system
(manager/monitors) is helping you keep on task in ways you have already
decided you want to do.

Really, the manager can be considered an agent of your long term interests
(i.e. your desire to finish your projects and otherwise get things done),
helping you defeat your short term interests (which might be your love of
sleeping in, watching TV or playing video games, or whatever it is you do when
you procrastinate).

Get in touch if you want to join. I've got a few people but we could use a few
more. We are starting a new group since I've sort of spun off the old one

~~~
danielplainview
Fascinating. Thank you for the super considerate response !

------
ishjoh
If I were in your shoes (and I've been at this exact stage), I would manually
bill until I had enough clients to worry about it.

You can do a half and half approach. Let the user know that they will be
invoiced, and a representative will reach out to take their payment
information. For example, if I was using Stripe (the payment processor I'm
familiar with), I would setup my register button to just send me an email with
data that I could then enter into Stripe manually, ie. name, email address,
etc. I wouldn't include CC info in this because I wouldn't want to deal with
compliance. Since you told them to expect a call and you're invoicing them
you've got a good reason to call. If you go this route let the user use your
product right away. The other cool thing about this approach is that you can
also start to build a rapport with your clients, which pays dividends when you
want to solicit feedback.

I find that motivation really spikes when you start seeing sales and money
rolling in.

------
vthallam
Is billing really important for your project? like can you release and
iterate?

The biggest mistake I did when I was working on a reasonably bigger project is
that I wanted all modules to be in there to Go Live, to the point I ended up
fixing browser related bugs before I ship assuming users will hate the product
if I don't.

I never ended up launching it and since then, I stuck to the real MVP, as in
the smallest thing I could ship. This helped me launch 2 side projects and got
insane confidence boost.

~~~
swlkr
I agree here, billing is not something I would put in an MVP. Odds are no one
will sign up, or so few people will sign up that that billing code will just
go to waste.

Bill manually for the first few customers.

------
WillPostForFood
Get married, buy a house, have kids. Then you know you have to finish your
work because you are responsible for others.

~~~
natpalmer1776
I'm 22 with a spouse and newborn son. I have to say that this has done more
for my emotional and professional development than anything else could have at
this point in my life.

Knowing my son will indirectly inherit my own habits has me focusing a lot on
my productivity and accountability.

~~~
johndubchak
Enjoy your son, he will grow so fast. Spend moments you have with him totally
focused on him, not on how to teach him to be productive, at least not in his
early years. Teach him to explore, be curious and to love life. Productivity
will come.

~~~
natpalmer1776
This is why I wrote 'indirectly'

The most valuable thing I can give him is passion. It's not my responsibility
to direct it towards a preferred venue, rather to expose him to the world in a
safe way that allows him to explore what makes him happy.

Accountability and candidness allows people to trust in you and forms the
foundation of good leadership. Productivity allows one to drive their efforts
towards their passion into tangible product or work produced.

If he can create value and convince others that he is consistent in his
beliefs, then it is my hope that the world will allow him to grow to his
fullest potential.

It's my hope that by observation of some of these core values being actively
expressed by my own actions, it will make it easier for him to adopt them as
he matures.

------
saluki
Release it NOW with a 30 day trial. Once someone signs up you have 30 days to
complete the billing integration.

Hopefully you're using Stripe (if you can) check it out if you haven't.

Also keep it simple in the beginning just handle the recurring payments, you
can do cancellations, refunds manually in the beginning.

------
nyrulez
Motivation is a personal topic but there seem to be certain themes. I can
share mine. I have been a solo founder for a few months and this is something
I am also facing every single day.

\- Have something to be excited about. There is the rational reason to do
something, but there is also something that is emotional and exciting about
it. It could be about seeing your idea used by many people, or just the vision
of building something real out there (which is mighty hard by itself). It
could be even things that will happen later as a result of this project - may
be it will open up new avenues for you to do other exciting things, live a
different lifestyle, boost your confidence and so on. I call it the "emotional
fingerprint" that we tend to get excited about. Identify the biggest 1-3
things that excite you greatly, even if they are really "embarrassing" to
share with others. Keep them on the fore-front of your mind every day.

\- Have a few people in your network or outside it who can care about either
you or the project, and make sure you talk to them regularly. Your
cheerleaders. Show them what you are doing, get their feedback, look for
signals. It can feel like a waste of time as an engineer, but in my experience
really helps me get outside my own head.

\- See frustrations as learning. Think about the long haul. Is this just a one
time project you're doing or do you want to be in it for the longer term,
perhaps for multiple projects down the road? anything worthwhile you'll do
will have frustrating or unexpected elements built in. How you deal with them
also strengthens you for the long run.

One mental approach I apply is to treat each difficulty as a puzzle to be
solved. Every time you solve one, you become better at solving similar puzzles
in the future. It is tempting to want to know the answers in advance to
everything. Forego that temptation and embrace "puzzle-solving" everyday to
issues you have never encountered before. What I am implying is "gamifying"
this whole process a little bit. If you have played frustrating puzzle games
before, you can perhaps relate.

Just my 2 cents on this topic :)

~~~
codeproject
yours is the startup founder version of Goethe's quote:

Every day we should hear at least one little song, read one good poem, see one
exquisite picture, and, if possible, speak a few sensible words.

------
mrburton
It's simple - stop trying to right prefect code because it doesn't exist.
Next, go sell it. Building a company means creating a balance and from what I
hear, it's one sided; software development.

Get people using it. Get people to give you feedback to drive the features,
Engineers typically suck at sales and get caught up in building. Release it.

Your customers don't give a shit about the code. I know you do and I respect
that, but release it. Make a few extra dollars and see how it goes.

What's the worse that can happen? People don't want to pay for it and you
terminate the project? Or even worse, enough people want to pay for it and you
invest more time into it :)

~~~
SamWhited
The customers care about the code when it breaks, overcharges them or keeps
billing them, and then they sue me. I don't need to build perfect code, but I
do need to make sure that something as important as this is done right the
first time and doesn't hurt my customers. Customers are trusting me with the
ability to charge them, that's something I won't take shortcuts on.

~~~
runeks
Do you have any customers yet?

I’d like to echo the comment from above: release now, and do billing manually.
Once you start getting customers, you’ll be motivated to write a proper
billing module.

------
davelnewton
If it's necessary then motivation is irrelevant. You don't have to be
motivated, you have to work.

Your problem isn't motivation, it's not understanding that not all work is, or
needs to be, pleasant, or intrinsically enjoyable.

Look at what your goal is: if the _result_ isn't motivating, then the
unpleasant work isn't the issue, rather your goal.

~~~
MarsAscendant
This kind of attitude, diminishing of the person's feelings, isn't helping
said person overcome their trouble with keeping working.

Not everyone's built with the kind of internal drive that makes you go for it
without much hesitation. Some of us need a certain guidance, an understanding
of the process.

In an ideal world, your message wouldn't even be mentioned. The one we're
living in is far from ideal. We live in a complicated world, filled with
norms, expectations, fears, desires, anxieties, and passions. Making sense of
all that takes beyond picking the right goal.

~~~
davelnewton
I disagree. This doesn't "diminish the person's feelings", it's saying that
feelings aren't always relevant. Not being motivated is part of life. If
something _must_ be done motivation (or its lack) doesn't matter. Sometimes
the suck must be embraced, feelings be damned.

------
jinfiesto
Maybe I'm just old and crusty, but I think motivation and passion are
overrated. Just put your butt in the chair and do it. Passion and motivation
are important, but no matter how passionate you are, you're eventually going
to have lows that you're not going to get past unless you just slog through.
That takes a certain amount of discipline.

~~~
johnstorey
This. Though I also may be old and crusty. Mark Twain said it nicely: "If you
have to eat a frog, do it first thing in the morning. If you have to eat two,
eat the bigger one first."

The longer you wait to do something you should but don't want to, the more
difficult it will be to do. On top of that, you'll have the mental "weight" of
knowing in the back of your mind it's sitting there, waiting for you. Best to
just do it and get it out of the way.

------
CodeWriter23
“The biggest challenge in business is not the competition, it’s what goes on
inside your own head.” —-Barbara Corcoran

From my experience, getting to release, it’s like I feel like I’m going to
fail. The product isn’t attractive. The buckets of money won’t fall from the
sky.

And you know what, that’s 100% true.

Engineering is but a small piece of making a business. “Build it and they
won’t come” is what a bad ass marketing guy I know would say. So the thing is,
you will NEVER figure out how to shake money loose from other people until you
put it out there. So you have some choices, accept that the next phase is not
going to be easy, and push through to learn and become the same bad ass at
company as you are at coding. Or rm -rf your codebase and go back to your job.
Or waste even more time before making one choice or the other. Procrastination
does not change the reality of having to make tough choices; it merely makes
getting to the results on the other side come much later.

------
jwr
As a fellow bootstrapper, I feel your pain. Especially payment providers are a
terrible part of working on an online app (in my case, I live my horrors with
Braintree — I heard Stripe is better, but they won't sell to me, as my
business is "based" (?) in one of the "non-supported" EU countries).

In my case, the worst parts are a) payment provider, b) invoicing. I think
it's because I keep thinking of this work as time wasted with zero added
value: I am not making my product better for my customers in any way.

The way I find motivation: I look at my MRR graph (think of an imaginary one
if you don't have revenue yet) and consider my life goals: why am I doing this
project? How will the success impact my life and that of my family? Will this
work move me towards my goals?

Also, if your provider is Braintree, I have some bad news for you: there will
be worse times in your future.

~~~
SamWhited
I'm actually using Stripe; it's pretty bad too, but I don't know much about
Braintree since I generally avoid paypal at all costs so no idea if it's
better or worse :)

------
mindcrime
_What do you do to keep yourself motivated? Especially when you hit something
you hate to work on but is necessary._

I don't really know how to tell you anything useful on this. A lot of my
motivation seems to just be an intrinsic part of my personality. I don't
generally have a hard time being motivated. I just love the process and act of
building things.

Of course there are times when I hit the "schlep"[1] stuff, which is not as
enjoyable. How I grind through that is just by reminding myself that it's
inevitable and necessary, and that all the other hard work I put in will be
worthless if I don't get this unpleasant stuff done and complete the project.

Lastly, and to be completely honest... as much as I enjoy building for the
sake of building, I do also have financial goals. There are things I want to
do, see, experience, etc., that require more money. And I see the projects I
work on as a path to potentially being more wealthy than I am today. So while
you may accuse me of being shallow, I do occasionally pick up an issue of Top
Gear magazine, or Motor Trend, or whatever, and look at the cars I'd love to
own one day, and remind myself "this is one of the reasons I work hard, and
grind through the schleps". Or maybe it's a travel guide to some exotic locale
I'd like to visit, or whatever.

And while it's (apparently) "politically incorrect" in this day and age to
have, and openly acknowledge, a desire to attain significant wealth, I posit
that there's nothing wrong with a drive to gain wealth, and to use that as a
form of motivation.

So yeah, my motivation is a mixture of both intrinsic and extrinsic, but it's
really more the former. I'd love building software even if I didn't get paid
for it at all, and even if I weren't trying to build something to sell.

[1]:
[http://www.paulgraham.com/schlep.html](http://www.paulgraham.com/schlep.html)

------
drenvuk
This seems more like eating broccoli than keeping up motivation. If that's the
case then it's better to force feed yourself. Clear your schedule, pick a day,
go into your /etc/hosts and block every other site that you don't need in
order to finish your rewrite, drink a cup of coffee and then don't leave your
seat except to go to the bathroom. If the work spills into the next day then
so be it but get it done in one session. There is no easy way around working
with code you hate. Some people say use moderation and do it slowly but
dealing with badly cooked broccoli sucks. Shove it down your throat and finish
with a chaser.

If you want it badly enough then just force it. The rewrite should only happen
once.

------
_____s
Unless you absolutely need to integrate with the payment provider, release it
and work on the payment integration after that.

I've been in the same position. For me, if I'm working on a substantial
project solo, one great source of motivation is when people are using it,
giving me feedback, etc. So when you have actual usage, some momentum, it's
(generally) easier to keep going. The more time goes by without actually
releasing something, the easier it is to lose momentum.

Also, if you really don't like a provider, it's generally not worth your time
to use them. You will end up spending some time maintaining in the future too
and you will resent it, so probably better to find something that's good to
work with.

------
lifeisstillgood
Intrinsic motivation is really hard - but getting positive feedback from your
peers rocks - so just share it - I threw a link to a github repo out over the
weekend just because, and ended up on the HN front page and nearly 400 stars.
That simple act meant I now have a new side project near the top of my list
that I was not expecting and you know what - it feels really nice - people
liked it enough to say nice things and comment.

Just throw it out there and see what happens - you don't even need the
billing. Just give us all a guest pass for a month - you might be pleasantly
surprised.

------
swlkr
I've drastically reduced the motivation required to complete projects.

I set daily goals at the start of the day, really small ones and then by the
end of the day, I complete at least one of those goals and then that's it. It
might take 20 minutes to an hour to add a bit of code that will go into the
final feature.

Then I mark that I did that task and keep track of my "streak".

That's the thing that keeps me going. My streak is 13 days now, since the
beginning of the year on my current project. I'm not going to break it now.
It's less about the project and more about the streak.

~~~
51lver
I love it. Treat tasks like trying to beat my galaga score instead of like a
mario stage to get to the end of.

------
strictfp
For what it's worth, I totally agree with you. Payment providers assume that
you spend ages understanding their implementation and mental model. I think
the main problem is that everyone thinks it's boring, so no talented coders
have written an api that abstracts all the finicky details away.

When it comes to motivation, I usually pick my tasks in such a way that I
don't exhaust myself. Typically, I would push a daunting task until I have a
really good day and feel ready for a new challenge.

------
karmelapple
Get feedback from someone, anyone.

Family, friend, partner, coworker, even random stranger at the bar or a
meetup.

Showing what you've made to someone is so much different than trying it
yourself.

* The strange UI choices you made will be pointed out

* You will feel embarrassed about the slow loading of something

* You will get questions that you never thought about, and questions you thought about but perhaps thought nobody else would care about.

In my case, I'll always get motivated to do _something_ with a project after I
show someone else.

------
nimbius
disclosure: im an engine mechanic for a midsize chain of midwestern truck
shops.

We dont per-say have projects, we have jobs (but theyre similar!) we took on
overhauling every school bus for the largest city in the state. Its a tip to
tail job that takes about 1500 hours per vehicle.

Our upholstery subcontractor sucks. They work largely for RV companies and
either have a hard time procuring seat fabric, or a hard time hiring anyone
who can reasonably upholster seats 8 hours a day. Theyre based out of florida
and so arent used to working in cold midwest weather.

brake upgrades take ages because these are midsize trucks and we're going
through tooling fast on turning rotors. management doesnt understand this at
all, and so constantly drags their feet having to order new carbide inserts.

my motivation is for what comes after we're done. its the need at the end of
the job that keeps me going. new steering, heaters, and seats all make for
safer buses for kids and professional drivers. I guess find out what youre
doing and why youre really doing it. put yourself in touch with the people who
use this software and spend a day in their shoes.

------
rrggrr
Arnold Levine. My mentor. Died about ten years ago. Here's how he taught me to
stay motivated, and I'm going to tell it the way he would want it told, it
won't be PC.

Me: "I can do this anymore, I'm sick of it."

Him: "Really?".

Me: "Yeah, its mind numbing. I'm turning to jelly."

Him: (cold stare like he was about to murder me. 60 years of rage, booze,
cigarettes, diabetes and disappointment bearing down on my through eyes that
became dead in a flash).

Him: "If I put a fucking gun to your head and told you I'm gonna blow your
brains all over this office could you keep going?

Me: (nervous laugh).

Him: (louder and angrier). "You think this is joke? You think I'm fucking
kidding?"

Me: No. You're serious.

Him: That's right. Now shut the fuck up and keep working.

No, this wasn't abuse. It wasn't bullying. There was no insensitivity. I
wasn't sure he wouldn't get violent in some way if I back talked. He was
teaching me a lesson about strength and humility as I wrestled with my
frustration and self-importance. There are a dozen stories like this from
working with him, not one the same. I miss him. I loved the guy.

~~~
51lver
I should probably hang out with my angry chainsmoking bit-twiddling mentor
more while he's still around. Telling people who "can" that they "should" is
something where delivery makes all the difference. Those greybeards don't
tolerate slacking or whining when it's business time, and when you've earned a
smile for being clever, damn it's good. Also there are so many more nuances to
the appropriate use of the word "fuck" I don't understand yet.

------
Arqu
Seems like this is a common theme amongst people working on side projects. My
5c is that you do two things to get to release: 1) Cut down to all but the
essential, think what really means Minimum, Viable and Product 2) Have a task
board - its a good motivation to watch how you burn down through it 3) Keep
your eye on the higher goal - the boring or hard parts are a means to an end
here

As far as personal experience - took me 6 years to launch with the bulk
happening in 6 months where I've decided I WILL LAUNCH FFS. Billing is a PITA
and am actually dealing with it at this exact moment. It's crap, always will
be, but my motivation is that this is what will aid making money which will
keep the project alive, so yeah, means to an end. Lastly, I will launch if it
kills me - I'm still kicking but have probably spent way to much time and
nerves on some stuff.

I guess take it as a challenge and look at it like this: Only the ones that go
through it all get to the end, all others just abandon it and fail. Be the one
that sees it through.

------
jlarocco
> What do you do to keep yourself motivated? Especially when you hit something
> you hate to work on but is necessary.

A while back I read "Getting Things Done: The Art of Stress Free Productivity"
[1], and though I'm not completely sold on his methodology, the author has a
few ideas and techniques I really liked, that have helped me get motivated.

One of them is to figure out the next concrete, actionable task that needs to
be done to make progress, and do that. Don't think about a million edge cases,
or a big rewrite, but instead focus on the single edge case that's blocking
you right now, or the first thing you need to do to start a rewrite, and then
go do that smaller, specific thing.

It will feel good to have it done, and it'll motivate you to get to work on
the next small step.

[https://www.amazon.com/Getting-Things-Done-Stress-Free-
Produ...](https://www.amazon.com/Getting-Things-Done-Stress-Free-Productivity-
ebook/dp/B00KWG9M2E/)

------
billconan
I'm not a persistent person and have generated tons of half baked prototypes.
But throughout the years, I found myself improved in terms of side-project
management, from not able to launch anything, to launch but abandon something,
and to actively maintain a project and feel rewarding. I feel that I'm in a
state that working on side-project has become my habit, instead of an
impulsive spree. Every night, I spend 2 hours on it, otherwise, I have no
better way to kill my time anyways.

What I learned is that focusing on short term goals, is better than thinking
or designing for the far future. I use gitlab, and its issue board helps me
organize the tasks. When I don't feel like working, like when I'm tired from
work, I still spend time looking at the task board. I reorder the tasks based
on their impacts and based on their difficulty. So that I can interleave the
hard and the easy ones, and make sure I can always finish some tasks within 2
hours each day.

------
justinclift
> What do you do to keep yourself motivated? Especially when you hit something
> you hate to work on but is necessary.

Refresh the end goal you're working towards in your mind. Re-establish your
connection to it.

It's the end goal that you're working towards, and this (crap) next step is
just a small part in the way of you getting there. :)

Saying this from the perspective of "Loss of motivation generally means you've
forgotten or lost the emotional connection to your end goal".

Much of the time, _if_ the end goal is really something you personally value,
it shouldn't be too hard to re-establish the connection to it.

For me, it's mostly a case of needing to find a quiet place, then think of the
goal, what it means to me, etc. Motivation seems to then spring forth fairly
readily.

Only works (longer term) for goals I feel are really important (to me). For
trivial stuff, trying to regain motivation like this just doesn't work. :)

------
mijustin
The most helpful thing for me (after years of working on projects alone) was
to find a partner!

It's hard to show up every day, by yourself. When there's no one to cheer you
on and no one to be accountable to, it's easier to give up.

For years, I tried building projects on my own. But I had to limit myself
because I didn't have the technical expertise to bring all my ideas to life.

Then I met Jon at XOXO festival.

Over the years, we became friends. We collaborated on a few projects. And
then, we decided to work together on
[https://transistor.fm](https://transistor.fm) (a podcast hosting and
analytics platform).

Jon is a gifted software developer. He has a good eye for design.

My expertise is in customer research, marketing, and product development.

Combined, we've been able to build Transistor into something much greater than
we could have achieved on our own.

------
newnewpdro
I just tell myself "this too shall pass" and carry on.

Not just dev projects, everything in life that I decide to do but in the thick
of it start hating myself, I repeat those four words. It's usually when
running or digging, physical stuff that starts to really suck halfway through.

I also think subjecting oneself to activities which _really_ suck, physically
difficult and painful things, and persevering through them, is generally
helpful. It tempers oneself by conquering higher forms of suffering, no amount
of poorly documented APIs can shine a light to a week of digging with a
pickaxe and shovel.

Just getting to being able to run 4+ miles teaches some useful lessons IMO.
There's an entire headspace to be explored in doing endurance activities that
probably confers benefits everywhere in life, not even considering the
exercise aspect.

------
teunispeters
How I deal with it: Make a list of things to be done, and a schedule. Do the
things. Schedule in time off, relaxation, distraction, any of it. And allow
enough "give" to take moments if the head-against-wall moments get too much at
a moment.

But always keep to the schedule. Although a hint : if you need to work
overtime to fit the plan, the plan is bad and needs to be fixed. (although
"need more people" is an acceptable excuse, and can be very enjoyable if you
CAN get more people and if it works, it's an acceptable answer to fixing plan
too)

I've worked several jobs through like this (all successful - moving on is good
though too if you're doing the same frustrating thing too long). And I don't
regret the work I did because in the long run the annoying parts were
resolved.

------
jungler
First, make sure each task you're doing fits into a conceptually coherent
whole. [0] This saves you time and effort learning that it isn't from the
customer feedback. This also creates a motivational point beyond "I need this
to make monies", since now building the software means you get to see an
abstract philosophy come alive.

Second, design a schedule for yourself that both lets you take out and put
away the project. If you aren't hugely inclined to solve programming puzzles
that are created by other people's code, it's understandable; the trick is in
making it _not_ be the number one priority(because a boring task like this is
no longer the fun learning stage of coding), but rather to make it one of many
chores on your list. You have a household; there is always something to
maintain in it, whether it's dry shoe leather, mildew on the walls, a load of
laundry. Allocate 10 minutes each hour to that stuff, then return to the
coding with the momentum from that. Huge blocks of screen time never helped
anyone. (And yes, overall health matters. Getting more sleep, exercise,
correcting a nutritional deficiency, can all be huge for motivation.)

During the coding, aim to finish it badly(placeholder level) and then go back
and fix it in steps. These tasks get worse when you have to juggle a whole
pile of new abstractions all at once: skip to a preset result and then work
backwards from that into something that is configurable. Good code doesn't
come out of your forehead fully formed, it takes some iteration.

If you don't have an estimate for how long anything takes, that's also a
demotivator. You can calibrate one by finding a similar project, getting its
start-to-release dates, and working backwards to get milestone dates. Don't
worry about time per task, worry about the overall product coming into shape.
Placeholders as milestone goals can help hugely in getting you to dig into the
design and make it its best.

[0] [http://ludamix.com/dive/](http://ludamix.com/dive/)

------
muzani
Motivation is directly linked to how much choice we have over it.

If we absolutely have to do that billing module, it's very demotivating. But
if we, by choice, choose to do the billing module, it's much more motivating.

This is where Scrum either succeeds or fails. If a scrum master just decides
to assign tasks for the week, the people doing them will be much less
motivated. But scrum tricks the people doing the work into pulling it from the
backlog, and choosing to work on it.

So somehow, you have to give yourself control over the project. Don't tell
yourself you _have_ to get it done. Look at it as a puzzle you want to solve,
one where the documentation gives you hints, but not the solution. Be a
hacker.

------
rifung
> it's to the point where I'm questioning if I even want to be in this
> industry (although to be fair, I've been questioning that since before I got
> into software). What do you do to keep yourself motivated? Especially when
> you hit something you hate to work on but is necessary.

I sympathize with you greatly actually. I used to seriously hate work. Then
one day I was fired (or more precisely I didn't get past the trial period) and
unemployed. After that point I realized as much as I might dislike my job, I
dislike it a lot less than the stress of being unemployed, going further and
further into debt, and wondering how I can get a job.

------
fyfy18
Regarding payments I'd suggest you integrate with something that handles all
the tax compliance responsibilities and invoicing for you. You can relatively
easily do it yourself with a few weekends work, but it's not really worth it
when you are just getting started (especially as you don't know if your
business will take off).

I went the hard route and integrated Stripe from the get go, but am now
planning to move to Paddle as the amount of work I have to do to enter
invoices into my accountants system each month isn't worth it for what I'm
making right now.

~~~
SamWhited
Paddle looks really nice actually; switching providers probably won't help
with the motivation factor, and it looks like they don't provide HTTP API SDKs
(that's a lot of acronyms, sorry) in any language, so it would be a bit more
work to use, not to mention that it's a lot more expensive, but I wonder if
it's worth it either way? You've got me curious, I'll have to look into it a
bit. Thanks.

~~~
SamWhited
eww, that being said, their API appears to use exclusively POST requests for
everything (even things where you're getting something) and puts auth in the
body. I guess it's no big deal, but I'm not sure how I feel about that. It's
harder with my HTTP library because I can't abstract away the post parameters
as easily as I can headers (without doing unnecessary decoding then re-
encoding them), but that's arguably a problem with my HTTP library, not
Paddle. Still, feels different to everything else, which is odd.

~~~
SamWhited
Upon further investigation, nothing about their API is consistent or well done
(and/or the docs are terrible and incomplete). I understand that this is a
small company, but this level of inattention to detail is unacceptable. What
are they doing with my customers financial data if they can't even get a
simple API right? Even if I did decide to use them, the docs are so incomplete
I'm not sure that I could actually build an integration without reverse
engineering what half these values can be, or guessing at parameters that are
used in examples but left out of the actual list (where a list even exists),
etc.

------
kodablah
I split time. I have things I like to do and things I have to do. I often keep
a couple projects going at a time. I make a reasonable milestone and do the
drudgery in the morning until I hit it (often midday, sometimes later,
sometimes earlier), then I give myself the rest of the day for fun. This can
be researching new tech, working on a project I actually enjoy, etc. I'm only
worth a half-day of sucky work each day anyways, whether I self-motivate or
languish, so might as well knock it out.

------
stunt
> What do you do to keep yourself motivated? Especially when you hit
> something, you hate to work on but is necessary.

In addition to other recommendations,

Learn the basics of Product Design and UX Design. It is a useful skill and a
nice addition for you if you are building something. It helps you in
prioritization, problem mapping, writing proper user stories, and teaches you
to think about user journey and define project goals.

And by having those, you will feel closer to the end user which gives you the
motivation to work on the project.

------
jenscow
Yes, been there. A few times.

Payment processors are awful to work with... and it's sometimes tricky to test
with.

They really do make you question your desire to remain on this planet, let
alone continue to work on it!

I've found that more documentation they provide just adds to the confusion and
contradictions. Sometimes contacting support helps... more often than not,
they'll provide you with a key ingredient that isn't even in the
documentation!

(failing that, for 1.0 just go for a Paypal button)

~~~
SamWhited
I should try contacting support; thanks. Some of the weird things I've run
into are so poorly thought out that I can't believe they'd actually be an
intentional part of their product. I've talked to some developers on their IRC
channel, but typically (and this is something I strive as hard as possible not
to do on my own projects), they were just so used to it that they couldn't
understand why anyone wouldn't know how parts of the system worked even if it
wasn't documented.

~~~
stickfigure
I've worked with quite a few payments platforms over my career. Most of them
are terrible, but even the good ones require adopting their conceptual model.
Sometimes that can require some adjustment, especially if you already have
preconceived notions of how _you_ want billing to work.

Example: I was dumbfounded that Stripe lets you update a balance, but offers
no way to do it atomically. Support was clueless. However, on the IRC channel
someone suggested creating invoices instead of bumping the balance, which in
retrospect is a much better idea than maintaining the history in my database
(although it ties me deeper to their system).

You really have to "bend like a reed" and conform to their patterns. And
whatever you do, don't try to create an abstraction across multiple billing
systems until after you've built up some expertise.

~~~
SamWhited
I _think_ I am actually using it in the way it's meant to be used, is the sad
thing. I can't quite get a good read on that from their developers though, so
it's hard to tell.

------
auspex
This always helped me: Baby steps over time walk a mile.

Just work on a something every day. It can be small or big it doesn't matter
just make progress. Over time you will see how much you have accomplished.

Instead of thinking that you have to write the entire billing functionality,
think I just need to get an API token from the server today, fix a typo or
whatever... and if you aren't feeling motivated to continue after after the
small task be done for the day.

------
maxxxxx
When I read "Go SDK" I wonder if there are better SDKs in other languages from
this provider. I often find that although they advertise having 10 different
SDKs in reality only one or two actually work while others are just a badly
maintained afterthought. Happens a lot to us .NET users. I find it better to
write the code parts that deal with the SDK in one of the premier languages
and then integrate this into my code.

~~~
SamWhited
The language (or any of the specific problems really) doesn't really matter, I
probably shouldn't have mentioned it. Realistically most (though not all) of
the problems are with their platform and it makes it really hard for me to
want to continue using it, but I haven't found an alternative and even if I
did I'm so demotivated at this point I don't know that I'd even want to strip
it all out and start over.

------
WhompingWindows
Usually I just write down the easiest possible tasks that I know I can get
done, and if that fails, I ask colleagues and mentors for ideas. Ask yourself
what's an easy way to get started? Do you need to use a small carrot to reward
yourself? Can you do it at a certain time of day under certain conditions? Can
you collaborate with someone else to do the things you really don't want to?

------
51lver
License the core to a saas company to pay per seat and let them handle
billing.

Personally, I like micro-rewards for getting little tasks done. Things like,
spending some time on a side project after doing some house chores, or
grabbing a brewski after doing taxes. Little things. It could help if it is
compatible with your voice-in-head firmware.

~~~
rabidrat
How do you go about doing this (licensing the core to another company)? Do you
call up SaaS companies in the phone book until the receptionist connects you
with the VP of New Indie Product Acquisition?

------
adyus
Motivation is a highly personal thing, but perhaps I can help you with that
hurdle.

Have you explored [https://www.pubilling.io/](https://www.pubilling.io/) or
the open-source [http://killbill.io/](http://killbill.io/)?

------
stanmancan
It’s been said a few times now but either launch without billing or launch
with manual billing. Set up a Freshbooks account and send people a recurring
invoice every month. It only takes a minute to setup each user, you can launch
without rewriting the billing side, and you can still get paid.

------
matt_the_bass
What is the purpose of your side project? Mine is to make me happy. If that is
the same as yours, then take whichever route makes you happy. Are you more
happy launching an “imperfect” product. Or are you more happy striking for
that “perfect” solution.

IMHO a side project should make you happy.

------
aloukissas
I recently found a workflow that really helps me stay on track: blog piece-by-
piece as I'm working on the project. My current one is "A month of React
Native", where I'm learning RN and building my first mobile app.

This blog-driven development works pretty well :)

------
Walkman
For me personally, the only reason for doing something is always that if it is
useful for others (solves a problem, creates real value in the world) it worth
doing. Extra points if I could make money with it :). If not, I was not able
to continue working on it.

------
codingdave
If you hate working with a specific provider, then don't. It doesn't matter if
everyone else loves them if it isn't working for you. Go find someone you do
like, that meets your requirements, and you will likely re-gain motivation in
the process.

~~~
SamWhited
The problem is that as far as I can tell, they really are the easiest to use
(it is Stripe, I didn't want to bash on them but I guess it's important if
this veers into recommendations). I don't have a particularly complicated
setup, but basically every little thing is impossible (just stupid stuff like
if I cancel the last item on a subscription it will fail instead of canceling
the subscription, so I always have to make an API call to check if the
subscription only has one item, and if so cancel that, and if not cancel the
specific item the user is dropping. It's insanely irritating the amount of
weird little workarounds I have to do for oddities in the API, or where one
API concept isn't consistent with another, etc.

If there's something out there that's simpler and has documentation that isn't
constantly just wrong, I'd love to hear about it.

------
onebot
Just do at least one commit every day. Look at your github profile and try and
fill every daily commit block. You can commit the simplest thing possible. But
once you start, you will likely add more than a simple commit just to fill in
the daily box.

------
SamWhited
OP: Hi again all; I obviously can't reply to every single comment, but I just
wanted to say thanks for all the feedback (both on technical matters and
broader burnout concerns). It's been very helpful as I try to decide what I
want to do.

------
atom-morgan
I quit my job and used my savings as a personal runway.

Self published my first book:
[https://www.theangulartutorial.org/](https://www.theangulartutorial.org/)

------
jlj
Are you in a position to delegate or outsource the tedious parts?

~~~
SamWhited
No, unfortunately not.

------
rcarmo
Checklists. I break down what I need to do into smaller tasks and check them
off.

It works wonders when you have frequent drudgery and clueless requests as part
of your job description.

------
adventured
The resistance stage that you've hit is always a killer. It leaves more
projects like yours dead before they're finished than anything else. The
problem with replying to this, is the answer is subjective and will vary
person to person. We all use different methods to motivate.

Sometimes I'll re-read a book. Masters of Doom is motivational for me as one
example.

Sometimes I'll take a long'ish break (weeks) and teach myself something new
just purely for fun. Experiment with something, that may or may not relate to
the project. I divert my brain to an enjoyable stretch of time, a vacation, to
prepare it for the final forced crunch of work.

I recently blew off a month and did almost nothing, when I could have
completed what I'm working on. I got to the 85% finished line and hit hard
resistance mentally. Some of that is feeling exhausted (it can feel like it
sneaks up on you all at once), a lot of it is arriving at a large batch of
work that I really don't enjoy doing. Combine those two and your brain puts on
a yellow vest and begins protesting the longer you persist.

I've found that after taking a break, controlled anger is extremely effective
as a helper for a final push over the line. That is, getting pissed off about
the situation of having allowed myself to lose momentum and burn time rather
than finishing something that is ~85-90% done and could have already been
completed if I had simply maintained a steady momentum. I direct that anger in
a focused manner as a big punch at the project that puts me over the remaining
hurdle/s. It gets me into a mindset where I can just grit my teeth and dig
through whatever shit I have to get done. Then the final 2-3% is usually just
basic clean-up on loose ends or polish, truly trivial work.

Some might suggest that anger is always a negative. I strongly disagree with
that. I think it's highly useful when channeled properly (never at others, and
never in a serious self-harm form) and so long as it's not a common occurance
during a project. It's critical to differentiate between using anger to
overcome a self-challenge you're certain that you want to overcome, versus
working on something you don't actually want to do. And to be clear, I'm not
talking about rage or anything so dramatic. Rather, an internal expression of:
damnit, fuck this, I'm going to finish it and nothing is going to stop me
(except in my head it's all capitalized).

I always try to remind myself that the thing I'm building, I really, really
want to see it live. I want to see it exist in the world, to see other people
get value out of it. I set out on the journey for a reason.

~~~
SamWhited
Thanks for the advice; there's some really good stuff in here.

------
rijoja
Write a diary every day. Serves as a compass. It's far more easy to write down
a few lines of thoughts and it's fun to look back.

------
nubdog
Don't take self help advice from anyone who isn't successful. Not you guys of
course. Im sure you're all millionaires.

------
qqqqqqqqqqqq23
Discipline > motivation. There are lots of good texts about it, better than I
can summarize. Google discipline vs motivation.

------
dsfyu404ed
The direct deposit notification I get every other Friday works wonders. If it
was fun they wouldn't pay people to do it.

------
creativityland
Break things down into smaller steps, and take it one step at a time.

------
3pt14159
Well this might actually answer something you deeply dislike: The shitty SDK
problem.

I've worked on way, way too many credit card apps that charged money for other
people (two invoicing platforms, one ticketing site, one photo social network)
and the myriad of issues with credit cards and fraud and other problems have
led me to the conclusion that unless you have a really, really good reason to
do otherwise it is better to either:

1\. Outsource this to a better API that takes a percent cut, but handles all
the edge-cases like refunds and GDPR compliance for you.

2\. If that doesn't work, and you're stuck with a shitty SDK, it's easier to
just use a better supported language. (Even a general purpose library like
Active Merchant.) It's trivial to create a shim for this and the separation is
really clean. Why bother with Go if it's hard? For now just hack it together.

------
MidnightRaver
Maybe get a friend who delights in working with payment APIs?

------
stevebmark
you could stall and add a "go premium" button and track how many people click
it instead of jumping straight to monetization

------
scarejunba
By applying the Agile methodology. I just stick it out there in whatever state
and let people have access.

~~~
quickthrower2
That’s not really what agile is about. It is about early feedback, so yes the
customer might see an incomplete product. This is similar to watching a
bespoke house being built. As long as they wear a hard hat, it’s ok for the
client to inspect the footings.

~~~
scarejunba
Hang on, I don’t understand the distinction you’re making. I definitely think
the customer should see it as soon as they can they see something.

~~~
quickthrower2
The distinction is just the communication. If they know it won’t work but it’s
a prototype for feedback then that is agile.

If they think they are getting a full working product that’s .... something
else!

~~~
scarejunba
Oh right. Fair enough. Yeah, I assumed that was implicit. Good call out.

------
eweeks101
First off this sounds much deeper than just avoiding a payment integration, it
sounds like you are questioning your whole career...? You'll have to pay me
for that advice. LOL

You are not your own servant, negotiate with yourself. - Jordan Peterson

Why am I avoiding the task? How can I simplify the task? What would it take to
accomplish the task? How can I incentivize the task? Make a deal with
yourself.

Whether it's the stack of bills that accumulate on my desk or the dev task I'm
avoiding I ask myself these questions. Most of the time I'm avoiding some sort
of responsibility that I've told myself isn't too important, it can wait
because I have more important things todo. That's a lie, it wouldn't be
weighing on my mind or take up space on my desk if it wasn't important. So I
negotiate, if I devote two hours and start at 3pm I'll call it quits around
5pm to head home and hang out with my family. Then 5pm roles around and you
reassess the problem to make another negotiation. This time your negotiation
is a little more specific because you have a better understanding of the
responsibility. Then someday your task will be complete and you'll be more
efficient, more educated, and more prepared for the next. Much easier said
than done.

------
rvn1045
do something else productive while your procrastinating on this task.

------
runjake
I set micro-goals.

------
thomk
Well you should focus on the end, think about what it'll be like when it is
done. Stop the internal dialogue of "I hate doing X" and instead say "I can't
wait to see this out in the wild" and know this is a single step closer to
that.

I was going to ask why you 'hate' the payment provider but I can see it's
because their SDK is poorly documented. So the truth is more like "I'm
frustrated because I can not make steady progress, because I have to stop to
find a workaround for yet another edge case". So you can not get into a flow.
you're just frustrated.

I suggest you stop coding all together and master that SDK (with all of its
shortcomings). Then you'll have a level of competency that will help you move
forward. I question that this payment provider is 'the easiest thing' if they
are that hard to work with. Are you using Stripe? They are actually very good.

One more thing, this is a bit revealing I think: "I'm questioning if I even
want to be in this industry"

Yeah, that's the main problem right there, here's why.

Let's say you needed to figure out this exact payment processor with their
shitty Go API in order to impress a hot girl.

Let me tell you something, I have pulled off MIRACLES to impress women. I got
us behind the scenes at a Pro Hockey game once to impress a girl. I got us in
the captains chair AND the engine room on a cruise ship once to impress a
girl.

You are never going to be intrinsically motivated on this project and that's
the main problem. By the time you had to motivate yourself enough times to
post to HN about it, you are about worn out already.

Life is too short man. STOP. Think about what you would LOVE to do and go do
that.

Ask your brain very, very good questions and you will be surprised at how
amazing your answers are. Write, rewrite and edit your questions until they
are perfect, then ask yourself that question.

Get specific. I'm talking like "How can I have financially rewarding,
fulfilling, secure work that I love to do where I make a massive impact,
become an expert in my field, feel significant with an impressive title,
unlimited growth and enjoy it the whole way with no regrets?"

Ask yourself a specific question like that and I promise you your brain will
come up with an answer.

Then, go do that.

If you were doing that, you'd have mastered this problem by now.

If you can't think that globally right now, use this technique to get past
this one problem.

Make it a huge ask: "How can I finish this billing integration, have fun the
whole time while writing clean, error free, standards compliant code and have
it done by the end of January?" Your brain will tell you.

Trust yourself.

Last thing here: If you 'think' you 'might' want to get out of this field,
then you already know you should be out.

You can code. Coding in ANY job is a superpower.

Go find something else to love.

It's out there.

------
sonnyblarney
You don't need 'motivation' to put one foot after the next.

It's 99% 'perspiration', remember?

If you care about the outcome (whatever it is) then that should be enough
'motivation' to do the 99%. You're a professional, right?

If you want a 'purely motivational' project then do something that's simply
that: games, writing/playing music, reading etc., where 'it doesn't matter'.

Instead of trying to 'find motivation', literally just sit down and start
working out a little plan. Having a plan and a path forward might provide some
clarity to the outcome, so you can 'see the light at the end'. I'll bet that
you don't have trouble 'working on it' once you actually start 'working on
it'.

It's like working out at the gym: once you are there, the workout is not so
hard. It's just getting there that's sometimes tricky.

So just put one foot after the next with a little plan in mind and you'll be
there in no time.

~~~
muzani
There's a trick to this.

This only works for those who want to accept it. Some may find freedom in
being elites, not being restrained by motivation.

But others may enjoy the thrill of the hunt. So being separated from the pain
and thrill of the work is a big loss to them.

~~~
sonnyblarney
That's a really interesting point.

But if you're going to do something big, that takes quite some time, you're
going to have to be the former, not the later.

Some things are not good for the adrenaline seekers.

------
gist
> Ask HN:

Maybe that is the issue. You are operating in a world where you think there
are answers to things that will make them easier. You need to move away from
that thinking entirely. What happens is your brain is not trained to enjoy the
challenge of the undesirable things that you will need to do to succeed. There
will not always be a trick or a tip and most certainly a big advantage if you
can simply figure out the answer all on your own. That will then motivate you
in future situations. [1]

[1] Advice, mine, against my advice ironically.

