2. You start coding in your side-project.
3. A couple of hours go by.
4. You feel like, "I'm tired. Let's do this tomorrow.".
5. You also would like to ship it ASAP too.
What do you do?
> 5. You also would like to ship it ASAP too.
Take that away from your mindset immediately! You can't do anything ASAP. I am a firm dis-believer of, "I can build it in a weekend".
Take a bit of paper and actually map out the project. Break it down into small pieces. Now start to work on the first piece, then take a break if needed. When you start again, work on the next.
Doing things this way, gives you multiple benefits:
1) allows your brain to focus on the task at hand. Otherwise it starts to focus on the entire project and thats when you short-circuit.
2) gives you a sense of accomplishment and you see your project go from start to finish.
3) allows you to easily come back to the project if you decide to take a long break from it.
It's also important that if you see things that you want to change. STOP! Take out another piece of paper and write down things for version 2. Now carry on with the work.
It's also worth mentioning, perhaps to keep some kind of journal with notes. So you can tell yourself things to investigate should you come across them in dealing with a problem.
Once you have finished and shipped version 1. You can then decide if you want to start again or wait until other things happen. Such as a community forming, you get stars on github, do a show HN. Whatever the ultimate goal is for the project.
Or you can decide to write another side project.
Ultimately, it's your time. Learn to use it well.
Btw, this is coming from someone who has built 40 side projects that easily could be their own SaaS start-ups thus far.
I'm in that camp as well, so consider this an endorsement of your post. However, I do think you can ship in a weekend...but do you want to? I slapped together a quick web app for my own personal use a while ago, not knowing I would end up using it every day, and set myself up for some extremely painful refactors later on that were totally avoidable.
Just to clarify, I didn't mean ship in a weekend, when I said ASAP. Just that I'd like to ship it sooner than later.
I specially liked the advice about not working on things you think you should change, and saving them for v2. That mindset will be really helpful avoiding over-engineering.
Yesterday my bathroom sink received some much needed care.
Also eventually you'll get so fed up with this that you'll gladly return to your side project.
Conversely guilting yourself into programming when you really don't want to is one way to abandon any after-hours work altogether.
I am certain that the benefits of doing chores for intellectual stimulation arise from the very familiar, routine like properties of most household chores.
Chop wood, carry water, as excellently pointed out below, is the most demonstrative chore I can think of right now: some task that's manual, involves a element of physical labor, and repetitive.
I began to notice my attention and motivation becoming more pronounced in cycles, when I began writing in languages that are heavily defined as boiler plate syntax and library based languages. Somehow the repetition, but with a small amount of variation in eg the cell of a array being addressed, dulled my personal flow of thought. Because I was spared from having to think beyond my immediate line's purpose, because all kinds of detail from memory management to types was sweetly abstracted away, I became more disengaged from the very process of thought involved in what I am writing. Even on the 3460 where
...I needn't worry about anything much, I could inspect the stack and CLOS if i wanted. I learned professionally to chug out GUI work for PCs for the time very low level and hand tuned, but I feel like I'm still wrangling the small stuff with lots of the js framework interface I do now. It's more painstaking than it is seeking inspiration, and the feeling of immaturity I get, please don't take this to demean the code quality in terms of value, but I mean in the consistency and fluency of APIs, leads me to much faster "brain fade" during a coding stint, than if i was corralling a CLOS like system. Bottom line, I think this is all about the way you mentally engage with your program, and that huge productivity growth lurks somewhere in the real subject of my head scratching. I think our minds just need a fluency, like music, and I have to reread GEB sometime soon to reconnect with the feelings I have on the problem.
In other words, keep on keeping on. "A couple of hours" of focused work is actually fairly productive, more productive than most people get. It's like writing: do a little bit every day, pretty much no matter what, and it'll get done by accident.
However, it’s worth noting that you should expect to not want to do things sometimes. Often pushing past the first part is the key.
Set. Minimum amount to accomplish. Nothing ambitious but something you can easily do. (2 hours if you don’t have kids. 45 min if you do)
If you find yourself not wanting to do it week after week then you might consider changing your role. Partner with a CTO, raise money, write about it etc.
You don’t have to do what you love, but you should avoid what you hate.
If I'm feeling hungry, I'll make myself a healthy meal. Tired? Take a 20 minute nap, then do some jumping jacks and listen to up-tempo music. Lonely? Call it quits for the day and go find social interaction. Angry? Either I need to re-examine my expectations for myself, Take a step back and get a better understanding of my tools, or stop using selenium and switch to https://www.cypress.io/
> You also would like to ship it ASAP too.
Things take time. Either cut the scope of the project or work on accepting that things take time.
There are so many different things that can lead to anger. Many different causes which might have nothing to do with your expectation. Often it also happens that the first thing that comes to your mind that you think is making you angry is not the real reason. Builtup frustration and stress can lead to being angry at anything at anytime.
As you can see, always reexamining your expectations might not work.
Wow, that's a neat mnemonic! I had never thought about it much before, but those four categories definitely account for the vast majority of non-productivity for me. Did you get this from somewhere, like a book or something?
I know this feeling. A lot of people burn out quickly on Github when their shiny new toy fails to make money at every turn. Even with clear and adequate payment channels used (Patreon / Paypal / Gumroad), the feeling of financial failure (can be) enough to kill a project.
If the docs are fine, there are usually other things to improve or experiment with (file organization, build process, tests, editor plugins...etc).
You get some sun, you tire yourself out in a different way, your eyes get to focus more than two feet in front of you. There are people around but you don’t have to be social if you don’t want - moving at a different speed means you can still think on your mental problem.
Finally, you work up an appetite that sitting at a computer just doesn’t give you, and you can reward yourself with some nice noms that you feel you’ve earned and will give you the energy to return to code work.
Edit: I forgot to mention podcasts or audiobooks. If you want some external input for your mental stimulation you can do that at the same time!
I suspect number 5 is a stress factor. I believe stress can cause fatigue and/or procrastination.
Try to accept the situation. Take your time and enjoy the task.
btw John Cleese is an amazing inspiration on how to be (consistently) creative https://genius.com/John-cleese-lecture-on-creativity-annotat...
I've started two successful companies (one bootstrapped, one VC backed) and they both took an enormous amount of discipline and perseverance. I'm now on my third and it's pretty much the same, but many things are easier this time around.
So, what do I do when I don't feel like working anymore? I keep working. :-)
Sometimes it is what it is, just accept it and do something else.
From my experience, the factors below highly impact this behavior:
1. Is the project too big to chew on?
2. Are your tasks very well defined and the finish line is clear?
3. Is the expected outcome for fun or you're hoping to make it big when it's done?
4. Is the project solving a problem you care about dearly or a general problem you're trying to solve to make a business out of it?
5. The project is very motivating, everything is going well but you're unaware that you're working on a very uninteresting task that's part of the project and you're chewing on it slowly as a result.
When you sit on the chair and you feel it's kicking you off to get up instead of sucking you in then probably there's a conflict of interest between what you think you should work on and what your brain is interested in working on.
Do consider the possibility that you're probably assigning yourself a boring project or a project that deep down you don't care about or it's too big and overwhelming.
As we gain more experience and pile up failures, it becomes more challenging to get on a project. From my experience, the best projects I worked on are ones that have no monetary value nor related to launching some sort of a business and I am working on them just because they have challenging and very interesting problems for my taste, or they solve a problem I face.
Make a to do list of the tasks you are attempting to achieve today. Do one thing only today. When it is all too overwhelming, break it down into tiny self-evident steps. Micromanage your brain.
Not too much coffee.
Or more coffee/caffeine if you have add/adhd. If you can drink a pot of coffee before bed and then go right to sleep, then caffeine might do the opposite to your brain chemistry and level you out. Talk to your doctor, as that you might need something more than caffeine to function. Think of your brain in the aspect of a cpu, where as some cpu’s natural clock speed is a little slower than the average, some are faster and easily distracted. So you might need to adjust something to not burn out a days energy to fast, and feel like the poster does.
Running releases different chemical compounds that affect the brain, so does smoking, eating, drinking caffeine, etc... you could be deficient on vitamins and it could be diet.
Everyone is different, and it will take trial and error until you find a working balance. Which means talking to your doctor about how you are feeling and, also taking the time to self-reflect on how you are actually feeling every day to gauge what’s working and what’s not.
I would even say that it makes me sleepy sometimes, and certainly never interfere with sleep or sleep patterns.
The kind or volume of coffee did not matter (some coffees I like, style other not but the lack of impact is the same).
Interestingly my brother is the same with coffee
This is the best way I have found to get things done, and not get burned out/ or saying things like “my give a damn is busted.” It also gives you 7 other things to do when you feel like you do now. Then after you do one of the others see how you feel, go back to the one you didn’t feel like doing or do one of the other things until you feel like it.
2. Tell myself "just work on the project/problem for just five more minutes."
3. * Work and allow no interruptions *
4. Pomodoro timer rings.
5. "Wow. I didn't notice time passing."
Almost always, the satisfaction of surpassing the 5 minute goal is enough encouragement to continue for a good long while.
Personally, this works as well (if not better than) changing my work venue.
1) Expectations phase where I love opening my laptop, touching the keyboard etc. and I have some sketchy ideas what to do.
2) Extatic phase - where I am working for 16-18 hours solving problems I didn't expected I would be able to solve and writing a code that I later keep re-reading just to appreciate it's dense beauty.
3) Diminishing returns phase where I am still trying to get some kicks from it but it isn't coming anymore.
If you are in a phase 3 then it is clearly a time to stop, get sleep, do yoga, meditate, go for a run or get on a bike. Don't look at a laptop for a few days.
Take a break, let your brain breathe. Do some other tasks, hobbies or chores and you'll find yourself thinking about code soon enough.
While it can be tempting to just push through, that can be dangerous. Sometimes that "meh" feeling is a symptom of burnout. Did you have a long week? Lots of hours? Put out some fires? Decompressing now will be better than fully burning out in a few months with some shoddily coded side project to show for it.
That said, it's also possible that you need to "chop wood, carry water" as mentioned by another poster, but if you do that, take a moment to look at your side project from another level. Are you slogging because of some architectural debt, or because you're just poking at the problem to see what works? Personally, I get bogged down when I haven't thought through the problem at a higher level. Sometimes I'll just write a series of steps to get from where I am, to where I need to be, and identify the thing I am dreading doing.
TL;DR: Sometimes you need a break, sometimes you need to step back and take a 10k foot view of what's bugging you, and sometimes you just need to push through. It depends ;)
Then I think about some nice things I'd like to buy. This is usually enough to get me going.
Thus I am quite interested in this thread myself :)
- playing guitar, piano etc
- studying math, EE, physics
- learn foreign language
- sports, yoga
After those couple hours, if you stop working on it, what do you do? Do you take a break and get back at it? Or do you follow through on waiting til tomorrow?
Once I accomplish something that sounds good to me, I put it on and go back to my side project ;)
I'm working on my thesis but have a hard time to keep the motivation high
Edit: it looks like you've been using HN primarily for political battle. That's not what this site is for, and we ban accounts that do that (as described in https://news.ycombinator.com/newsguidelines.html). Can you please not do that?
Explanations of how we approach this can be found at https://hn.algolia.com/?query=by:dang%20primarily%20test&sor... if anyone wants to read them.
But seriously although I hate to delve too deeply into stereotypes the fact of the matter is many people like me on HN and elsewhere may be somewhat introverted by nature. And yet to answer the original poster's question I find volunteering or otherwise doing something to get me out of my shell invigorating when taken in small doses.
This is something I never would have discovered on my own: my wife's crowbaring me out of my comfort zone is the only reason I know.
But even volunteering aside there are many things you can do that (stereotype again, sorry) satisfy our predilection to learn new things and if not solve problems then learn how others solve problems. For instance two of my favorite things I've done were taking Citizen's Fire Academy and Citizen's Police Academy put on by the City of Houston. I don't want to be a firefighter or policeman. But getting to see the behind-the-scenes view into their world was fascinating. And when else will you get to go up in a ladder truck, ride in a police helicopter or put on bunker gear and watch as flames roar by a few inches over your head?
They actually present what they do in great amount of detail and are happy to take questions and even demonstrate their equipment and techniques. For a nerd like me it's damn entertaining.
It made me better appreciate what those people do for a living and and very thankful for the opportunities IT afforded me. It's a little more concrete for me that I'm very unlikely to be set on fire or shot while learning how to integrate CEPH and Kubenetes.
Tl;Dr: If you're bored or unmotivated with a side project do something completely different and outside your comfort zone to get perspective.
I love the HN community but I doubt the HN community loves me back. I really struggle with the libertarian Darwinism so popular here. This thread concerns what it might call a weakness but I would call a necessary element in beauty.
It’s like ‘negative space’ in motivation. If we were always inspired, we might not be any different than drones. To lack a sense of purpose or connection with a task is useful to society. It makes a space for connection. When we engage with new things, it can improve our society. But it can also do the opposite; particularly when resources don’t allow for new engagements. Such is the case for homeless people!
Humor is not always funny, and I know my kidding here is not entertaining. I just hope for a better world for my children and I believe in the people of HN to make that possible. I just fear them missing the opportunities to do so in the name of pride and self-justification.
This post gives me hope. And your comment as well, although I know it was meant as a lesson. And to be certain, it was that too.