A month or so ago, I took a walk around the neighborhood with Berta, as we often do after dinner when there's still light out and the heat isn't overbearing.  These walks often contain what feels like awkward silence, or rather, they would if I would ever shut up.  For whatever reason, regardless of the breathlessness the pace and incline induces on my completely out-of-shape and asthmatic self, I can't help but take the opportunity to fill the silence with some chatter.  At some point, I'll have to ask Berta if she feels this is my habit and whether she'd rather walk silently, since although she does contribute, I feel like she'd rather just walk with her thoughts unpolluted.

Anyway, it was on this one walk when I found myself resisting the urge to offer the usual rhetorical diarrhea, and instead focused on some of my own internal contemplation.  It was actually a really nice day, I remember.  The temperature was just what you'd want in an early summer evening.  The sky was not cloudless, but full of colorful pink and purple twilight-lit clouds.  No cars on the road and a gentle, comfortable breeze.

Whatever the cause, I was in one of those weird "imagine if" mental scenarios, like the kind where you imagine yourself in an alley at night in the city fending off muggers, and you imagine in vivid detail the things you'd say and moves you'd execute to disarm and disable the attackers, and the results and cost of the scenario afterward.  Except this scenario wasn't about muggers; it was a what-if about having a regular job.

I've been contracting on my own for two years, and the work I've done has been rewarding.  No doubt.  The ability to see the results of my own drive and tenacity have been both exciting and revealing.  No concerns there.  I think it's important to say that I know, and others who I'd care to prove it to know, that I can do it.

But I wasn't thinking about it in the abstract.  I was imagining a concrete present where I was an employee somewhere, working on a project.  I imagined the unexpected freedoms that come with not having to find my own work, receiving regular pay, and being able to take a vacation. 

Seriously.  I've said this to people before, but I don't know if it really sinks in.  When you work for yourself, any time you're not working, you are also not being paid.  There is really no such thing as a "paid vacation".  Sure, you can plan out paying yourself to the point that you can be "paid" while you're not working, and that all works out.  But for me, I've never been able to shake the idea that when I'm not working, I'm doing something wrong.  It causes stress.

Imagining vacations and not having to worry where the next job comes from and a horde of other things... very attractive.  I even imagined some of the potential concessions of this kind of employment, and I must say, the idea of being generally a better person (for a certain personal definition of "better") wasn't entirely off-putting.

I dunno.  I probably should have written about this right after the walk, because it's not coming out right.  It's not as simple as, "Oh!  Employment could be easier!"  There are other things in this imagined scenario about who I could be as a person, and how that could be better if given a chance to be someone different in one significant, catalyzing way.

I came around a corner thinking how great it would be to just be different.  And weirdly, things were different.  Just the way I thought about it was enough.  Now I'm looking for hooks for changing habits to transform my life.  Radical changes, really, spawned by small catalysts.  Maybe it doesn't seem it on the outside, but I'm hoping I get there.  I hope that one day Berta and I can be on a walk and she'll realize these changes, and maybe say to me, "You've changed a lot since that walk back then.  I like it."

I've been thinking lately about what my ideal, realistic job might be, and what concessions I might make to get close to that job.  I'm going to just spew those ideas here, in no particular order.

My ideal job would have a corporate office close to home, and have the ability to work from home on days when it would be preferable to have focused solitude away from the office or necessary to participate in home activities, like A/C installation or other home maintenance. "The office" would be in a building that is not a soulless corporate center building filled with sterile cubicles and Ikea-Lego desks, but would have some character all its own -- something you would enjoy showing off to family and other people in the industry, who would envy your daily environs.  It would be a place you would look forward to going.  And yet, the company would be flexible enough to let you work completely remotely for months at a time, for whatever reason.  As opposed to the sentiment I hear a lot where people who work remotely come into the office and learn to like coming into the office, I'd like the sentiment to be more one where the office is just one of many potential tools that builds team cohesion.

The team would be a diverse but allied crew of developers, designers, marketers, and managers. No position would be valued more than any other, because they would all be essential to the operation of the business day-to-day.  The environment would be casual, perhaps with optional "dress-up Fridays" (note the contrast to "dress-down Fridays"), emphasizing that the work product is more important than dressing for a role. Employees would not be encouraged to bring their pets to work, but a co-worker's love of a dog or cat or bird or marmot would be respected by his/her peers.

It's important to me that the team gels socially.  There has always been that separation for me from people who really like sports, which I can take or leave, but don't really get excited about at all.  I'm not looking for everyone to want to hang out all the time, but it would be nice if the people I worked with were mostly people that I would want to spend or enjoy spending time with outside of work.  Ideally, there would simultaneously be enough diversity in interests to keep things interesting, but enough similarity in interests to prevent alienation.

I don't really want to put in my time at work and then go home.  I'd like to believe in the work that I do. That certainly does not mean that I'd want to "do good works" all the time. There's a time and place for philanthropy and charity, and while I recognize that there are companies that focus on doing good works, that's not precisely what I'm interested in.  I'd be interested in any type of work where I could go home at the end of the day and feel good about the work I had done.  That could be contributing to a video game, or making it easier for business people to collaborate, or even enabling the transfer of large sums of money between companies. I suppose there is the care in the back of my mind that I would prefer the companies with which I do business to be "good", but I wouldn't rule out anything but obviously sleazy partners. I want to do "good work" not necessarily "good works".

As to the work itself -- Maybe it seems strange, but I'm not really picky about that.  I'm actually more interested in the technology stack that gets me there, and the ability to have something new and advancing to work with often enough that I don't get bored by drudgery. The web, desktop, mobile... It doesn't matter to me.  The product itself - as crazy as it may sound - isn't too important to me, as long as it's interesting enough to hold my attention and ultimately make money for the company.  In fact, the more interesting-sounding projects from a "hey friend, guess what I work on!" perspective tend to also have the characteristic of being the least exciting to actually work on.  While working on a fancy project ("I make the special effects software that they used to make the latest Hollywood blockbuster!") might be fun to tell friends, it might also be less rewarding from my "good work" perspective ("Oh great, more matrix math in the CPU...") than something that seems more mundane to an outsider.  It needs a good balance.

In terms of technology, where I am right now is working in a lot of PHP.  What I'd like though, is a company that understood a need to transition from PHP (maybe not immediately) to something more modern and/or upcoming as a team.  Have everyone on the team learn Ruby or Python or node.js all at once and get good at implementing it together, as a team.  More mobile would be good. Yes, some employer should teach me to write native mobile. But really, periodically evaluating what technology the company uses introspectively and encouraging employees to contribute to any decision for change is something very attractive to me.

The company would emphasize doing things well over doing things quickly.  The marketing and sales people would understand development at least enough to do their jobs well and respect both the customers and the developers, which has been a problem at places I've worked in the past.  Development itself wouldn't live and die by best-practices (there's a handy and quick way to kill innovation), but discover a reasonable process that they'd be proud to introduce to new hires who are familiar with more traditional methodology.  This is not to say that some emphasis wouldn't remain on speed, just that it would be pragmatic and tempered by process, to adequately address things like technical debt and scalability.

While I appreciate the rigor of a positive work-life balance, the 9-to-5 workday does not resonate with me as a way to produce the best work for work I love to do.  Development, as much as it is a rigorous and meticulous practice, is actually incredibly creative.  It is sometimes difficult to convince people that staring blankly at a monitor for a couple of hours to sort out a problem in my head truly is hard work.  Sometimes, staring blankly isn't the best use of time, and it's rather better to shake the cobwebs out with some completely other distraction.  This is where the Foosball tables come from.  This is why there are coin-op consoles in some good development studios.  But the hours that you work can make a big difference, too. I know I'm more "business-productive" at certain times of the day.  I know that I'm worthless to put in front of the computer at other times of day.  If I have to worry about putting the kids on the bus and then rushing in to the office, that's stress that work should not cause in me.  These ranges of time shift throughout the year. Having flexible and yet reliable work time is really important, not just for my happiness but for company productivity.

What about compensation and benefits?  It would be nice to have a health plan available, even though Berta's does well for us. A retirement plan, even a simple one, would be useful. Vacation is a big deal for me, since working from home has gotten me into a habit of never feeling like I can take or deserve one even though, after two years on my own without one, I think I desperately need one. Pay is important, when it comes down to brass tacks. I've looked at what a developer of my experience makes in my area, and I think I'm worth that salary -- I'm currently billing out hourly at well beyond that rate. I think of equal importance to all that is the ability to improve the situation.  At many previous positions there have been no reviews and no raises even for general inflation. It would be nice if that was just part of the deal - no questions 3%/inflation per year, within the company's ability to do so, with opportunity for bonuses based on performance - without having to beg for it.

A lot of these concerns seem like places where a worker could take advantage.  I think when I present these ideas to prospective employers, that's how they hear them.  But it's not about trying to pull one over or get something for nothing.  When it really comes down to it, I want to provide my best work.  These conditions are what produce that best work.

So.  Given that my "dream job" doesn't exist, where am I likely to trade off and what would I trade for? 

I could probably live with a longer commute.  Most people commute longer than I do (since I work from home, currently).  Maybe it seems strange, but I scoff at the idea of having to drive 30 minutes to get to work.  It seems excessive to me.  Plus there's gas and car maintenance to think about, especially if I'm driving every day.  There's also the issue of a commute becoming dangerous in inclement weather, which has been a perplexing problem for employers to understand in the past.  ("I'm in the office. Why aren't you in the office?" "Maybe because I'm not as willing to stupidly risk my life as you to get to your cube farm?")

I could probably live with regular hours.  It's tough because right now I have to get the kids on the bus in the morning.  Riley's too young yet to be responsible for this himself, alone.  I don't really have any reliable recourse for the kids if I don't do it myself.  If my commute for a new job would require me to leave the house before 8:30, then that pretty much rules that job out.

I suppose I could live with having to replace my entire wardrobe.  Berta would probably approve.  I'm a jeans and t-shirt guy.  Not "ratty t-shirt", but "humorous print t-shirt". (See also: Woot!) In most cases where I must impress someone with my clothes, I'm not going to do any justice to the interaction with what I say, either.  But hey, if everyone else is doing it, sure, I'll blow a thou' on some new khakis.

I'd easily give up the charismatic office for a good, friendly, competent team to work with.  I'd give up Foosball (really? Foosball?) and the like for a manager that understands the creativity that is sometimes required to do this work.  I'd allow for even a non-existent development process as long as the desire and intent to develop and apply one existed.

Remote work is hard to give up after nine years.  Companies should really consider not whether they'd allow remote work, but how they will eventually accommodate remote workers. The price of gas is an issue.  Getting the best workers is an issue.  I see the benefits of face-time, but even for teams that are always completely on-site, the tools used for disparate teams are an advantage.  Why not get started early?  Be lithe.  Anyway, I suppose I could always work in an office, depending on how far away it is (read: how much of my life/free time is drained by commuting to your remote location).

The trade-offs for these things are few.  More pay?  More vacation?  Is an employer willing to pay me for a full 10-hour day on a 8-hour day job with a 1-hour one-way commute?  Someone should compensate me for that time, no?  Maybe that's built into the salary.  It seems... unequal somehow, to trade being willfully strapped into a moving prison for cash.

I also wonder if I'm missing or overlooking anything. Some of the perks here have the potential to be pretty great. And realistically, I know plenty of people who aren't in a position to demand the conditions that I'm even considering as "standard", so I feel plenty privileged. I mean, I never forget when I was living in Johnstown above the barber shop, working at Little Caesar's and ditching the landlord because I wasn't making enough to cover rent.  I've been there.  I am appreciative.  Perhaps even some of these things I consider negatives are actually positives in disguise.  I could certainly stand to dress better.

I suppose now that I've gotten into words what I'd love to work at, I should determine what each of my concessions is worth to me, in terms of time or other compensation.  Then maybe I can use that to figure out what I want to do with myself, overall.

I have joked with co-workers about giving up programming and going into a profession that doesn't involve technology at all.  Usually, the profession is farming, selected because it's so far removed from technology, and obviously - literally - fruitful. 

But the reality is that I would not make a good farmer. The hours are long and bad.  The money is not good.  I'm actually not good at growing things, in general.  So while saying "I'm giving up all this web insanity and becoming a farmer" makes the point easily, it's not really practical.

Instead, I've decided to choose a practical fallback profession:  Bread making.

It's probably a little strange to say, but I do like making bread.  It's something you can do with your hands that produces an obvious useful output - food.  There's enough science involved to make it interesting to experiment with.  Altogether, it's a significant improvement over farming.

I also have some great ideas about how to improve the production and distribution of bread in general.  The type of shop I would work from would produce small loaves of bread for use in sandwiches.  The story I usually tell about how this idea came to me involves the loaves of sandwich bread you get from the store.

Have you ever noticed how supermarket-bought commercial bread can sit on the counter for weeks and not get moldy?  Yet if you buy fresh bread from a bakery, it'll go bad after a couple days?  You have to wonder what chemicals are in that commercial bread to keep the mold away for so long, and whether that's a good thing to be eating.

I want to make small loaves, and deliver them to homes on a schedule.  You'll never run out of bread that you have to buy loaves at the grocery store, and the bread will be fresh within a couple of days.  You can select the type of grain you like, and get artisan-quality bread instead of pre-packaged, mass-market, big-label brands.  Overall, I think people will like this idea, and I will like making it.

Anyway, that's the "plan" if all else fails.  Or working as a fry cook at McDonalds.  Who knows at this point.