11 ms·
I keep a physical timer on my desk that I start and stop during the day. Hands on keyboard coding? Reading documentation? Sketching? Pushing the project forward
by miiiiiike 4y ago
I keep a physical timer on my desk that I start and stop during the day. Hands on keyboard coding? Reading documentation? Sketching? Pushing the project forward using technical or design skills? Timer on. Anything else, food, break, YouTube? Timer off.
I don't stop working until I have five hours of coding or coding related work done each day. Some work days are six hours long, others are twelve. They all have about five hours of coding.
I keep a log book and track my hours each day. If it's Saturday morning and I'm at 24 hours for the week, Saturday morning is a work day. Some of my work weeks are four days long, others are seven. They all have about 25 hours of coding.
I've been doing this for three years and I'm incredibly proud of what I've been able to accomplish by keeping myself honest and holding myself accountable. It's easy too. Keeps you from working too much or too little.
edit Coding doesn’t mean “TYPING”. I include anything related to coding that pushes the project or my understanding of it forward.
Most people work jobs where they only get paid for the time they produce. Mow lawns or do landscaping for a few summers, it’s not fun. I set my own schedule and only put in 5 hours a day. I’m done before most people would get lunch. I feel like I’m working a part-time job most weeks.
I also like what I do, most days.
The details don’t matter much, this is the important bit: “Keeps you from working too much or too little.” Plug in whatever numbers work for you or do your own thing.
If I’m spending so much time in meetings or writing emails that I can’t do the work I’m good at, I need to hire.
It’s flexible too. I spent the first four hours of most days last week watching Star Trek or doing chores before finally getting to work. And the end of every day I have a yes/no answer to the question “Did I work enough today?”
Now, if you haven’t run your own company you might never have felt “did I work enough today” gnaw at you while you’re trying to sleep to sound of your bank account draining.
- bilekas 4y agoI think I would find myself really frustrated with this workflow. I have some days where I'm reading documentation more than anything else. I don't write that off as not time well spent. Same for meetings, not a lot but planning meetings, implementation discussions etc. That is time that should be considered too. 5 hours pure coding per day is just... Not healthy in my opinion. But each to their own. > If people are interested I can put together a post about the process. I think that would be good as it might clear up a lot of questions.
- miiiiiike 4y agoHahaha, I have to rescind my offer to explain it in more detail. I can’t think of anything less interesting than a whole thread of “What about activity X? Surely activity Y? He didn’t even consider activity Z, WHAT A MONSTER! His silence on Q is telling.” I like what I do (even if I might not like what I’m doing on any given day) and this lets me do it in a way that doesn’t cause any damage. I don’t have anything to sell you. I’ll write it up if I can find a way to make money off it, if not I’m happy to keep chugging along in obscurity.
- OJFord 4y agoIs this satirical? If not, I hope you work for yourself.
- lcrz 4y agoNot so sound too negative, but to me, this actually seems terrible. Because somehow any work not behind the keyboard coding is not considered work by your standards. I don't think this is being honest. This is choosing some arbitrary metric and sticking to it, and very much Goodhart's law in practice. If your job takes you away from the thing you want to be doing, you should try to change your job, not work 6-day weeks or 12-hour days for your employer.
- miiiiiike 4y agoNot honest? Employer? And, a very literal take on classification. Coding doesn’t mean “typing”. I include anything related to coding that pushes the project forward. Have you ever bootstrapped a company? I’ve done it twice successfully and once unsuccessfully. You have to figure out how to make sure you work enough without working too little. It’s not an easy balance. This isn’t arbitrary, far from it, it’s what works naturally for me. Measured and adjusted over two decades.
- rocketbop 4y ago>> I've been doing this for three years and I'm incredibly proud of what I've been able to accomplish by keeping myself honest and holding myself accountable. Honest question. Why exactly do you do this? Just pride in your work? Or do you it makes you more effective, less stressed etc?
- miiiiiike 4y agoIt’s less stressful. Wouldn’t you want to be done for the day six or seven hours after you wake up? Like I said in another comment, I could easily work from the moment I wake up to the moment I fall asleep, seven days/week, every single day. I don’t. I work about six hours a day, five days a week.
- rocketbop 4y agoOh I understand, so it's not to make sure you do enough but to stop you doing too much. > I could easily work from the moment I wake up to the moment I fall asleep, seven days/week, every single day I for better or worse don't have this inclination.
- leto_ii 4y agoI don't want to be too confrontational, but it almost feels like you're doing something wrong. 5 hours of typing a day every day? That sounds unfathomably high. Could you detail the kind of projects you're working on? Also, are you a consultant or working for your own company?
- miiiiiike 4y agoI run my own company. I could easily work from the moment I wake up to the moment I sleep. This forces me to focus, get things done, and hire if I can’t. Have you ever worked in an environment where your ability to produce reliable code, consistently, was the only thing keeping a company running for 6-12 months? That’s bootstrapping as the sole engineer. If you break, the company will die. You have to keep yourself from working too much without working too little either. There’s no one-size-fits-all model to copy. edit On working for a bigger company: Yes, that’s why I don’t work at big(ger) companies.. Unless I have a lot of leverage. I wouldn’t rewrite things or over-engineer them. I would quit.
- leto_ii 4y agoThis corroborated with your replies to sibling comments makes more sense. The thing is, in a big(ger) company, even if you pull in 5 hrs of coding per day, you will be limited by the average speed of the people working around you. You would soon find yourself running ahead of scoped projects, over-engineering, feeling an urge to re-write the whole codebase etc.
- miiiiiike 4y agoThat’s why I won't work at big(ger) companies.. Unless I have a lot of leverage. I wouldn’t rewrite things or over-engineer them if I was idle. I would quit.
- jacobedawson 4y agoWith all due respect, I'm struggling to imagine what you could possibly be coding that needs 5 hours of "hands on" time every single day - from my experience most of my productive time is spent thinking about what to code & reading code, the actual "hands on" time is fairly minimal.
- miiiiiike 4y agoAre you sitting at your keyboard? Are you reading documentation and clicking around? Or sketching something out? Sounds hands on to me, keep the timer running. Are you listening to a podcast while cooking and thinking about code sporadically? Timer off.
- p4bl0 4y agoHow do you fully stop thinking about, e.g., an algorithmic problem when eating or taking a break? I cannot pause my brain like that so the actual limit between working and not working is never clear to me.
- miiiiiike 4y agoI don’t. I keep the timer running while I eat.