I’m currently enjoying being unemployed, and I won’t be looking for a new position until some time in 2022, but I’ve been thinking about what I want from next position. There are many things I’d like, but what are my priorities?
Update 2022: The more I’ve thought about this the more I’ve realized that I can achieve my goal of working less by aiming for higher compensaion now in order to be able work less in the future. All of which is to say that I’m no longer committed to finding a job with a 4-day week.
This post is my attempt to organize my own thoughts about this so I can be more careful and systematic when I start looking for my next position.
I’ll be 48 by the time I start my next job. Realistically, that means my life is more than half over. While I don’t hate working, I don’t love it so much that I want to maximize the amount of time I spend doing it! So spending less time at work is my top priority.
My number one criteria for my next job is being able to work 4 days per week (or less). I’m talking about 4 eight hour days, not 4 ten hours days1. A 3 day week would be even more amazing, but at that point it’s really a part time job. I don’t think I can find that except as a consultant and I don’t want to go back to consulting.
Fortunately, the 4 day work week seems to be getting a bit of traction recently. More and more companies are embracing this, though the absolute numbers are still small. I’ve found a couple job boards that make finding these positions easier, 4dayweek.io and People-First Jobs.
And even if a company isn’t advertising a 4 day week, sometimes you can negotiate for this individually. At my previous job, I had a 9 day fortnight (every other Friday off). And the job before that I did have a 4 day week. In both cases, this was something I negotiated, not a company policy.
I also want at least 5 weeks of PTO per year. Fortunately, this one seems much easier to find. Given the incredibly hot labor market in tech right now, I’m seeing many positions that offer this.
Of course, some places also offer the nebulous “unlimited vacation”. In the best case, employers do this so they can let people who want more time off have it without accruing a huge liability in untaken PTO for people who don’t.
But the devil is in the details. Clearly it’s not actually unlimited, since otherwise I could simply take all my time off and never work. So what does “unlimited” really mean? My plan is to ask everyone I talk to a few questions about this:
- How much time did you take off over the past 12 months?
- How much time did your coworkers and/or reports take off over the past 12 months?
- How much time did members of upper management take off over the past 12 months?
- What do you think the real upper limit on PTO is? (Because of course there is one!)
Some companies that offer unlimited vacation also have a mandatory minimum amount of vacation, which I think is a very good sign, as long as it’s enforced.
If working less is my top priority, I may have to compromise a bit on compensation. None of the the very top-paying companies offer 4 day weeks yet (AFAIK). But again, given the incredibly hot labor market in tech, I suspect I can find something that pays as much or more than my last position.
I’d love to share what my actual compensation at past positions was, because I think people don’t talk about this nearly enough. But sharing this information with all potential future employers seems like a tactical mistake. I compromised by putting my salary information into levels.fyi. But given how small ActiveState is, it may be quite some time before they have enough data points to show their salaries.
Languages and Technology
I would really love to work with Rust. I’ve been using it for personal projects for a while and I find it quite satisfying. That said, Rust jobs are rare, and many of them are either in fields I want to avoid, like cryptocurrency (see below), or they require expertise I don’t have, like graphics or low-level programming experience.
More generally, I’d really like to do something where I can learn something new. Building yet another REST app in a dynamic language or Go does not feel very exciting at this stage in my career.
Also, I won’t do Java (other JVM languages are fine) or PHP.
Company Size and Stage
In my career so far, I’ve found that I’ve most enjoyed working for a small company that is already profitable. That said, I’ve never worked for a startup that actually took off, nor have I ever worked for a large tech-focused company (like a FAANG, Stripe, Elastic, etc.). I think either of those could be really good experiences as well.
Surprisingly, I have seen a few startups offering 4 day weeks. My question is whether they end up in some sort of indefinite crunch mode and throw this out the window because of the pressure that a startup experiences.
All of this is to say that I’d consider just about anything except for a large company that isn’t a tech company. I did that once, and it was by far the worst work experience I’ve had. Never again!
IC2 or Management?
At ActiveState, my most recent employer, I was as Team Lead, which included actual people management responsibilities. I had never really done this before, so I decided to take the position in order to try something new and do something that scared me. Challenges are good.
I enjoyed this position. My team size varied from 2-5 people over time based on restructurings, people leaving, etc. As a rough estimate, I’d say I spent 40% of my time on management stuff and 60% doing IC work like writing design docs, coding, code reviews, etc. This was a good balance for me.
I think I did a reasonably good job at management, though it was definitely a big learning curve. The people who worked for me gave me very positive reviews. The people above me also gave me good reviews, though they had more constructive criticism than my reports.
So what should I do next?
I’m pretty sure I wouldn’t enjoy being any higher up in the management chain. At any level above Team Lead, you have even less time for IC work. My manager, the Director of Engineering, did find some time to code, but not a lot of it. The CTO had even less, to the point where he mostly seemed to write what code he did in the evening or on weekends.
I’d be happy with a similar level of management responsibilities in the future. But I would also enjoy a higher level IC position (Staff/Principal/Grand Poobah Engineer). Strategically, the IC position might be a better choice, because I don’t want to advance any further up the management track than where I’d start.
I’m not super picky about the product. I think anything can be interesting and rewarding, especially if you have engaged customers who really like what you’re building. A developer-focused product is always fun, and I enjoyed that aspect of ActiveState, but it’s not a necessity for me.
But there are a few things I don’t want to work on:
I don’t know enough about this field to distinguish scams from real products, and it’s really hard for me to see how the upsides of these products outweigh their downsides.
Surveillance Capitalism and Social Networking
Gig Economy Work for Non-Professionals
Again, just say no. Everything I know about Uber/Lyft/Doordash/GrubHub/etc. is bad. They are predatory companies taking brutal advantage of people who are cash-poor and not great at math. Plus they seem to have no viable way of ever being profitable, so they’re basically just a scam to funnel VC3 money to founders, or from early VCs to later VCs4.
In my personal life, I’ve sworn off all food delivery services, and I’m doing my best to avoid “rideshare”5 services too.
I specify “non-professionals” because there are also gig products aimed at professionals, like graphic designers, software developers, etc. I’m not sure whether these products are purely bad in the same way, and I can imagine a product that was actually a net win for everyone involved.
I feel like I’m probably missing some other field. I haven’t seen any MLM6 companies advertising for developers, but that would be a hard no if it came up.
Narrowing it Down
My hard requirements are:
- A 4 day week (or less).
- 5+ weeks of PTO.
- No Java or PHP.
- No companies in the unacceptable fields I’ve mentioned.
- I want to do a significant amount of IC work, even if I’m in a management position.
Everything else is a negotiation or compromise.
This is a post that makes me wish I had a commenting solution for this blog. But I’ll share this on Hacker News and hopefully I’ll get some good feedback there.
As a software developer, you’re not going to get more done in a ten hour day anyway! ↩︎
IC = individual contributor, aka not management ↩︎
VC = venture capital ↩︎
Though given how much funding goes into these companies, the VCs must think there is a way to make money here. ↩︎
Why is this called “rideshare”? What is being shared? ↩︎
MLM = multi-level marketing ↩︎