Ask HN: Solo developer, what's your recipe to start working?

96 points by pototo666 ↗ HN
Hello HN, I am a new solo developer who quitted job 19 weeks ago.

At this moment of my writing, I just don't want to work. I come across this problem a lot recently.

I don't have the urge to work, and it feels too difficult to focus.

I know that once I start, I will be productive. But I don't have a recipe to start. If my mood changes, I work. If not, I dont' know what to do.

I recently read that no matter what, you just work. I tried and failed to just work.

Any advice?

99 comments

[ 4.1 ms ] story [ 151 ms ] thread
My biggest key for this is to work on something you enjoy. Find something that you feel is wrong, or too difficult or too cumbersome and solve it technically.

For example:

Problem: There was too much street light at night to sleep coming through my window, so I bought black out blinds. Then I didn't have enough light to wake up in the morning and always felt sluggish.

Solution: I created an arduino sensor to detect morning light (depending on time of year) and then using a motor on the blind cord, it opens my blinds gradually so I have a nice natural wake up.

And it's powered by solar. I literally never need an alarm clock again. (All thought I still set one, good developers always have a plan b)

The first think you might need to fix is your sleep, second is your environment and your eating habits / patterns.

You can only tackle motivation issues when you're not feeling bad.

My trick is to imagine the end-result of what I am currently working on, it pushes me to get the reward of seeing it finished.

Of course it works only if I expect to be proud of the result.

I have never thought about eating habits' effect on motivation. Any resource I can read to educate myself?
Search Youtube about the effect of sugar, you'll likely find a ton of ressources.

Insulin level in blood is more impactful than we usually think.

Sometimes the size of the project you’re working on — or looking to work on — can be daunting. At the day job, you have a manager to break down the work for you and pass it around the team in bite-sized chunks.

You have to be that manager yourself — breaking the app or product down into small components and working out what should get done first.

Build a list in a form you’re familiar with — even if it’s a form you don’t like such as Jira. Break it down into large chunks and smaller assignments. Then start on the small stuff, ticking them off on by one.

When you see tasks being completed and the list moving, it builds a sense of momentum and it gets easier to keep going day after day.

If you don't know what you're going to work on or haven't decided what to build yet, then stop what you're doing and work this out first.

Thanks, the list advice is promising. I used to have list in my side project, mostly to help me remember what to do. I stopped having them when I becoem full-time, believing that I know what to do, which is only half true. I shall log in my trello again. :)
IMO give paper lists -- or maybe something like Notes on an iPad with an Apple Pencil if you're really married to digitization -- a fair shake. Sometimes I find my brain needs the tactile/concreteness to really build motivation.

Even just checking a box on paper! No book is going to solve the problem for you, but "Every Tool's a Hammer" (Adam Savage, of Mythbusters and Tested fame) I found to be a great little memoir about learning how to be a self-directed maker.

My methods:

- Use focus app block every website which can distract me

- Leave a "low hanging fruit". I can start the day with a very small and simple task and have some success in a couple of minutes. Getting into it is easier that way

TDD was designed to get rid of the dread. You don't even need to write full tests, a checklist helps a lot. But proper TDD should work in seconds. Check out the book by Kent Beck, which explains it a lot better than many articles.

The basics of it is red, green, refactor.

Before you write the code, write the test. Autogenerate the code from the test until it compiles. It will be red (fail) because there's no code. This is how you test the test.

Then do the absolute simplest thing to make the test green (pass). Make it really hacky. Once it passes, refactor (clean up your code).

The positives of this is you don't even have to be in flow. It takes seconds to do a red, seconds to go to green, seconds to refactor. You can be interrupted at any time and not lose your train of thought. If you're writing some tough code, there's also some other techniques you can do, like write several tests for behavior and triangulate the code from that.

Backlog grooming.

That is, if you can’t focus, that’s usually (to me) a sign that the “work” available is currently too nebulous to focus on, and you need instead to focus on turning it into more concrete, atomic, actionable items, which you can then focus on doing.

This makes a lot of sense, thanks :)
sounds like typical case of burnout.

you could prob use 3+ months off if you can afford it.

you can work doing something else in the meantime if you can/need to.

If I followed this advice I would be perpetually taking 3 months off, and never get back to working.

Don't diagnose people in 10 sentences. Have you ever tried solo developing? Without the extrinsic motivation, and forced external schedule it's fairly difficult for most people to stay on target with all the distractions we have today.

Especially with all the fucking detractors, inside and outside of our direct circles.
> Don't diagnose people in 10 sentences

Literally every single response here is doing that.

The advice is fine, even if it would be bad for you personally.

Yeah whenever somebody doesn't want to get started on something I tell them they have burnout and should take 3 months off. I'm kind of a doctor now honestly. They probably also have ADHD and depression based on my analysis.
You're revealing more about yourself than either the advisor or the advisee.
Unrelated, but eliminating resources is an effective productivity/focus "hack" for me:

- Disconnect the laptop's charger and work on one charge. I used to have a laptop that had at most 2 hours and it forced me to really focus. The progress I made on some projects on a commute is amazing.

- Disconnect from the internet and work only with what you have on your machine. This means no search, no tabs. No distractions. This is great for proofs of concepts/prototypes where you get something done first, then you refine it later. It taught me to look at the code instead of documentation, and it taught me that as good as a documentation can be, there always are things that are not documented but are still there to use. It also made me more familiar with the dependencies of my projects. I never really used StackOverflow much when online (I instead rely on the code, docs, and issues of the project), so your mileage may vary when it comes to removing internet access.

It's also useful to reduce the "activation energy" for work. One of the ways to do that is to exploit the time you don't feel like working to play or explore. A directory named "musings" can help, where you scratch a few itches with snippets of code. If you're distracted in exploration of a new library or concept, make a new file and play with constructs, patterns, APIs, libraries, etc. Just play for play. It's low pressure. You don't need to ship something. It's not work, but it's fooling around and more often than not, it tricks you into getting in the zone without even realizing. The other benefit is that day in and day out, you're building a "corpus", a set of snippets that very often will come in handy when you actually need to do something "work related". When that time comes, you won't perceive the task to be daunting or be clueless, because it's déjà vu. You already fooled around with that concept/library/problem and you have something in your back pocket. It won't be "How on earth am I going to tackle this" and feeling under pressure and overwhelmed, but "Yup, I already played with that. Heck, I even wrote some code to do that. I'll see if I can use it".

Playing when you don't feel like work is a great way to reduce the activation energy when you actually have to work.

I did my whole BSc degree in CS like this, without Internet. That was in the mid 2000s. It was exceptionally rare not to have a home connection by then in my city (a big one in the EU). When I told my classmates they thought I was kidding.

My dad, a uni professor, simply didn't want me to have one as he thought it was too distracting. And I kind of agree now, but I thought he was crazy. I remember my best friend asked his dad to take his Ethernet cable away during the exam period. Instead of rehearsing, he was playing online games. And he couldn't stop, thereby failing most courses. This was a pretty smart guy that had aced university entrance tests.

It kind of worked. I got the best GPA ever in my university, and I had the best GPA across all CS schools in the country.

I must say at the time having a connection didn't bring as much into the table as it does now, with e.g. quick answers on Stack Overflow. I bought dozens of textbooks, and I had things like MSDN installed locally to access e.g. C++ STL docs. It also forced me to be quite resourceful, as I had to solve everything on my own and offline. For example, I didn't login remotely to university servers to do DB assignments. Instead, I had my own local Oracle deployment and so on. Quite an experience.

Absolutely make a formal schedule and stick to it as best you can. Schedule a day that you would want and be satisfied with. Separate work time and leisure time, otherwise as a solo dev you feel guilty for not working all the time, which makes it harder to start work. Don't expect yourself to "want" to start working all the time, because you won't. That's the mistake a lot of people make. Get started on small, easy tasks that can ramp you up and get you into flow state.

Ex.

8am - out of bed, make breakfast, no phone usage

9am - start working (and make sure you have specific tasks to work on)

12:30pm - lunch break + go for a walk and listen to podcast

2pm - continue working on specific tasks

5:30pm - leisure time + make dinner

7pm - workout

8:30pm - shower, get ready for bed

9:30pm - sleep

You could move workout to the morning when your testosterone levels are highest during the day-night cycle. Easier gains.
Do you have data to backup the fact that you would make more muscle gains by training in the morning? Testosterone levels are higher, yes, but muscles are weaker in the morning and your cortisol levels are higher. I usually weight train in the afternoon/evening.
Do your research please.
Thanks! I did some research and you're wrong
Rob Wolf has some stuff on it iirc. Worth a look.

Sorry for being an arse, I had a rough day.

If workouts suits you in the evening, its better to continue.
> Separate work time and leisure time, otherwise as a solo dev you feel guilty for not working all the time, which makes it harder to start work.

This is exactly what I feel. Thanks for clarifying this for me :)

Wish you the best of luck! It can sometimes be hard to stick to the schedule but you have to treat it like you would a real job, where you don't have a choice you have to get up and start work. The good thing is if there's something you repeatedly aren't enjoying then modify the schedule!

I got the idea from the book Indistractable by Nir Eyal if you want to look more into dealing with distractions in general

You workout on a full stomach?
I'm not sure this is the best advice. Providing more flexibility allows for the spontaneity of motivation that can help you escape a rut which is what the OP is asking.

This assumes that you can be instantly productive in the 3hr work blocks. If you can't get into a flow for the first hour, then you only have 2 hours, etc. And you start to look forward to your breaks.

Flow works best when you have open-ended working sessions. If you are making good progress - don't stop it for lunch. Grab something quick, and then have a larger dinner.

My silver bullet: always end the day with a task in progress. Makes it much easier to jump in the next morning because you have a clear place to get started.
This is the Hemmingway trick, always stop working before completion of a sub-task, to avoid writer's block the next day.
Have you experienced a vision of the person you might become, the work you could accomplish, the realized being you were meant to be? Are you a writer who doesn’t write, a painter who doesn’t paint, an entrepreneur who never starts a venture? Then you know what “Resistance” is.

- The War of Art - by Steven Pressfield

This is dumb. You are not meant to be anyone. You do not become a person who you are currently not. You are you, always, and you change throughout your life. Now here, next there. There is no percentage bar to fill up. No 'ding, grats' at level 60.
You could phrase it a different way: If you want to become a write, start writing. If you want to become a painter, start painting. If you want to become an entrepreneur, start making some lemonade and selling it.
Yet somehow there is the pleasant feeling of doing what you are "meant to do" and the unpleasant feeling of wasting years of your life without doing what you are "meant to do".

Imagine a hypothetical "universal basic income" with a twist: you have to work for 8 hours a day, doing whatever you choose to do, and it doesn't have to be profitable at all. But you have to do something, because in this hypothetical universe they have lie detectors that actually work, and they connect you to one every week and ask whether you worked, and you don't get the money if you know you didn't. What would you do? -- If you have an answer for this that didn't change significantly for years, then that is what you are "meant to do".

People often don't do what they are "meant to do". One reason is that they need to pay their bills, and they don't have a sufficient safety net that would allow them to spend a few years doing something that doesn't immediately bring money. Another reason is that perhaps the work is necessary but not profitable; for example it would be nice to have people who take care of the homeless, but it's something that can hardly bring profit -- even if you reduce some negative externalities, there is no way for you to capture this value; or perhaps there is, but you only have people-care skills, not economical skills that would be necessary to create the business plan.

Your reasoning is very poor. Such thought experiments might convince an elementary school student, but that's it.
Why is this dismissed as poor reasoning? The only part that I might take issue with is the 8hrs/day as this might be a bit much depending on the project.
The author is asking if you've ever felt like you're meant to do something. He's just talking about being conflicted about something you want. He's not saying that you're somehow pre-alloted a goal.
Have a creative outlet that is not digital. I paint. You can paint too, a lot of things in fact. Oil on canvas, watercolours, acrylics on miniatures (historical, fantasy, sci-fi, busts). It's a wonderful thing. I don't feel like sitting in front of a computer ever, so I bring this desire to motivate me in building SaaS products that might one day give me a passive income. Build a dozen, if each make 200 a month that's already a good amount. Right?
Hey, for me, what prevented me from starting work is the massive scale of the project I was setting myself out to do. This was totally scaring me into inaction. Like a deer in headlights.

Then someone told me: "just try and see how far you can go". And that completely lifted my inability to start working. I don't really understand the psychological trick there, but somehow it worked well for me.

I'm horrible at work from home. After about a year of brute-force methods to try to get myself to focus, or to improve my impulse control when so many distractions are immediately present lead me to come to accept one signal is above all in indicating I'm on the right track. Telling myself no.

So now, especially in the morning - if I catch myself thinking "just 15 min of YouTube" or "maybe ten more minutes of sleep before working out" I make conceited effort to tell myself "no" and actively do what I completely acknowledge I do not want to do. Ironically I sort of caught on to this signal in college when I was a horrible procrastinator and didn't yet know I was ADHD. It's a bit extreme, but always doing what you're most actively avoiding has started to work for me. Only took me a year of being locked in my apt to figure it out...

Don’t build things for yourself.

Don’t build things by yourself.

Build for specific people, and feel responsible to those people.

Tie your social status into it.

Humans are incredibly social animals, take full advantage of that fact and make sure you’re sailing with the wind on the ocean, not tinkering with model boats in a poorly ventilated bedroom.

>Don’t build things for yourself.

This is counter to most of the startup advice I've seen. It's practically a meme at this point that many successful startups come out of scratching your own itch.

This is advice for a solo developer struggling with emotion management, not a meme.
I always build things I want badly enough to wake up early, to dislike stopping to sleep. But, they are things I believe will benefit others. That doubles the urge to keep working.
> Tie your social status into it.

Good advice, thanks :).

"A warlord once stopped at a monastery on his way home from a successful military campaign. He came to visit the abbot who was an old teacher of his.

As the abbot and the warlord sat in the courtyard pleasantly chatting and drinking tea, they were distracted by an argument between a novice and a senior monk. The novice was complaining that the meditation technique given him by the senior monk was ineffective and worthless. "It cannot teach me how to concentrate much less meditate," shouted the novice. "Give me a more reliable technique."

Observing that the argument was distressing his old master, the warlord stood and said, "Please, Master, allow me to help this young man." When the master nodded his assent, the warlord summoned six of his archers.

The warlord then filled his teacup to the brim and carefully handed it to the novice. "Take this cup of tea," he ordered, "and without spilling a single drop, carry it around the entire periphery of this courtyard."

As the novice took the cup the warlord commanded his archers, "Follow him! If he spills a single drop, shoot him!" The archers drew their bows and began to walk beside the novice who, in the next twenty minutes, learned how to concentrate.

Dear Friends, there is no substitute for determination. Enlightenment is a serious matter. It can never be attained with a casual or lax attitude. You must be determined to succeed and you must be resourceful in your determination."

EMPTY CLOUD - THE TEACHINGS OF XU YUN

Hmm I guess I need some assasin archers. Motivational assassin archers as a service basically.
In a world with too many safe nets, deliver negative results as a service might actually be useful :)
This is, in fact, an existing product category: the one I'm most familiar with is https://www.beeminder.com/, but it's got a few competitors.

I've never found it particularly useful, but then I'm also too chicken to put up serious cash. I figure I put a high price on having to be disciplined :)

If I tell you your house is burning down, you won't ask what's the temperature of the fire.
This reminds me of the Stephen King story Quitters, Inc. about a company that takes a similar approach to quitting smoking.
I would identify what tasks i want to get done. Than split them into pomodoro chunks.

Then I would, and this is the most interesting part, record my pomodoro session using OBS studio.

I love to pretend that i have thousands of viewers that are rooting for me to get the the task done in as little pomodoro chunks that I can.

I set my pomodoro intervals to 50mins focus/ 15 min break, and I would change it depending on current tasks at hand.

>> I know that once I start, I will be productive. But I don't have a recipe to start. If my mood changes, I work. If not, I dont' know what to do.

“I write only when inspiration strikes. Fortunately it strikes every morning at nine o'clock sharp.”

― W. Somerset Maugham

Thanks, I am saving this quote to motivate myself :)
If you don't work, how can you make your living?
A few things that help get me moving:

- Make a pretty fine-grained list of tasks that are likely 10-30 minutes

- Put my task list on an index card or whiteboard

- Maybe use a Pomodoro timer

- Change my physical environment - take a laptop outside, kitchen table, bed (or in olden times, McDonalds, library, mall food court, etc.)

- Overload on caffeine and sugary snacks

- Crank up some loud, angry-ish music

- Dangle a reward for myself (If I ship this app today, I can order another keyboard)

- Grind out a code kata on Codewars or somewhere else

- Before I quit for the day, lay out the first task or two for the morning

- Take a shower

- Take a walk

I used to have the same problem, and now I can barely stop working! I grab the opportunity to start.

What changed? I'm not sure, but I think it's that I'm working on a project that I believe in, that's more challenging to me, and that I feel in more control over. I used to be the guy who got added to a team that was already in progress, but now I'm the guy who was working on this project from the very start, and I'm determined to see it through. I feel more ownership over the project.

How do you get there? No idea, but I just made a proposal for a new project and I've got 4 days to make a prototype. This sort of thing seems to work for me. Maybe you need to figure out what works for you.

> What changed? I'm not sure, but I think it's that I'm working on a project that I believe in

To me, this is the difference between being able to work 3 hours a day vs being able to work 16 hours a day. To quote Steve Jobs:

"Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it."

Then don’t. Take a break. Too much time doing the same thing will make you ineficient. The old rich people knew this and they had diffent types of activities scheduled. Variety and the freedom to choose.
What are you doing with all this free time you have right now?

If you're anything like the average person, you've probably filled it with _something_. Take a moment to assess if this "something" is worth the time you are spending on it or if you're just using it to pass the hours in the hope you'll get a change of heart.

If you're just using it to pass the hours - aggressively cut those activities out of your life. You'll be surprised how motivating being bored out of your skull can be when it comes to getting work done.

This doesn't always work for me, but I use Firefox with adblockers and other mods for all my personal stuff, unmodified Chrome for media, and Chromium for work. When I need to concentrate I run `pkill firefox`. A better setup would be to have a separate computer for work with no personal apps, games, etc on it.
After many decades of fighting procrastination the most important thing I have learned is that you cannot analyze yourself out of procrastination. You cannot read articles to solve your procrastination problem. The only thing that works is to start the work. I wish there were something else I could tell you, but that's it. Just open the book, open the editor, open the document, whatever.

Now, that said, you may be burnt out, or you may not actually have to do the thing you're putting off. That's different. I'm talking about something you know you have to do (or else painful and undesirable consequences), but you're avoiding starting it. It's a trap. Just find any way to start. Do a bit, don't get down on yourself if you only do a bit. It's better than nothing.

> Do a bit, don't get down on yourself if you only do a bit. It's better than nothing.

This mindset is valuable, thanks :)

This has been my experience too. No amount of self-help books, videos or workshops really help. They may actually end-up hurting if you go overboard with investing time, mindshare and money.

The only way I've been able to improve is:

> The only thing that works is to start the work. I wish there were something else I could tell you, but that's it. Just open the book, open the editor, open the document, whatever.

If you fail, try again.

Agree wholeheartedly! During the years I've developed a habit to "prepare" the work for tomorrow. Imagine at the end of the day, you're about to work on this "quick and easy" task. How about just do a little of it (not enough to finish the task) and let your tomorrow-self do the rest?

My favorite technique when I'm super lazy, is to write a function with bunch of syntax errors. It forces myself to clear this shit up the next day. And boom, you start working without even knowing it

Hah, picturing an IDE plugin that auto swaps a couple random keywords or characters after last save to always give you a fresh syntax error when getting started!

Whack-a-mole reverse linter, the next big thing...

> start the work

Not the work, but some work.

You want to procrastinate on something most similar to what you are doing. So if you are on YouTube, start coding. Then when you are coding, its just a matter of switching to coding that thing you should be doing.