How to Have The Perfect Schedule

Cover Image for "How to Have The Perfect Schedule"

Freelance ProgrammingLaptop Life
A few years ago, I had to make some serious choices about the way I work. I’ve always enjoyed doing technology work, but since I was a young kid I’ve never felt quite “right” working in a typical 9-5 schedule.
It wasn’t until far into my adult life that I found out I had a few things going on that explained this somewhat – I found out I had a sleep disorder, ADHD and learning disabilities. Things started to make more sense.

A Fork in the Road

Sometime thereafter, I was lead engineer at a startup, and working the typical more-than-full-time startup schedule. The company gradually improved, but my health goals didn’t. So I had to draw a line in the sand and put my health before my job in a big way.
Fast forward to now. My typical work week is 20-25 hours. I sleep 8 hours a night, eat fairly well and exercise every day in some form. I hit the gym, I do yoga, and salsa dancing. I travel a fair bit. I enjoy myself on the weekends, and I don’t work late at night (since it affects my sleep). I fit in the time to do crazy things like 10-day silent meditation retreats and bizarre brain training experiments. I still manage to pay my bills absolutely fine,

and my clients are happy with my work. 

People are often surprised by how lean my schedule is, and how I’m able to do all the things I do. If you’re a developer with a little experience, I think this is very doable for a lot of you. Below is an approach to get you started.

Crafting Your Perfect Schedule

Depending on your experience level, your approach may be a bit different from mine. Each of the points below is very relevant, but you might apply them differently if you’re a more junior programmer or not a freelancer. Here’s the cheat sheet:
  • Describe Your Perfect Schedule
  • Build a “More Value in Less Time” Mindset
  • Examine Your Current Situation
  • Define Your Unique Offering
  • Mitigate Responsibilities, Set Expectations
  • Hustle & Deliver
Describe Your Perfect Schedule
First, clearly define the schedule you want, including actual work time and the personal things you want to do on a regular basis. If you have a goal in mind, you’ve got something clear to work toward. (This is a lot like Tim Ferriss’ “dream lining” concept.) Make it at least a little detailed. It doesn’t have to be exact.
Write it out on paper or digitally. For me this originally may have looked something like this (I’d write the whole week out, but here’s just Monday so you get the idea):
Build a “More Value in Less Time” Mindset
List out (again, on paper or digitally) the 3-5 things you do (or can do) that are most valuable to your employer, or prospective clients. If you can find a way to focus on those 3-5 things, and cut out everything else, you can make a case for working part time.
The hard part is getting more money per hour spent if you’re at an existing job. You’ll have to talk your employer into it. As a freelancer, you can set your rate and terms, so it’s my perception that setting a higher rate is more acceptable.
Examine Your Current Situation
Do you currently have a full-time job, or are you a freelancer? If you’re FT, consider going freelance. A BIG perk of freelancing is the ability to set your own schedule, and since you’re getting your own clients you can set part-time hours as a requirement of working with you.
Another possibility is to work something out with your current job. Notice where you’re most valuable there – is it for a particular piece of code you maintain? Is it for support or troubleshooting?
Whatever it is, focus on your strengths; that is, which 3-5 of your skills are MOST valuable to your boss, or prospective clients? The goal is to market yourself as being good at those things, and cut out everything else so that you’re spending far less time working. If those few things are valuable enough to your company, you can make a case to your boss for doing them part time.
Define Your Unique Offering
Write down your 3-5 biggest skillsets in a really specific way. For a full-timer, these are the things you do best at your job (that preferably no one else does). For a freelancer, these are the services you can offer to clients. Here’s an example of mine:
  • Senior-level front-end development (Javascript frameworks, single-page web applications)
  • Full-stack development (Ruby on Rails)
  • Front-end performance optimization
  • Front-end best practices training (1-on-1, or team-based)
For a full-timer, this might even be a list of features you actively maintain, and know better than anyone else. Either way, this list is the things you want to tailor your schedule to work on, and eliminate everything else.
Mitigate Responsibilities, Set Expectations
Working 3 days a week means you can’t be a part of a daily standup (not every day), be available for emergencies, or work on things that are very time-sensitive. This is absolutely fine, and part of the reason many of us choose these schedules.
The important part is that you set the expectation properly. Once again freelancers have it easier here: when I take on a new client, I’m very upfront that I work 3-4 days per week on projects, at a maximum of 6 hours per day. And when we schedule tasks for me to work on, I don’t take on critical, time-consuming tasks at the end of the week (or risk them being undone). It’s important that my clients know to use me for things that don’t fall into that category. I will however take on something critical on a Tuesday morning if it will help out.
Also, part of the services I offer are training-related. I will take on a client, examine their Javascript codebase, and come up with lessons on how to do it better. I train their developers on best practices using their own code as an example, and have them do the implementation as homework. This is another way I can deliver a ton of value to their team, without disrupting my own schedule or holding up their team’s schedule in any way.
Hustle & Deliver
Once you internalize the mantra above,  you’ll eventually find more and more ways to do it. Embrace the fact that you don’t have to work 40+ hours per week for employers or clients to benefit from your skills.
Spend every minute of your working time keeping your client’s needs in mind, and they’ll be glad to pay you. And as you more clearly define your unique offerings, you’ll get better at marketing yourself based on them, and that’ll lead to more opportunities that match the schedule you want.