This might seem like old hat to those of you who are consultants, but it was a big shift in my thinking.
I don't have a work laptop.
At about this time last year, I left the video game industry. For a lot of different reasons, the game industry is focused on MS products. Game developers work on Windows workstations, and when they start talking about databases they want to use MS SQL. I like having good tools, so I never wanted to buy a Windows laptop for personal use. For a while I kept a Mac or Linux desktop that would dual-boot into Windows for gaming, but it's been years since I rebooted for a game.
It was really awesome when I went to work for a true web company that did everything in the cloud. You could run everything you needed on a Macbook Pro. Work provided a great laptop. I could install the tools I liked. Life was good.
The only downside was my arms were getting longer from dragging around a nearly matched pair of 15" Macbook Pros. Eventually, I just set up a work development environment on my personal laptop and left the company laptop in the office.
Now that I'm at Moxiesoft, I don't even have a company laptop.
Here's my thinking:
- I will always want to have my own personal programming projects. This is essential for professional development, and I just like to program. I can't use the company laptop to work on them because (like every other company) I had to sign a work for hire agreement that says my employer owns anything I write on their time or using their equipment. I've got to use my own computer if I want to retain the rights to what I write in my spare time.
- I want to have a reasonably recent laptop. A 2-3 year upgrade cycle seems pretty reasonable these days, but Apple hardware is expensive. It's easier to justify upgrades if it's a computer for both personal and professional use. Plus, upgrading my personal laptop is my decision and doesn't require approval from above. If I hate my laptop, I can do something about it without begging for approval. Less stress for me, less stress for my boss. Everybody wins.
- I don't have to try talking my employer into buying licenses for expensive tools I've already bought for myself. I've got Photoshop, Office, OmniGraffle, Balsamiq and lots of other useful tools and I didn't have to beg for them.
- With only one laptop, I always have all my tools with me. I don't have to switch laptops if I need photoshop. I don't have to worry about whether my .emacs files are out of sync. Managing my dev environment is a lot simpler. I no longer feel "tool envy" when I'm on one laptop or another.
- As long as I have my laptop with me, I've got what I need to work on my own projects AND my work projects. I don't have to decide what I'm going to work on before I leave the house. Programming is programming. Again, everybody wins.
- Setting cool things up on two laptops was a pain - less of that friction means I'm spending more time doing things to make my life better. I'm happier and more productive both at work and at home. Everybody wins.
So I'm happier. Everything's happier, right? Well, there are a couple downsides.
- I left my backpack at a friend's house the other day and about had a panic attack. It had EVERYTHING in it. Work computer, personal computer, even my kindle. Having to wait a day would have been really really bad. I'm actually thinking about making some chef scripts that will build out a work dev environment on EC2 in case it (or hardware failure, which is more likely) happens again.
- At jobs past, I've been able to stay away from work in the evenings either by just not opening the work laptop or refusing to install invasive VPN software on my personal computer. One place actually had a VPN client that would audit all the other software installed on your computer and could do really nasty stuff to you. No way I was going to install that. Now there isn't much enforced separation. I close my tabs and windows, then run 'ssh_identity personal' to swap keys. So far, this hasn't been a problem.
- I'm going to wear out this laptop faster than I might otherwise. It's a unibody macbook pro, so I think that'll take a little while, but I do need to plan for replacing it every few years.
- Maintenance and upgrades are my responsibility. The flip side of not having to convince my boss to pay for things is that I have to pay for them.
I'm definitely happy with this arrangement. I think it's a big win for me, and a win for Moxiesoft. I doubt that it makes sense for everyone though. The whole thing is predicated on the notion that I'd be buying most if not all of this stuff for myself anyway, so asking my employer to buy me duplicates is just wasted spending.
This wouldn't work if I was some place that insisted on a development environment I didn't like - but why would I work somewhere like that?