You’re dreaming of a programming job with 30 hours a week, a job where you’ll have time for your own projects, your own hobbies (or even just time to get all your errands done!). But this sort of job seems practically non-existent—almost no one advertises programming jobs with shorter workweeks.
How do you carve out a job like this, a job with a shorter workweek?
The ideal would be some company or employer where you just can ask for a shorter workweek, without having to apply or interview, and have a pretty good chance of getting a “yes”.
In this post I’ll talk about the easiest way to get what you want: negotiating at your current job.
As an existing employee you are much more valuable than an equally experienced programmer who doesn’t work there.
During your time at your employer you have acquired a variety of organization-specific knowledge and skills. It can take quite a while for a new employee to acquire these, and during the ramp-up period they will also take up their colleagues’ time.
Here are just a few of the things that you’ve likely learned during your time as an employee:
- The existing codebase.
- Local best practices, idioms, and coding conventions.
- The business processes at the company.
- The business domain.
- The informal knowledge network in the company, i.e. who is the expert in what.
Not only do you have hard to-replace skills and knowledge, you also have your work record to build on: your manager knows what you can do. Once you’ve been working for a manager for a while they’ll know your skills, and whether they can trust you.
In my own career, being an existing employee has benefited me on multiple occasions:
After a number of years working as a software engineer for one company, I got a bad case of RSI (repetitive strain injury). I could no longer type, which meant I could no longer work as a programmer. But I did stay on as an employee: one of the managers at the company, who I’d worked for in an earlier role, offered me a position as a product manager.
In part this was because the company was run by decent people, who for the most part took care of their employees. But it was also because I had a huge amount of hard-to-replace business and technical knowledge of the company’s product, in a highly complex domain.
I worked as a product manager for a few years, but I never really enjoyed it. And with time my hands recovered, at least partially, potentially allowing me to take up programming again. After my daughter was born, my wife and I decided that I’d become a part-time consultant, and take care of our child the rest of the time, while she continued working full-time.
My manager was upset when I told him I was leaving. I felt bad—but really, if your boss is unhappy when you’re leaving, that’s a good thing.
In fact, my boss offered to help me find a less-than-full-time programming position within the company so I wouldn’t have to leave. I’d already made up my mind to go, but under other circumstances I might have taken him up on the offer.
Notice how I was offered reduced hours, even though companies will never advertise such positions. That’s the value of being an existing employee.
Unless you work for a really bad manager—or a really badly managed company—a reasonable manager would much prefer to have your experience for 4 days a week than have to find a train a replacement. That doesn’t mean they’ll be happy if you ask for a shorter workweek: you are likely to get some pushback.
Does negotiating seem too daunting, or not something you can do? Plenty of other programmers have done it, even those with no previous negotiation experience.
Much of this article was an excerpt from my book, You Can Negotiate a 3-Day Weekend. It covers everything from negotiation exercises you can do on the job, to a specific script for talking to your boss, to negotiating at new employers if you can’t do it at your current job.
With a little bit of practice, you can get the free time you need.