Saturday, December 25, 2010

Training Summary: 12/13 - 12/25

Freakin Christmas. Sugar Cookies, Alcohol, 8AM sunrise and 4PM sunset. All conspiring to make me about severely unexcited about anything besides sleeping, getting my drunk on, and being a glutton.

These days it's more about showing up than executing a specific plan, which is fine, because what goes down in December doesn't carry through to June, so there is no point in putting in long hours in the dark. I've actually been a lot more focused on (a) intensity, via 30x30s and hill sprints and the like, and (b) resistance exercises, specifically dumbell squats and single leg split lunges via the TRX. Basically, I'm going shorter, but when I go, I go hard. And then I try to top it off with resistance work to fry the legs. The macro goal here is to come out of winter with some mo-fo tree stumps for legs, so I can ride like the wind, run like a gazelle, and crack walnuts with my butt cheeks. Another goal (an experiment, really) is to see if exercising at a pace that makes me feel like hurling for short durations can keep the usual winter adipose layer at bay.

Here is the highlight reel for the last couple of weeks: p.s. there was swimming mixed in, but I forgot the pertinent details.

12/14/10:
14x30x30, 5.41 mi, between 6:00-7:30 on the interval parts, aggressive shuffling on the rest parts. Hilly out and back along W Mercer way. In the dark. Yay, Headlamps!
Did 2 sets squats, 2 sets single leg TRX split squats plyometric stylee, yo.

12/16/10:
3.24 mi, easy-peasy, because I was tired, and it was dark. Then into the dungeon for 3 sets of all leg exercises known to man. Legs hurt. Eyes Crossed.

12/18/10:
5.66 mi, 14x30x30, again between 6-7:30/7:45 mi, a little slower than last time. Must be the extra gut I'm carrying around.

12/22/10:
4.04 mi, did hill sprints up 'puke-worthy hill', the one that rolls by the Hajari's old house on the steep incline of W Mercer. Did 4 hill sprints after a cursory warmup. Goddamn, that hurt. Made me cry like a little girl. After that, did 3 sets of resistance exercises to fry the legs to completion.

12/24/10:
3.25 mi, chillaxed because I had more fun planned in the dungeon. Legs were hammered by the time all was said and done. Then went snowboarding with Kiran, which is mostly me working on riding backwards as he works on his turns. We left in the middle of a blizzard ?!? I've got to teach that boy some values, snow values, that is.

12/25/10:
21.5 mi, Southend MI Loop out and back, 17.5 mph average. My legs and back were cooked from yesterday, so after an initial hard effort to drop some wanker, I put it in 'easy lovin' mode and rolled out the rest of the ride. Right Knee, Left SI joint both feeling really...old today. Still, it's Xmas, and it was 53 degrees and dry outside. Fuckin-A-Bubba, that's what I call a good day to ride.

Sunday, December 12, 2010

Training Summary 12/6 - 12/12

OK. Week 2 on the job. Unlike the last job, this is not a high stress, high stakes, deathmarch. Yet. The perks are great. I have my own office, and a fridge ?!? Seriously, a fridge. How cool is that? So far I've successfully resisted the urge to stock it with Beer. It is only the second week on the job, after all.

I've found a gym for $10/month with shower privileges, so I can start commuting in on days when it's not super cold. I'm thinking about starting that up next week, but may end up punting until January. I have the TRX setup at home, the reason I would be doing it would be to get the bike commuting in, and I'm not sure I want to do that right now, when it's cold and dark and (yet another perk!) they're paying for my bus pass.

I'm trying to keep the running and swimming going strong, but it's hard to drag ass out of bed @ 5AM every day. But it's a good habit to have, so I'm going to keep on trying to get out of bed until I can do it w/o thinking :)

I'm beginning to think that it's all about leg strength. Seriously. Rob, who kills me every time we go on a bike ride/skate ski, doesn't do a lot of running, but he's heavy into the weights, and his power is pretty amazing. He said that he's been really focused on leg strength, and even though he hasn't been running regularly, he has been setting PRs when he does go running. I've been doing a lot more leg resistance work because the weather sucks, and I've found that it feels different when I run -- I definitely feel stonger, like there is more space being covered between footfalls. Its actually more subtle than that, but I'm going to keep up with the leg exercises and see where it takes me.


Monday:

Rest

Tuesday

Swimming.

~ 1400 yards
300 warmup
2x300
5x100, first 50 fast, 25 breast, 25 free easy.

It's hard to get excited about swimming. I think this is because I haven't been showing up with a plan. I'm going to try and plan out the next couple of swims, and see if my excitement level returns. The other thing that is sort of exciting in the water is the whole 'swimming fast' thing. Note that I can only do a 50 before my form goes to shite. But I've got to start somewhere :)

Wednesday

4 miles 'brisk' pace and leg resistance exercises on TRX.

Today was supposed to be a track day, but I pulled up to the track and it was closed. WTF?!? Just because it's dark outside doesn't mean I can't run around in 400 meter circles! Anyways, I turned around, got a short 4 miler in, averaging ~ 8 minute miles on a fairly hilly course. Then I did the usual TRX routine. I've changed the single leg split squats to have more of a plyometric feel, as in I push off of my standing leg as my floating leg swings through. It kicks my ass! I've also upped the dumbell squats to 2 reps of 30. That also kicks my ass. This is good!

Thursday

nothing. nothing but sleep. Man, did that feel good!

Friday

4 mile hilly loop followed by TRX: I didn't have a lot of time, so I did 2 sets of:

1x15 plyometric single leg split squats each leg
1x30 squats

This reduced me to a quivering pile of goo. I barely made it up the stairs, where Lopa, who was observing the drama, said "what _are_ you doing to yourself down there?" I didn't have a really good answer :)

Saturday:
swimming:
300 warmup
4x200 constant pace free
w/50 breast in between
5x100 fast 50, 25 breast, 25 slow
200 warmdown

I read an article about maintaining the connection between the pulling hand and the core. This made sense, I feel like I'm moving the fastest when I have that connection. But it's hard to maintain -- during the fast 50's today I could definitely feel myself lose that connection and slip over into thrash.

But it's cool, it's so elusive right now that I can focus on trying to find it, and the laps go by.

Sunday:
planned: a hard run. Reality: nursing a hangover. Good god, I will never try to keep up with Scandinavians in a drinking race again. 10 shots of aquavit went down like water, and BAM I was on my ass. More specifically, I was on my ass with my head between my legs, puking in the rain. Then shivering on the couch, then puking in the bathroom. Then passed out on the couch. Jensen threw down an epic party, and in True Arun fashion, all Aruns in attendance (me and Mr Pink) got completely fucked up and passed out. Jensen says he can always tell the first timers at his XMas bash because they're the ones passed out around the house. The first part was fun, the puking was not, and the final part after I woke up was also fun. But there was no fucking way I was going to go running after a night like that. I'm 42, and can't quite suck it up like I used to in my teenage years.

I don't think I've got another one of those in me, ever :) Or, I hope I don't. Thank God Lopa was pretty buzzed and therefore extremely non judgemental about my wanton wastedness. First of all, I am not a regular drinker, I'm more like a 2 glasses of wine at a dinner party kind of guy, or 2 pints after a game. Not hardcore double digit shots. Not any more!

Hopefully I'll get things back on track tomorrow, with a brisk run followed by leg weights. Unless this is a 48 hour hangover, which might be the case.

Monday, December 6, 2010

Training Summary 11/29 - 12/5

First week of work meant a big re-adjustment on all fronts...so I did what I could, hoping to get a little more regular next week.

Wednesday


Swimming
2x150
2x300
2x150


Friday

Running 3 miles and weights

TRX, the usual leg weight stuff
atomic pushups,
2x12 pullups

Saturday


Running 8.75 miles, 8:51 average.
went out easy, picked it up, pulse was higher than usual, definitely felt the lack of fitness. however, I am starting to feel like my legs are getting stronger and pushing off harder.

Sunday


Running 4 miles + weights
TRX Legs only.

Tuesday, November 30, 2010

Back in the Saddle!

Today was my first day back at work, and after almost 2 months off, it felt great to be earning a paycheck again. Actually, yesterday was the first day at work, they flew me down to Burbank for a company orientation. This is the first time I've ever been at a company mature enough to need a company orientation -- actually the first time that I have ever been at a company where there are other people besides engineers :) Holy Diversity, Batman!

It feels great to pull a paycheck again. I knew I missed it, but didn't realize how important it was to my mental health to work. Anyways, more later -- this week is going to be an adjustment week, I've got to retool my whole schedule a bit as I figure out how and when I'm going into work, and how and when I can get some swimming/running in.

Training Summary 11/22 - 11/28

Call this past week 'the week that got away'. Between Thanksgiving and the first Seattle Snowpocalypse of 2010, not a whole lot got done, training wise. I did get a lot of resistance training in, but offset that noble effort with repeated trips to the feeding trough. Next week = back to work. Start the day off at Disney HQ, getting orientated, then back up here to dive in and start up for reals!

Monday

off.  I was tired from Sunday's run. On a rest day, if I'm that tired, sleep always wins :)

Tuesday

2x15 single leg split squats, last set with 10 lbs dumbell weights
2x10 single leg in front squats
2x10 single leg tuck behind squats
2x30 dumbell squats, 65 lbs
1x10 deadlift, 65lbs

Wednesday

Snowpocalypse hits, hard. Since the track was buried under 4 inches of snow and ice, I went outside and sledded with Kiran and Rohan instead. The only workout benefit of that was walking back up the steep hill. But we had a blast!

Thursday

Upper and Lower body resistance. Also a lot of sledding/ walking up and down steep hills.
  • 2x15 single leg split squats, last set with 10 lbs dumbell weights
  • 2x10 single leg in front squats
  • 2x10 single leg tuck behind squats
  • 2x30 dumbell squats, 65 lbs
  • 1x10 deadlift, 65lbs
  • 2x10 pullups
  • 1x20 shoulder Y extensions
  • 1x30 atomic pushups
  • 1x15 single arm pushups on TRX (1 ea. side)
  • 1x15 single arm triceps extensions (1 ea. side)
  • 1x15 supermans TRX
  • 1x15 chest fly TRX
  • 1x15 single arm row (1 ea. side)


Friday

4 Mi easy run with Shadow. The roads finally cleared up! Running w/Shadow is great, except for the way it throws my arms off. I'm going to play around with hooking his leash up to a belt, and see how that works out.

Saturday

Swimming
Felt rusty after a week off. Shoulders / arms were still sore from Thursdays upper body workout, so  I concentrated on form.

  • 1x300 warmup
  • 4x150 with fistgloves
  • 4x150 free + 4x50 br. w/o
  • 2x100: 50 free fast, 25 br, 25 catch up free
  • 1x150 warmdown

2050 total

Sunday
Running 4 miles + resistance training

  • 2x15 single leg split plyometric squats (where I explode off the standing leg)
  • 2x10 single leg in front squats
  • 2x10 single leg tuck behind squats

Sunday, November 21, 2010

Training Summary 11/15 - 11/21

OK. Job is in the bag, pending security check, which I'm pretty confident about, given that my employment history and education are what they are, as unimpressive as they might be (no one would fabricate my employment history or education to try to look better, that's for sure :) This leaves 2 weeks to contemplate...things. I've got some stuff I want to get done around the house, as well as some stuff (re:my personal pet project) that  I want to code up prior to starting a new job. And, of course, I've got time to train.  I've just got to keep it 'rubber side down' for the rest of my unemployment. Sheesh, I've (a) totaled the car, (b) lost Lopa's license, (c) gotten a parking ticket so far. Unemployment = trouble!


The weather has gone into total November mode, meaning it's cold and raining a lot. Biking doesn't look very likely over this next week. Running in rain, mist, wind, and cold isn't entirely excitement inducing. My body is starting to feel the damp/cold. My left hip aches for the first mile or so, and my right knee is twingy. Also, my lats are really sore for some reason I don't think it's the swimming, but that's about the only thing I think that could have brought it on, b/c I haven't been doing pullups lately. Maybe the last TRX upper body session, but that wasn't terribly hard.

So, with running/swimming being the only options, I'm going to get out and do them, but also not be an idiot about it. If it is raining outside, I might choose to do an indoor TRX resistance session instead.

Since getting laid off, I have dropped about 5 lbs. I think this has to do with the fact that I'm not sitting on my ass or eating free treats as much as I did when I was pulling a paycheck. The extra time to train has got to be kicking in as well.

Monday

Swimming.
Lats were SORE. No idea why. I warmed them up, then swam some 150 free+50 breast. Basically took it easy. Even with sore lats, I'm having these moments of pure feeling. I really felt the water today, my catch and pull were better than they've ever been. I'm noticing that I'm getting faster relative to the same people that used to clean my clock. This is a good sign.
  • 400 warmup
  • 3x150 free
  • 1x200 free
  • 1x150 free
  • 150 warmdown
1250 yds total. 

Tuesday

Running + Resistance
Did 4 miles in the AM, was meant to be easy, but I realized  I was running late at about 3.5 miles, so my warmdown was more of a sprint uphill.

TRX + weights:
  • 2x15 single leg split squats
  • 2x10 single leg forward squats
  • 2x10 single leg tuck behind squats
  • 1x20, 1x30 dumbell squats with 65 lbs.
  • 2x10 deadlifts with 65 lbs.

Wednesday

Running  ~ 5 mi speedwork
  • 1.5 mi warmup
  • 6x400 @ < 6:30/mi pace w/3 minute rest (jogging) intervals
  • .5 mi warmdown
Lack of recent speedwork really showed -- the first 400 felt like crap. Yesterdays resistance exercises as well as the wind/rain (not driving, more slightly sideways) combined to make me feel like 6x400, instead of the original 8x400, was a good idea.

The last 4 or so I came in around 5:45/mi pace. This was my 'go out pretty quick and try to hold it together, but don't kill it' pace. Basically that last 100 felt uncomfortable, i.e. lungs + legs burning, but when I would think "this isn't so bad, I could easily keep this pace up for another 1.5 laps", the discomfort faded, or at least became more bearable.

I find it ironic that when I was capable of running fast, my head was telling me I couldnt. Now that I really cant, my head seems to be telling me that I can. Of course, this may just be because I'm not pushing it as hard as I used to, so the thoughts that I'm having are relatively positive because the pain level I'm experiencing is relatively low. Still, I do feel like I tend to have a more positive point of view on things.

Intervals -- I always love them afterwards. Running fast, as painful is it can be, makes running slower so much easier. Not sure how I'm going to maintain these track workouts once I go back to work. But I think that this is a great time to work on speed, and pretty soon I need to actually start training up for the March Mercer Island 1/2 marathon.

Thursday

Swimming:

  • 250 warmup
  • 4x150 with FistGloves
  • 2x300
  • 200 warmdown

1650 total

Couple of things:

  1. Shoulder soreness gone. Must have been something I did over the weekend. 
  2. I'm noticing that I'm getting a lot out of the 'push' section of the stroke. This became apparent when using the FistGloves on the 150s. Even with my hands all fisted up, there was a lot of water to push. 
  3. Bringing the FistGloves back was A Good Thing. I had gotten kind of fried on them a couple of months ago, but that was before tuning my stroke, esp. the pull, and getting my bilateral breathing down. Now the FGs are really forcing me to stay level, and 150 yards with them is no problem. Considering I could barely get 25 yards in them when I started, this is improvement!
  4. I need to step up. I think that 2000 yards is a good goal per workout. 2000 yards is something a real swimmer would sneer at, but for me, a slow/non swimmer, 2000 yards would push my form and endurance limits right now. That means I need to allocate an hour to swimming. Which is possible if I get my ass out of bed early enough. 
Friday

Running 

  • 2 mi warmup
  • 14x30x30 @ 6:46 - 7:15 pace (depending on hill)
  • 1.5 mi warmdown
5.67 mi total.

I think 30x30s are hard, when I do enough of them. 14 is getting there, I was tired for the last 4. But they were, again, over before I knew it. I think a combo of upping the pace to 1k (i.e. < 6:45) and increasing the reps will take this from 'hard' to 'really fucking hard'. 

Saturday

Running 4 miles easy
Was supposed to be a swim day, but there was a swim meet going on when I showed up. So I bundled up and ran 4 miles, really had to focus on keeping it slow at base pace. I ran into Dave, a friend I had met while walking Shadow, he has 2 bichon frises (spelling?). Normally I don't like little dogs, but between the fact that Dave is a really nice guy and the dogs think they're actually big dogs (i.e. no little dog complex), I've come around to liking those specific dogs. 


TRX Resistance exercises
The usual:

2x30 squat 2/65lbs total
1x10 deadlift (skipped 2nd set, back was feeling twingy)
1x15 split squat
2x10 single leg front squat
2x10 single leg tuck behind squat
1x12 split squat with 20lbs total.


Sunday

Running
8.75
8:48 avg.
2 mi warmup @ 9:30
2 mi tempo @ 7:45-8:15
steep uphill section @ really f*cking slow
3 mi tempo @7:45- 8:15

7:45-8:00 feels pretty good right now, but my HR is in the 156-160 range at that effort. The terrain was fairly rolling as well, so that always makes it a little harder.

Sunday, November 14, 2010

Training Summary 11/08 - 11/14

This week I may (or may not) stick to the 5k training plan, depending on whether (or not) I can get out on the bike. Because it would be really nice to get in a longish bike ride while the weather is still holding.

Monday

Swimming

  • 2050 yards total
  • 450 warmup, free and breast, easy.
  • 4x300 free w/50 breast recovery
  • 200 warmdown, free and breast, catchup stroke on free.
300 free is long enough so that around the 4th or 5th 50 I spend at least a length trying to remember what 50 I'm on. Now I know why they used to hang lap counter signs underwater when the 500 free was swum in high school. Sheesh! On a good note, 300 free is getting easier. I might (depending on how I feel on Thurs) step it up to 350. My eventual goal is 3x500, at that point I  know I've got some economy of form, and can then start building in speed via 25s, 50s, 100s. 

I saw a video of Michael Phelps swimming freestyle, and I really dug how he dolphin kicked the first half of the first length of the pool (it's hard to tell, but I'm assuming thats 25 meters of a 50 meter pool). So I tried the same today, and hey! It was really fun! He also pushed off really deep after his flip turn. I couldn't do that in the 3 foot section, and didn't have the lungs for it by the time I got back to the 12 foot section, but that is something to aspire to :) 

Also, I'm not so sure about swimming after 7. The water aerobics ladies are in da house, and this time, I was in the lane right next to them. One of them was wearing this perfume that was making me gag in the shallow end. That, combined with the increased temps (lets face it, doing water aerobics in a lap pool would be cold), was really messing with me. I did manage to switch lanes to avoid the aroma, and that seemed to help.


Tuesday

Running: 4 miles, 8:30/mi pace, in the rain.
TRX lower body exercises (split squats, single leg forward and tuck behind squats, 2 sets each)

It was rainy and cold, and I bagged a serious run, lifting weights instead. Had a rough night of sleep due to job negotiation stress, and all in all I wasn't feeling too groovy. 

Wednesday

Swimming
  • 250 warmup
  • 2x150
  • 2x300
  • 200 warmdown

1350 yds total

Still stressed by job negotiations, I have no idea how consultants do this regularly. It makes me want to hurl. In any case, not feeling super aggro today, just lolled around in the water, concentrating on form over speed, as usual. Still, getting good and comfy in the water. 

Biking: 20 miles around island, 19 mph avg. 

Got out this afternoon after locking down the final offer, needed to vent some energy. About 4 miles in my new boss called, and we talked about the position (very cool job, I'm a lucky guy!) for a while, which ate into the remaining sunlight. So I rolled it home after 10 out. But the conversation was worth it, and I'm frankly totally fucking thrashed from stress, so 20 miles felt completely OK.


Thursday

Swimming
  • 450 warmup
  • 4x300 free
  • 350 warmdown
2000 yards total

Felt great, considering this is the 2nd day in a row for swimming. 300s feel natural, may be time to push to 350 next week. Concentrating on high elbows through the pull, and really pushing hard on the last part of the stroke.


Friday

TRX
Not super excited to run after a late night out with Dave, Tom, Jim. So I lifted instead:

  • atomic pushups
  • 2x single leg split squats
  • 2x single leg forward
  • 2x single leg tuck behind
  • 1x20, 1x30 squats with 65 lbs total  dumbells
  • 2x10 good mornings
  • 1x20 TRX shoulder Ys.
  • 1x20 TRX single arm presses


Saturday

Ran 3 miles easy. Sore throat + Kiran's last (early) game + waking up late = short, easy run. 

Sunday

Running: 6 mi, 12x30x30@ 7:00-7:30 pace. It was raining slightly but warm outside, dense fog. Perfect running weather! I ran out and back on W Mercer, the first 2 miles were warmup, 10:15/mi on the long grade heading south. Then I hit the 30x30s, seemed to lock in on a 7:00 pace, which is the lower range of what I was aiming for. They were over before I knew it, which means I need to either (a) go faster or (b) do more. Then I ran back in, ended up averaging about 9:30 on my warmdown. That includes the downhill that was the uphill on the warmup, so it actually was pretty slow. Picked it back up for the final hill -- there is no point in running that thing slow. 

Training Summary 10/25 - 10/31

Whoops! I forgot to publish this one. But better late than never.

The weather outside is frightful. I mean, it's fucking-a cold out there, like BAM all of a sudden someone pulled the switch, and it's mid 30s, raining, downright miserable. Since I felt like a dog on Sunday, I skipped working out on Monday, just did some light TRX training.


Tuesday

Swim: 1800 total: 200 warmup, 4x250 free w/50 breast inbetween. 4x100 mixed free/breast warmdown.
whoa nellie the 4x250s in a row felt really, really good. I'm just enjoying being able to swim that far in one shot, its really a pretty big miracle, I definitely couldn't do that in high school when I was the least bouyant member of the swim team. See, love handles aren't totally evil!

Wednesday

one of the joys of being unemployed is that when it's not pissing down rain, I get to make the most of it.

Run 4 mi, base pace. Skipped intervals b/c was still feeling a little out of it.

Bike 26 mi, 1:26, 2 laps around the island. Legs were twingy at first (i.e cramping), but it all worked out in the end.

Thursday:

skipped out. Had a 9AM interview in DRedmond. Needed to leave by 8:15!

Friday:

weights. No swimming (no time!) Another interview @ 9AM, downtown.

Saturday:

nothing. The whole week of interviewing was draining. I got very little sleep weighing the options last night, and I was just beat. Plus, it was raining and cold.

Sunday:

8.75 mi, the usual loop. The goal was to hit 8:15/mi after a 2-3 mi warmup, but my body wasn't there. Must be the whole stress/fatigue cycle.

Monday, November 8, 2010

Stumbling Towards Better

Interviewing for a job is hard. Hard because it shows, in a very harsh light, your real strengths and weaknesses. While I have yet to actually sign on the dotted line and become gainfully re-employed,  I have gone through the interview process a number of times in the past month, and have learned some good and some, well, sobering things about myself.

At this point  I want to analyze what went right, and what could be improved, as shown by the interview process.

The Good
I know that being able to have job offers within a month or so of being laid off is a good metric, and that reflects on some areas that I've been paying attention to:
  1. My external profile. I've been maintaining my LinkedIn profile as well as my blog. The blog, in particular, requires a lot of effort, but I tend to focus on technology and problem spaces that I find interesting, and so it's not really effort I really feel.
  2. Contacts. While I'm not a 'networker' per-se, I was able to reach out to people I have worked with/met in the past.
  3. In Person interviews. I had several 'out of body' experiences where I would literally be hearing very intelligent things coming out of my mouth and thinking "wow, that's really good!". People that know me find it hard to believe that I can sound polished/intelligent. I actually find this hard to believe as well, but I witnessed it firsthand. Maybe this is the result of processing a lot of information over the past couple of years and finally being able to have coherent sounding summaries. But it makes a difference when you don't sound like an aging metalhead down to his last 5 brain cells. Note to self: omitting 'Dude!' and 'Fuck yeah!' from interview vocabulary was a good thing. 
The profile maintenance resulted in me being contacted throughout the year by various companies, all of which I told "not right now, but lets keep in touch" to appease my inner doomsayer who seemed to think that layoffs were just around the corner. When he turned out to be right and I was laid off, I returned to these contacts to set up numerous interviews almost immediately. Once onsite, I could tell that I was doing well. I interview the way I would like an interviewee to behave: (1) not acting like they're the bomb -- in my case, I am definitely not the bomb, and so there is no need to go there. (2) being friendly. I like nice people. I think other people like nice people. Generally speaking, unless I'm having a bad day, I'm a nice person. (3) Listening and responding. I like to be listened to, and have seen other people respond favorably when my  responses indicate that I heard what they just said and am taking them seriously. Fairly obvious stuff, but I'm just becoming aware of how important this is, and I'm 41.

The Bad/The Ugly

Enough about "me me me..blah blah great blah blah awesome". Lets talk about what didn't work. Because what didn't work boils down to a fundamental weakness that I've got to address in order to be able to progress in my career.  This fundamental problem revealed itself during phone interviews.  As much as I hate to admit this, every phone interview failure I had was completely my fault, and completely preventable. If someone was looking at the cost benefit analysis of the phone interview for the companies that dropped me based on how I did, they would only logically conclude that there was huge benefit for relatively low cost. Phone interviews are the way of the future. I'd better start improving!

The problems I ran into during phone interviews showed me in excruciating detail that my problem solving approach is flawed. This is embarrassing because as a software engineer, I get paid a good salary to solve problems. While I've been able to get this far by being somewhat intelligent, it became very obvious during the phone screen process at several well known companies that I was missing problems that had fundamentally easy solutions because I did little to no formal analysis of the problems. I just dove in and started coding.

That may work just fine on a 'reverse a string in place' or 'show me an in order traverse of a binary search tree' problem. But the problems being discussed were not implementation specific questions. They were problems that did not have an obvious solution, but whose solution was based in computer science fundamentals, and completely accessible from the information given in the problem itself. These are problems that, while initially hard, have solutions that are possible over the phone, in 45 minutes or less.

To summarize my flawed approach, I was doing what my 9 year old son does on word problems. Rushing ahead, diving in, and ultimately making a wrong turn. While that's perfectly acceptable for Kiran because he's in third grade and just starting to think about solving problems, I simply cannot come up with a good reason why I did not formalize a solid problem solving approach earlier in my career.

Let me put the whip and the hair shirt away because they aren't moving me closer to solving the problem. In college, I was very fortunate to be around some really smart people. I majored in Physics, not because I had an aptitude for it, more because I found it fascinating. The people that did have an aptitude for it were amazing. While the rest of us were just killing ourselves to get Bs and keep our heads above water, these guys were cruising in the relative stratosphere above us, making it hard to score high on the curve, but always taking the time to help anyone who asked. One of them was my friend Eric. After a while, I started to notice his different approach to studying. Eric always stopped working by 10PM, got to sleep at the relatively sane hour of midnight, and would usually take a couple of hours the next morning before class to finish his work. The rest of us would go until 2AM, make little to no progress, and drag into class the next day barely functional. When I asked him about his approach, he told me that "hard problems got much easier after a good nights sleep". When I started following his example (and literally following him out of the physics lab at 10PM and back in at 8AM), my grades got better while my thrashing was reduced. I also really started to understand the concepts we were learning, and my enjoyment of physics grew significantly.

So, even though I'm not close to brilliant, I have been close enough to brilliant people to notice what works for them. In this case, what seems to work for the best problem solvers out there is a much more logical/well reasoned/formal approach to solving problems.

The Solution, Take 1
I don't expect this to be the final solution to my problem solving deficiencies, but it's a start, and that is better than doing nothing. Summary:
  • Clarify The Problem Statement
  • Evolve Initial Solutions
  • Implement
  • Verify
Clarify The Problem Statement (Ask Questions If Necessary!)
Here is an example of a problem: "I have an array of unsorted integers. Find me all  integers A,B, and C that sum to 0"

Here are the facts:
  1. the data structure is an array.
  2. the contents are integers. 
  3. there are 0..N triples of integers that sum to zero.
Here is a set of questions that should be asked to clarify the facts above
  1. What data structures can I use to solve the problem (answer: any)
That's a short question list, but on other problems, the question list could be about the underlying assumptions, the signature of the method you are being asked to write, the kind of inputs into that method, etc. Make sure you get to the point where you could jump in and start coding. But dont!

Evolve Initial Solutions (and Pick One!)
The problem posed above is a hard problem. Can we actually simplify it and then evolve that solution so that it solves the more complex case? 

In this case, we can simplify to "Find Me all integers A and B that sum to 0". This is a valid simplification because it can be extended to any arbitrary sum of integers. Other simplifications may not be valid. You have to prove to yourself (and the interviewer) that your simplification is indeed a valid one. 

Note that these solutions are initial, and most should be thrown out. But we need to know why we are throwing them out and use that as rationale for selecting a possible solution and proceeding forward. Because proceeding with a solution is expensive, and we want to be right before moving forward. 

Proposed Solutions for simple case (A + B = 0)
  1. compare every item with every other item. This O(n^2). non optimal. OK, that's probably not the one we want. 
  2. If A+B = 0, then A = -B. Since we can use another structure to instantly compare items, load the absolute values of all list items into a set (that has constant time lookup) and then traverse the list, looking abs(list[x]) in the set. The time expense of this is 2n, one for loading into a map, one for traversing. The space expense is roughly O(2n), counting the initial array as well as the minimal size of the allocated Set. Note that the actual size of the Set is larger than n, but not exponentially larger, so we can make a decent argument that Set size is closer to n than n^2
A couple of notes: this is where knowledge of data structures, algorithms, and time/space complexity comes into play. It is one thing to crank out a breadth first traversal of a tree. It is another to realize that a solution to a problem requires a breadth first tree traversal. When coming up with solutions, whether simplified or not, I've found that the following really helps:
  1. simple = better. Don't use a hash when an array will do. What are the initial conditions that may permit an array based solution over a hash based solution? Trees may be overkill, can the same problem be solved with a linked list? 
  2. shoot for O(n) or O(n(log(n))) solutions. Only consider n^2 solutions when the naive solution is n^3 or above. 
  3. When stumped, always revisit the initial conditions. The solution is there. Especially on a (contrived) phone interview question. 
When no simplification is needed, the solution you choose to proceed with is the one you continue with. Of course, you must know at this point what the time/space complexity of your chosen solution is, or at least what you think it should be. To not know this prior to implementation is unacceptable. 

Otherwise, working through an initial solution is the next step, and evolving the initial solution into a final solution is the step (or steps) after that.

So if we take the initial solution above, and evolve it to handle A+B+C = 0, what has changed and what needs to change. 
  1. First: instead of an n^2 solution, the non optimal solution has changed to at least n^3. Because you need to take every A+B (an n^2 solution) and compare with every element in the list, i.e. every 'C'. That leads to n^3 non optimal solution. The question is how can we do better?
  2. Instead of A = -B, the equation has changed to A+B = -C. 
  3. Taking the initial solutions from the simplified assumption, we know that to get every A+B is an n^2 operation. Can we do the final compare in O(1) time to beat the non optimal n^3 solution? 
  4. Again, looking at the simplified solution, we could load all elements into a Set to do the compare in O(1) time. 
  5. So the solution to all A+B+C = 0 is to do an n^2 generation of all possible A and B combinations and then compare the absolute value of those sums against the absolute value of all C elements in the list. It has O(n^2) time complexity, and O(n) space complexity, because you're using the array and a map just like in the first solution.
(3) Implement -- and Work Around Roadblocks
The implementation for the problem above is pretty straightforward because the hard part was figuring out what to do. But what if the implementation for one of your solutions runs into issues? For example, what if you are restricted in what you can use as input parameters and don't know how to work with  the requested input parameters even after arriving at a viable, known cost solution? 

The best solution at implementation time is to 'box' the problem by assuming you have a solution that renders the output in a way that it can be used by your proposed solution. This is just another way to simplify the problem domain. When solving problems like this, make sure you let the interviewer know that you are drawing a box around the problem and will revisit the solution after getting the rest of the implementation going. 

The reason this solution is good is that it compartmentalizes the problem into something smaller that you can tackle. When you revisit the sub-problem, you will most likely have a more clear idea of any transformations or other solutions you will need to do in order to solve the sub-problem because you've already specified what the outputs of that sub-problem need to be and used them in the larger solution.  Even if you don't get the mini problem, you've shown that you can solve the bigger problem in a known and deliberate way. This is way better than rushing blindly in and getting stumped. 
(4) Verify That You Did What You Said You Would Do
If you've implemented a solution whose space and time complexity is known, you have two things to do here. 
  1. verify that your solution meets the expected time/space complexity. 
  2. verify that your code doesn't contain any (obvious!) bugs. 
(1) should be pretty easy, but (2) is sneaky. The best way to do verification is to talk about good testing inputs to the solution, why they are good, and what they will test.  So the real key to (2) is to pick the right test conditions. In the real world, you'd be pushing those test conditions into unit tests. Just because you're coding on the phone doesn't mean you are freed from unit testing. The point here is to be able to walk through the code and  catch problems before the reviewer does, or at least before you say "it's all good, Dude! Fuck Yeah!". Sorry. Still working on my vocabulary.

The Game Plan
The game plan to get me from where I'm at right now -- aware of a solution to the deficiency I've identified above, but still prone to rushing in --  to where I want to be -- solving problems in a conscious, thoughtful, intelligent manner -- involves practice. Practice, practice, and more practice. With hard, non obvious problems that stress my knowledge of CS fundamentals while forcing me to formalize my approach to a solution. My game plan is far from complete right now because I'm trying to narrow down what exactly to focus on. When I get that list, I'll write it down, as well as a schedule for attacking it. Hopefully, I'll have to balance that schedule with the demands of a (paying) job by the time I come up with that list! 




Sunday, November 7, 2010

Training Summary 11/1 - 11/7

Unlike last week, this week was simply amazing, weather wise. I took full advantage of my 'between jobs' (note optimistic tone) status and got out on some nice fall bike rides.

Monday

Swam, felt pretty damn tired. I think it's the job hunting stress, the lack of sleep, and the early winter cold coming on.
  • 200 warmup
  • 4x200 free
Tuesday

Fuck, what a day. The previous day I had a full on brain fart in the tech screen with a highly respected bay area startup. Their recruiter had scheduled another call for today, but based on the results of the first call (which, admittedly, I fucked up), decided to terminate. Without telling me. I was pissed, stressed, and ready to implode when Jary called about going on a ride. He's just had knee surgery, so it wouldnt be a hammerfest, but it was beautiful outside and I needed to get out. So we rolled a lap (14 miles) around the island on a beautiful fall day. That was the highlight of the day. It doesn't take away the anxiety, but it definitely puts it on hold.

Wednesday

Today I woke up determined to see what it would be like to bike commute to one of the companies I'm in the final round with. It's out in deep, deep Redmond, and I had a vague idea that it would be somewhat of a hike. 43 hilly miles later, I have to say that this would not be a daily commute :) That said, it was a beautiful fall day, and I could think of no better way to spend it than in a tuck position on the aero bars (when I wasn't grinding up hills, of course!).

Thursday

Morning swim:
  • 200 warmup
  • 2x200 easy
  • 1x250 easy
  • 1x300 easy
  • 1x150 warmdown
Its all about 'getting comfortable for long stretches' right now. My shoulders were tight at first, but loosened up. I actually feel more comfortable at 250 than I do at 150. I always go through a period of fatigue around 150 that I just have to work through. Then it starts to flow. I (heart) swimming right now. I come out of that pool feeling completely stoned, yet strangely coherent.

18 miles bike ride in the afternoon. Turned out my interview at company 'D' went well and resulted in a verbal (to be followed by an actual) offer. This combined with an offer from company 'W' has resulted in a much lower level of stress over the last couple of days. After the interview, the weather was so beautiful I rolled out on the bike. The last couple of days of biking had taken it's toll, and I was kind of tired. Plus, before starting the 2nd mercer island loop, I realized that I was running a little late, and wanted to hang out with the kids. So I took the Gallager Hill route home (fuck, that's steep). Rolled about 18 miles in roughly an hour. First lap went out hard, 19.3 mph avg, 2nd part of the ride I was mostly rolling/climbing, 15.6 mph avg.

Friday

Today, between phone interviews/fielding offers, I was basically a slothbar. After getting 2 job offers, my stress level went down to where I can sleep again, and boy did I. Then, the scheduling/calling on the offers as well as handling a third offer pretty much killed the day. Wait. This sounds like I'm whining about getting job offers. No, that's not what I'm doing. I'm STOKED to have multiple job offers 1 month after getting laid off, in an economy where the unofficial unemployment rate is 20% and lots of very capable people are really hurting. I'm just saying that between all of the 'getting work' work going on, and my re-discovery of that elusive thing called sleep, I didn't have a lot of spare time.

Saturday

Swim

  • 250 warmup
  • 4x300 free
  • 250 warmdown
So I stepped it up to 300, just to see what it felt like. It felt so good I did it 3 more times. I'm really happy with how my comfort level and economy are progressing. I didnt feel tired at the end of the 300, I did feel it in the middle of the 300, and on the last 300 I was happy to stop. But compare that to 2 months ago, when I felt that way about 100s. The bilateral breathing thing is now officially second nature. Occasionally I lapse into single side breathing, like when I get a mouthful of water, or when I'm coming into or going out of a turn. But the rest of the time, pull-pull-breathe feels completely normal, and I'm not running out of air.

Sunday

goal: 7 mi tempo run: 2 mi warmup, 5 mi @ 8:15 pace, 1317 feet climbing
actual: 7 mi, avg 8:33/mi, around 1 hr.

averages:
mile 1 @ 9:26 -- down from house and up first steep climb
mile 2 @ 9:44 -- steep hills
mile 3 @ 8:18 -- rolling flats
mile 4 @ 8:05 -- rolling flats
mile 5 @ 8:08 -- flats
mile 6 @ 7:56 -- steep downhill
mile 7 @ 8:14 -- steep hill up to finish

It was hard to keep @ 8:15. The first two miles were climbing, the next 4 were rolling up and down, and the last one was a steep climb. Mentally keeping this pace on rollers was hard, but something that has been working for me lately is the following internal 'conversation':
"this doesn't feel that bad. I've felt worse."
"wheezing is totally natural at this point. It's perfectly normal to not be able to get enough air in"
"I'm tired, but not all _that_ tired. I've been way more tired."

Not sure why, but these thoughts seem to mentally freshen me up. I haven't been running too much lately, so it was good to get out and go hard for a relatively short distance.

After the run, TRX killed me off good.
TRX
  • Standard leg routine here, abbreviated b/c of hard run.
  • 2xsingle leg split squats, 15 reps 1st set, 12 reps 2nd set w/20 lbs extra.
  • 2xsingle leg front squats 10 reps/set
  • 2xsingle leg tuck behind squats 10 reps/set
Summary: a good week of cycling and swimming, with runs bookending the week. Wish  I could have gotten in more resistance training, but all in all I'm glad to get out this much in November. 

Saturday, November 6, 2010

The Job Search Update

Without being really specific, because nothing is signed, I've got three offers that I need to evaluate this weekend.

Company A is a large multinational conglomerate that has a technical arm here in Seattle. They need to rapidly build a standardized BI platform on top of an HDFS file store that is going to need to handle up to a Petabyte of data. The role at Company A is more senior than I've held before, and would be a good thing to have on my resume. Plus, my immediate supervisor and the people on the team are friendly and down to earth while still being quite intelligent. This is in contrast to the intellectual arrogance that I've seen at some of the places I've worked in the past. In Company A, I'd be in a position to learn a lot, both technically and about pushing ideas through a large company.

Company B is a games distribution platform that has very solid  and relatively long standing relations with multiple well established Brands, and they're extending a very promising ad platform, which of course means they need BI. Again, all on HDFS with various HDFS stack technologies. Company B is further away than Company A, but the people are really, really great, i.e. even more friendly while being just as intelligent as the people at Company A, and I'd get my hands dirty very quickly doing things that I've had to do at home up to this point.

Company C has a site that is revolutionizing its industry. They have a CEO who is on the ball, a great Director of Engineering, and the need to do a version 2.0 of the software stack that got them this far. They need technical leaders, and have made it clear to me that I would be working in that role for them.  The Dir. Engineering in particular would be a great guy to work for. He and I are on the same page wrt software development -- so strife and struggle with leadership would be minimized.

Note that there is no clear winner or loser between A,B,and C. There are advantages and disadvantages to each, but I consider myself to be extremely lucky to have to choose between these three companies. Right now, when the unofficial unemployment rate is hovering around 20%, and lots of really great people simply cannot work, I feel privileged to be in this position. Yes, I worked my ass off  to get to this point, but I'm sure lots of them did as well in their respective industries.

One thing that I've realized in this job search is that there are things that I'm better at than first thought, and things that I definitely need improvement on. In the 'better than expected' camp is my ability to coherently summarize my abilities or a problem. Sometimes I feel like an observer sitting on the sidelines while fairly profound and intelligent things are coming out of my mouth. Usually, as Lopa will confirm, I sound like a well intentioned stoner. But it's job hunting time, and I've been able to sell myself quite well by sounding intelligent.

On the 'needs improvement' side of things is my ability to solve hard, non obvious problems. I've been fairly hit and miss, mostly miss on the phone. The phone screen is my single point of failure. When it has gone badly, it is usually because I get stuck in a rut of thinking about a solution, and only later do I go back through and realize where I went off the rails.

I have a long, long way towards getting very good at solving problems. Fortunately there is a lot of literature and approaches out there that I think I can leverage. Being more formal about solving problems would probably help me actually solve them instead of blindly rushing into them. Going back and working on my algebra, in order to calculate operational complexity as well as solve hard problems would give me the additional edge/ problem solving approach that I've lost since graduating 20 years ago. Continuing to code solutions to hard problems in the data structures/algorithms space, i.e. via Facebook puzzles, TopCoder, etc, on a weekly basis, will go a long ways towards helping me at work and the next time I'm in the position to be looking for a job (hopefully that will be a voluntary position, unlike this time).

My biggest regret about this time through is that I learned a lot of tough lessons by failing interviews with sexy companies. Not that I would have gone to those companies, but it's always better to be the rejector instead of the rejectee. And there is a certain amount of street cred that you get by being able to get through the dreaded Company X phone screen.

So, in addition to tracking my physical training, I'm going to start to track my mental training as well. I think that I'm fairly intelligent, and that I can go quite far on the modest amount of intelligence that I have by coming up with a systematic approach to solving hard problems.

Thursday, October 28, 2010

Ups and Downs of Job Hunting

Today I got kicked to the curb. Twice. Both by large companies, both after 2 phone screens, in which I thought I did reasonably OK. I was excited by the possibility of working for the second company (rhymes with "MaceBook"), and thought I had done quite well on the 2nd interview. But just received a rejection notice from them, saying "we're keeping your resume on file". I have _no_idea_ what went wrong in that interview.

On the other hand, I had a great in-person interview with a company in Redmond. If they were in Bellevue, I'd be in love. Seriously. It was a great place, but it's practically across the Cascades! The work, and the people, seem really cool. One guy told me "he looked forward to working with me", which is a really nice thing to say. I'm definitely not ruling them out, but that is one long ass commute.

Tomorrow I have another interview for an 'Architect' position. I don't know if this means 'you must be able to code like a God the first time out', but I'm going to find out! Hopefully the fact that this one is in person means that it will go better for me. I always tend to do better in person.

I'm not so down with the whole phone screen thing. To me it seems like there are too many intangibles when you are talking to someone via phone -- I do much better when I can see the person and communicate with facial gestures.

Right now, the companies that have interviewed me face to face are all stoked. The ones that have interviewed me over the phone were not. I've got another phone interview with a MountainView CA company on Monday and Tuesday. These guys are serious studs. I'm not highly confident. But then again I have nothing to lose. So I'll give it a shot :)

Tuesday, October 26, 2010

A not so great First, continued

This layoff is turning out to be a Good Thing. Especially when it was not by choice. Here is what  I mean:

  1. I was starting to question senior mgmt and some of the decisions they were making. They seemed a little shortsighted wrt engineering quality. I felt like I was fighting an uphill battle to write unit tested, injectable code. It was starting to piss me off. 
  2. I kept on getting hit up by really cool companies. Names changed to protect the innocent, but rhymes with Macebook, Glamazon, Noogle, and SplinkedIn. When those companies come knocking, it's really hard to not be curious. And then feel guilty about being curious because I really enjoyed the guys I was working with. 
  3. Now that  I have the time to practice, phone screens are not pure torture. The day I was laid off, I ordered Cracking the Coding Interview by Gayle Laakman. This has proved to be a Freaking Godsend. Not because people ask questions directly from the book (although...that _has_ happened), but because working through all of the problems really got me thinking about how to solve hard problems by relying on C.S. fundamentals, i.e. data structures, algorithms, etc. I would have never had the time/energy/inclination to work through this book had I actually been employed. Bottom line, I'm way sharper than I was 3 weeks ago. 
  4. Timing. Once again, I lucked out with timing. The market for software engineers is strong, super strong. I'm currently juggling 10 companies in various stages of the interview process. This is...way harder than showing up and working my ass off at one job. But on the other hand, it's very interesting. 
  5. Personal Reflection. I'm not one to think deeply. Unless I've got no other alternative. While I don't quite know what I want to be when I grow up, I think I'm getting a good sense of where I don't want to be, and what I can and cannot tolerate. This should help (unless I choose to ignore it) when choosing the next position. 
  6. Family Time. I'm around a hell of a lot more, even when running around to onsite interviews. I feel way more engaged with Lopa and the Kids. Me and Shadow have a lot of alone time, which is also great. 
  7. Fall bike rides. I haven't done these since I was in college! A nice midday ride in crisp fall weather is pretty unbeatable. 
I may have a different opinion of all of this if I'm still unemployed 3 months from now. But right now, the sky is the limit, the world is my oyster, in other words no one has kicked me to the curb because I've massively fucked up an interview. Fingers crossed! 

Training Summary 10/18-10/24

Well, it's been a couple of weeks since the Layoff, and my days are dominated by preparing for or participating in phone screens and onsite interviews. Last week consisted of a bunch of scrambling around, interspersed with some good swims and bikes. My mom visited over the weekend, which was great, but not for training. It's _really_ hard to justify sneaking out for a run when (a) mom gets up at 5AM and (b) she's only around for 3 days. But she's worth it!

I've sort of been back on the bandwagon this week, I'll elaborate below:

Monday

Swimming
200 w.u., 4x200 set. 1000 total.
Had to drop Mom off, so got into the pool around the same time the Diving class was going on. So lanes were crowded. Only had 45 minutes. Still, good to be back in the pool.


Tuesday

1 lap M.I., full tilt. 20.2 mph on the main loop, 18.5 mph avg total.

A quick lap done late in the afternoon after a two phone screen day.

The lap was done to burn off some accumulated energy, and worked quite well for that. It was 4:30 when I left, and the sun is setting around 6, so I cut it short b/c I didn't want to end up a hood ornament on some Mercer Island Soccer Mom's SUV. I flew pretty good (and felt the legs) for the first 10 miles, then mailed it in the last 3. Wanted to save something for tomorrows speedwork.

Wednesday

Running: 1 mile warmup, 8x400 @ 3k pace (7 minute miles) w/3 minute active rest, 1/2 mile warmdown. 4.5 mi total.

I had an early morning onsite interview, so I went out in the dark, drove to the track, and ran in the murk. With a surprising number of other fools people.

Turns out its hard for me to keep this pace for 1/4 mile. Hard as in I kept going out at 6:15 - 6:28 miles. That isn't the point -- the point is to train my brain to run at 3k pace, so I slowed way the f*ck down and did just that for the last 4 quarters. I'm pretty sure this program I'm on will have me running 'puke pace' quarters once the formalities have been dispensed with.

Thursday

All day interviews. Wheee!

Friday

Swimming: 1000 yards
2x200 warmup, 4x200 sets. 
Hey! its getting easier to swim 200 yards, bilaterally breathing the whole time! Frickin miracle, considering I started out only being able to swim 25 yards, breathing on my right side. 

Quick aside: I'm not sure if it's the chlorine or what, but I'm coming out of these swimming practices stoned to the gills -- in a good way! By that I mean I am completely relaxed, in a zone, and mellow. And I have a serious case of the munchies. Without having to smoke a bowl! This is good :)

Saturday

Running: 6 miles, 12x30x30 sprints.
This is the first time I've tried 30x30s. I was holding my 5k pace, right now that's between 7 and 7.5 minute miles. Pretty easy to keep that pace over the interval range, although my pulse went high and stayed high. I think I'm getting sick. Yesterdays interview was 4 hours long, in an unheated room, but they couldn't break me! 

Sunday

Definitely catching something. Needed the day off to chill out. Lifted weights, focused mainly on legs, i.e. single leg lunge squats
double leg dumbell squats
single leg forward squats
single leg reach behind squats
atomic pushup (1 set, 30 reps)
2 sets of 10 pullups. 

Tuesday, October 19, 2010

A not so great First

Two weeks ago, October 6, 2010, I was laid off, without warning, 2 weeks prior to my one year anniversary. The company had experienced some q3 shortfalls due to revenue not coming in as fast as expected.  In order to get in front of those shortfalls, they decided to (a) focus on their core competencies, and (b) let go of 24 people, myself included.

I had always considered myself somewhat blessed to have avoided being laid off so far in my career. In the Bubble Bust version 1.0, circa 2000, I saw plenty of really good, solid people handed their walking papers. I always wondered why I was kept on and they were let go. One time, I remember seeing a really talented, really nice developer who everyone loved to work with walk out the door with his cardboard box of belongings. I asked my manager why the company would let someone so talented and so easy to work with go, and he simply said "he was in the wrong place at the wrong time". Kind of like the opening scene from Saving Private Ryan on Omaha Beach.Not that my misfortune is anywhere close to what those guys experienced. Watching that movie made my balls crawl up near my heart. I have no idea how those men actually got through that.

Well, October 6 was my "wrong place, wrong time" moment, and I did not see it coming. At all. When Darren called me into the conference room, I thought we were going to talk about some work that came up. Even though he had a manila folder in his hand, I had _no_clue_. Part of why I had no clue is that the company didnt send out any warning signals. The other reason I had no clue was that I had been kicking ass for the past year, and I thought that repeatedly delivering quality features within tight deadlines while increasing test coverage and putting good software design procedures in place insulated me from getting laid off.

Not so in 2010. It was made clear to me that my layoff was not at all related to my performance, but that these were tough times and tough decisions needed to be made. And while numerous people from within the company, from Seattle and San Francisco, reached out to me to let me know they were as confused and disturbed as I was about the fact that I was let go, the fact is that I was let go.

I'm not sure if it was a combination of age, high salary, or both, but there are obviously metrics that I did not and will never fully understand that made this an easy decision for someone. And I was not the only good person let go. They laid off the Director of Operations. While she was on vacation. And she basically held that place together until she built up a team of 4 people to do the job she had done singlehandedly. They laid off one of the best TPMs I have ever worked with. He was one of the few people who had the bandwidth to walk a feature from customer facing requirement all the way down to technical specification and back. And those are just the people I know about. Because prior to this massive layoff, the company had been hiring so much that every time I visited the mothership in San Francisco, I would walk past desks and desks of people I didnt know.

I do know that I'll really miss the guys I worked with on a daily basis. Darren, Arun, and John were great, and taught me a lot about how to code, how to approach problems, how to approach life, etc. Brad and Zi were a blast to have around, Brad was the life of the party and Zi was and is literally larger than life, I'll miss his friendly middle finger salutes. Holli took such good care of us that I'm seriously going to pieces now that I don't have my fresh cut fruit and coffee every morning. We had a blast, always giving each other a ton  of shit, and getting a lot of really solid work done. I've never been a part of a better team, and I'm going to be heartsick for a while when I think of those guys. Good thing they're local, because we're meeting up for drinks and the abuse will flow just like the alcohol.

Anyways, that was then, this is now. Since then I've been working every recruiter that has reached out to me over the past year. There is a lot of hiring going on. I'm tracking my current progress on a spreadsheet, there are at least 12 opportunities in play. It turns out that trying to get a job is much harder than actually doing a job! On the plus side, I've been paying more attention to my professional blog and some of the side projects that I blog about. And having the time to actually study has made a huge difference in my confidence wrt the dreaded whiteboard reviews.

Training has, of course, taken somewhat of a backseat to interviewing/interview prepping. I'm actually managing to get in some midday rides, which is an unexpected treat. The days are nice and crisp, and fall riding has always been a favorite activity of mine that I have always been too employed to indulge in. Since I'm not indulging in the plethora of treats that Holli managed to line the kitchen with, I'm not packing on the usual pre thanksgiving weight. And being around the house more means that I feel a lot tighter with Lopa and the kids. So there is a lot of silver lining in this particular cloud.

I'll  update this blog with various vents from interviews. I think I'm going to either do that on password protected entries, or change the names to protect my ass. Because there have already been some memorable moments with well known companies that have scarred me for life :)

More later (and hopefully some training data as well!)

Training Summary 10/4 - 10/10

This training log is truncated because on Tuesday morning I was laid off. I'm going to write a separate post about that now, and try to get back on the training log 'train'. Here is the original text:

This week a 'recovery' block is scheduled, which is basically week 2 all over again, but I'm stronger now (in theory), so its easy, right?

My left knee is twinging, disturbingly. It doesn't hurt all of the time, in fact it doesn't really hurt. It just feels weak. I've brought out the stretch cords in an effort to hi-rep leg extension my way out of impending knee issues, I've also gone back to the stick. I'm hoping the 'a stitch in time' approach works.

Monday

Woke up the morning. Felt tired. Chilled with some coffee. Tomorrow, is another day.

Tuesday

Swimming. 50-250 progression by 50s, then back down. i.e. 50-100-150-200-250-200-150-100-50, and some warmdown laps. so ~ 1250.

I'm now breathing bilaterally most of the time. One thing I'm noticing is that I get real tired for about 100 yards and then I start to feel better. Mentally it's still tough to swim 250 yards at once, but I think that it's a really good head training exercise to shut that weak ass talk down and just focus on the stroke.

My right arm is still crossing over the centerline when I get fatigued, and my elbows still drop underwater. My head is still lifting up on my left (weak) side breathing, and I noticed that I have a tendency to not glide. But at least I'm aware of all of that, and at different points during the swim I was able to rise above those inefficiencies. I may not have been moving that fast, but I really, really feel that it's here, moving slowly, that I am building the foundation to become a solid (if not blazingly fast) swimmer.

Sunday, October 3, 2010

Training Summary 9/27 - 10/3

Trying to get back on track after last week's detour.

Monday:

50-300 by 50s up, and down, for a total of 2100 yards. Bilateral breathing is almost second nature. I'm noticing that arm fatigue is a factor until I focus more on pulling with my core by engaging my stomach muscles and maintaining tension through my lats. Also, I've got to keep focused on keeping my head low. It's simply too fatiguing after a while, and I start thrashing. The other thing I really need to pay attention to is not crossing the centerline with my arms. And finally, pulling back instead of down during the first 1/3 of the arm stroke. Lots to pay attention to!

Tuesday:

was supposed to do a six mile base run with drills, but bailed b/c rain and general tiredness.

Wednesday:

8x30 second relaxed sprints uphill. after a 2 mile warmup. 4.5 miles total.
total miles ~ 4.5
hr/split data messed up b/c my workout kept resetting.

I warmed up the 2+ miles, and decided that out of the two hills, the less steep one was a better choice. It started out gradual and ended with a little kick up. Still, this was a brutal workout that had me seeing stars at the end. Here's how it went:
Sprints 1 and 2, relaxed speed: "OK, this feels good. Maybe I can even go harder"
Sprints 3 and 4, less relaxed, roughly same speed: "This is about as hard as I can go right now."
Sprints 5 and 6, visibly less relaxed, slightly slower speed: "I think I'm feeling a little bit queasy. And 30 seconds is a f*cking long time!"
Sprints 7 and 8, not relaxed, roughly same speed, because any slower would technically be a jog: "I want to puke. Now. Or Cry."

In any case, I can claim the moral victory after gutting through all 8 hill sprints. The hill (I was looking at it from the car while taking Kiran back from soccer practice) actually has a decent grade. It doesn't compare to the hill at Ft Mason from the bay side in San Francisco, but it is gentle enough for me to get some speed, and steep enough at the end so I really have to work to keep that speed.

Thursday:

swimming, short on time, so 50-250 up and down by 50. Endurance is good for me. Here is the thing. I'm noticing that my pull is getting more efficient, i.e. I am pulling back instead of down. It feels good. I can comfortably move for ~ 150 yards, so swimming 200 right now is where I start to notice form breakdown. This is a huge step up from only being able to swim 25 comfortably. I'm going to keep on with the long (for me) intervals, and not focus on the speed. Bilateral breathing well through 150, starts to get hard around 200. I want to push all the way to 500 (big dreams!)

Friday:

Running, Fartlek, 8x30 second sprints @ 1 mile pace.
total dist 6.03 mi
total time 52:47
avg pace 8:45/mi
avg HR 139
1220 feet climbed, 1449 feet descended.

30 second intervals: hard to keep it slow enough for 1 mile pace @ only 30 sec. Also, at mile 5, realized I was supposed to be back at 7AM, and it was 7AM, so I had to pick up the pace from 'base' to 'get my ass home'. So the last couple miles were in the low to mid 7s, with 30 second sprints thrown in on the last riser before the big downhill, and the final nasty uphill finish.

Saturday:

recovery pace run + trx weights.
total dist 3.21 mi
total time 33:11
avg pace 10:21/mi.
avg HR 124
498 feet climbed,538 ft descended

This time I grabbed 2x10lb dumbells for the second set of split squats, and reduced the reps to 10. That made it hurt :)

Sunday:

7.94 mi base pace run
avg pace 9:15 mi
avg HR 138
1026 feet climbed
1183 feet descended

Started out, lt knee felt a little sore, and legs tired. first mile split was 10:21, ugh. Felt better after that, kept pace at 9:38 in the hilly section of the climb. Breathing and pacing felt good. I tried to keep it at 'marathon' pace, 8:15, on a flat section, and that felt pretty hard, not sure how I would do that for 26.2 mi! I'm going to have to trust the pacing tables on this and hope that I get more comfortable at 8:15.

Summary

approx 21 mi, 4 hrs.
Left knee feels 'tired' more than painful. I think I need to loosen up the left IT, do some leg extensions with the bungee cords, and take tomorrow off :)

Wednesday, September 22, 2010

Training Summary 9/20-26

This week started off slowly, my cold came back after the long + hard run on Sunday. So I skipped Monday. And then realized I had a 7AM dentist appt on Wednesday. So I decided that I'm going to 'redo' the training week next week, and swim Tues, Thurs, run Fri, Sun.

Monday

took the day off. Felt really stale and congested.

Tuesday

250 warmup, 10x100 yds form/easy ~1:50, 250 warmdown

I noticed today that at the start of my stroke, I'm pulling straight down, instead of pulling my hand towards me until it is even w/my elbow. This has got to be costing me some speed. I'm going to focus on fixing this on Thursday. I'll use a pull buoy and isolate the stroke, then blend it back in with the legs.

Wednesday

TRX, standard leg set, 2x10 pullups.
the dentist was fun! Not!

Thursday

swimming: didn't keep track of yards, just swam some 50s and 100s working on keeping my elbow high. My stroke evolved from dropping the hand and keeping the elbow high and feeling almost no pull, to pushing down a little bit before dropping the hand, and feeling a decent amount of pull, and noticing that my speed was better with that approach.

I was pulling straight down for far too long before. But the immediate bend of the elbow was compensating too much in the other direction. I'm going to concentrate on this some more, it really is a 'feel' thing, and maybe putting on fistgloves would help isolate exactly how much I can involve the rest of my arm in the pull.

I did notice that it is impossible to swim with pull buoys. Those things made my legs way too floaty, and I got tired trying to keep the thing between my legs. And, it was hard to rotate with them. So I'm done with them for now.

I think I need to start building up more distance, swimming a progression of 50 yards, like a 50-100-150-200-250-300 and back down. Then increase the progression a little more, until I'm swimming a 500 straight. That will really help build endurance while keeping stroke mechanics, which is exactly what I need.

Friday

Still feeling blah. When I don't spring out of bed, I call it a day. Especially now, in the off season.

Saturday

weights: 2x all single leg squats (split, single leg in front, single leg tucked behind)
2x 10 pullups
1x 30 atomic pushups

Sunday

running: 6.82 mi, 59:59:44, 8:48/mi average 1113 ft elevation gain, 1250 feet elevation loss

Fairly hilly run, same route as last Sundays w/o the flat mile at the start. I went out thinking I was going to do a base pace run, but felt pretty strong and hadn't been out in a while, so I picked it up in the hilly section, averaging 9:18 over the climb, then 8:19, 7:30, 7:35 for the last couple of miles of rolling, slightly downhill section. A decent run considering that I havent' run in a week.

Running mi: 6.82
Weights: 2x
swimming: ~ 2000 yds

An easy week, but that's fine since I was kind of sick.

Sunday, September 19, 2010

Cleanup Time forced by a Hard Drive crash

My external hard drive failed today, or at least I found out about it today. This hard drive contained all of the photos that we have ever taken of the kids, so having it not boot up was a major bummer. Fortunately I was able to borrow Jags old computer, rip the IDE out of the external HD harness, and boot it up as an internal drive. Windoze didn't even complain! I bought 20GB worth of photo storage from Google for $5/year, and I'm uploading everything I've got to that central location.

Of course Lopa is disturbed and confused because there isn't an ISO 9000 plan of execution on how we are storing, organizing, and accessing the photographs. Either that or she didn't get any input into the solution -- it's a control thing for sure :)

But I seriously should have done this a while back, and regulated access to it. Right now I've got three different copies of picasa with three different sets of pictures, and those sets have some overlap.

The other bummer is that I've got to give her full access to the photo stuff so that she can edit. Which means she's got full access to my email, blogs, etc. Oh well, I guess it's good I don't have a secret girlfriend or that I'm not in the CIA.

But this whole incident got me thinking about the state of my personal electronic Idaho. It's pretty bad, with 10s of thousands of emails in my inbox, photos all over the place, half baked documents, etc. I started to feel overwhelmed by the whole thing, and then had a brilliant idea. What if I just deleted all of my old emails, mod the last 50 or so that I care about. I did just that, moving the ones I care about into 'keepers', and nuking the rest. While I've never been a huge fan of 'inbox management', it makes sense for personal use, because I don't have to keep those emails around as an electronic trail like I do at work. And I really hate the amount of clutter overwhelming my inbox.

From now on I'm going to delete 90% of incoming mail, and keep the last 10% well organized. Or so I believe at this point :)

Training Summary 9/13 - 9/19

Still in the Base phase of either a 5k or 10k race plan. This involves running relatively short distances (~5-6 mi), mixing up some hill sprints, and lifting weights 2x/week. I'm also mixing in swimming, because I'm just getting to a place where my form is decent and don't want to lose that feeling of 'speed' (and that, as is everything, is relative) in the water.

I'm in San Fran this week till Friday, so I'm going to try and get in 3 runs while I'm here. Actually I was supposed to leave 20 minutes ago, but I'm still trapped on the toilet. Ah, well. 5 miles wont take too long.

I forgot my Garmin at home. Damn. So I'm going to estimate my mileage based on perceived pace, i.e. 9:30 mile pace x 5 means around 5 miles in around 48 minutes. Wednesday calls for hill sprints, and I always do a good 7 mile run from the Financial District out to Crissy Field, so I'll mix up the hill sprints on the way.

Monday

Swim:
~1500 yards
started with a 25-250 progression (by 25 yards), but (a) there was some guy taking swim lessons in my lane who had some navigation issues (couldn't swim straight) and (b) I head on-ed with a lady who decided that we were swimming circles, so (c) this threw me off a little bit, to the point where I realized my form was deteriorating. So around 200 yards I stopped, moved to a lane that had just opened up, and did a 25-100 progression, followed by a couple of 50s where I realized that I hadn't been rolling fully side to side for most of the swim. I got that back, made sure it felt good, and called it a day.

Between sets it was really instructive to look at the Mercer Island girls swim team. I saw plenty of stick armed adolescent girls move through the water like they had a propeller bolted on their feet. Once again, form > strength.


Tuesday

5 mile base pace run. Approximated this w/45 min out and back from my hotel, the overly ornate Westin St Francis. Running without the GPS is different, different in that I'm always running faster than I should be. The only reason I know this is remembering effort with the GPS and comparing it to today.

The Westin is about a mile up from where I usually start. This has created the following conundrum: do I run all the way to the entrance of the Presidio, or do I keep it somewhat shorter and just run the Fort Mason hill as sprints? I'm leaning that way, because it will probably be 7 - 8 miles round trip with the extra 2 miles built in.

Of course, I'm writing this while still at work. Arrgh. It's always super hard core when I get down to San Fran. Almost 8 and the office is still half full! Still no dinner yet, either.

Wednesday

6-7 miles, with 6 hill sprints up Ft Mason hill.
I took it easy on the way out, running 8:30-9:30 miles. It felt good, and I had to restrain myself a little. I'm still getting used to the concept of 'base' pace.

The sprints were, in a word or more, fucking brutal. The first two were fine, the next two sucked, and the last two I was distracted from sprinting because I was trying not to puke. Hill sprints are hard. 30 seconds is a long time.

On the way back, I ran like a wounded, tired hippo. I think someone on crutches could have passed me for the first mile. I slowly started to get back into a more reasonable (quicker) pace toward the end. This was a hard, hard run, which is strange, considering that only 3 minutes of it were actually 'hard'.

At work today I felt the beginning of a chest cold. Crud in the lungs for sure. Not sure if I'm going to run tomorrow, or just skip it and do pilates/calisthenics inside.

Thursday

Rest. Still not feeling 100 percent, more like 70. This whole travel thing is hard to do while staying healthy. Anyways, I needed to roll out a little early b/c I was checking out of the hotel, so I skipped any kind of workout and relaxed. Worked all day and got on the plane at 5:40. Was riding Main Cabin Select, which means free Drink and Food, so I had some mini bottles and some snacks and watched "KickAss". Depending on the weather, I'll either run or swim tomorrow.

Friday

ran 4.93 miles @ base pace. The route was hilly, so the pace suffered a little bit. But considering how I felt, I was happy to get the miles in. Definitely did not feel up to fartlek. Mile 3, where I climbed 400 feet, was the slowest at 10:13. I wasn't killing myself to get up it fast, I just wanted to get some miles in.

Saturday

TRX.
did the usual, w/o the dumbell squats:
2x15 single leg split squats
2x15 single leg front squats
2x15 single leg tuck behind squats
2x10 dead lifts
2x10 pullups

Still feeling a little sick, so the resistance exercises were the only exercise I really got.

Sunday

Run
7.82 miles @base pace ~9:30/mile with 6 30 second 'relaxed sprints' thrown in.
1:14 total.
1433 ft altitude.

Felt good for the first time since Tuesday, I think the slight cold is behind me. Sprints were 'relaxed', I think the fastest I went was a 4:17/mi, and the slowest was 7:00/mi up a steep hill. Route was fairly hilly, which was why the pace was relatively slow.

Total: ~24 miles Run, 1500 yds swim, 1 TRX session

Wednesday, September 15, 2010

Random Thoughts from San Francisco

I just found this really great band, m83. They're like Air, but spookier. Check out Skin of the Night. I can't get this song out of my head. It totally suits my mood right now. Early fall, the sun is setting earlier, everything is .... dying. Like it should, because it's that time of year.

The run this AM was a gloomy, foggy run, again, set to this soundtrack. Sometimes, when I run past street people, talking to themselves or their imaginary friends, I wonder how different we really are. For all I know I'm making all of this up as I go along...the job, Lopa, the kids, Seattle, San Francisco. I might be some homeless bum, stinking of piss, shivering in my sleep. Even if I'm not, this life feels fairly hallucinatory at times...but I'll take it.

Working down here is kind of surreal because it feels like the reality of being a dad/husband has been suspended. All I do is work/work out. And, for 3 days at a time, that isn't too bad!

Last night I was walking outside of my hotel and I encountered a salsa band playing in the square. Apparently I love salsa music, and had forgotten about that love. Actually, to be more specific, I did love the music, but I also loved watching people dance. There were all kinds out there, old, young, skinny, fat, whatever, it didn't matter. They were all moving very gracefully. The beautiful women looked even more amazing when they were doing salsa. The fat old guys didn't look so bad either -- I think I might have stumbled on the fountain of youth for fat old guys :) Everyone was completely caught up in the music, enjoying themselves. I think I'm going to get Lopa to take salsa lessons with me for our 14th wedding anniversary, because it's a whole different way of relating that we could use in the middle of raising 2 kids, paying the bills, dealing with life, etc.

I love my job, at least the parts where I lose myself for a couple of hours while working on a hard problem. I feel like I'm finally getting disciplined about seeking simplicity. I had a fairly complicated solution to a problem today, and it felt wrong, so I chucked it and came up with a much simpler solution that was much easier to implement. That feels good.

Monday, September 13, 2010

Training Summary 9/6 - 9/12

Using the new Target Pace Level approach, I'm running primarily at my TPL based on my 1 mile time of ~6:40. Note that there is no mention of heart rate here. So that's quite a shift for me.
I havent decided between a 5k plan and a 10k plan, the 10k plan is (obviously) harder, but right now they're both the same mileage, so I'll make a decision at week 3.

I'll be measuring the effectiveness of pace based training via some home grown analytics software, but for now:

I have a TPL of 37, and that means the following:
Recovery Pace = 10:57 - 9:42
Base Pace = 9:43 - 8:47
Marathon Pace = 8:15
1/2 Marathon Pace = 7:57
10k Pace = 7:34
5k Pace =7:18
3k Pace = 7:04
1 Mile pace = 6:41

Monday

4 miles, 2 drills of 'hoop arm running', 2 drills of 'single leg hopping', I averaged 9:38/mi, Avg HR 141, right at the edge of base pace, but I climbed 500 feet during the run, so the hills have got to count for something!

Lower body resistance exercises.
2x 20 dumbbell squats (65 lbs total)
2x 15 single leg split squats with TRX
2x 15 single leg straight ahead squats with TRX
2x 15 single leg tuck behind squats with TRX
1X 10 inverted V core raises with TRX

My knee hurt on the run. Left knee, I think the IT band is tightening up. I did manage to get some leg extensions in, and some work on the foam roller. I'll try to hit the stick at work a little bit.

Tuesday

Big plans for a swim, but I couldn't get motivated, I think the darkness makes it hard to spring out of bed like I was a month ago. Instead I did some upper body TRX exercises.

1x30 Atomic pushups
2x20 V back extensions
2x20 swimmer pull throughs
2x10 pullups
2x10 inverted V core raises.

Wednesday

It was rainy, dark, and generally crappy, and I overslept. Still managed to stick to the plan, running 5 miles, 2.5 miles warmup, 2 30 second hill sprints, 2.3 miles warmdown. All good.

Thursday

Swim
big plans derailed by lack of ability to get my ass out of bed by 5:30AM. This is becoming a problem...anyways, here is what I did.

4x250 25-50-75-100 working on bilateral breathing and form. I'm really trying to maintain tension from my core out through my fingertips. It feels like I'm spreading the load of pulling back from my shoulders to my lats and core and forearms, which can only be good for my shoulders. Bilateral breathing is _almost_ second nature to me, it still gets hard when I get tired. I'm becoming aware that my left and right strokes are different. I tend to pull almost across the centerline with my right arm, and more conventionally with my left. Always something to work on with swimming....

Saturday

Run
5 miles at base pace, i.e. 9:50->8:40, with two 30 seconds @ 6:40 pace 'sprinkled in' (his words, not mine).

leg resistance w/TRX
2 sets x 15 single leg split squats
2 sets x 15 single leg tuck behind squats
2 sets x 15 single leg out in front squates
2 sets x 20 dumbell squats, 65 lbs.
1 set x 10 pike ups in trx.

averaged 9:15, with a 10:25 slow start, an 8:04 mile 4.
Sunday

Sun
4 miles at base, legs felt sore, but good base pace (~9:15) run.

Monday, September 6, 2010

Next Steps

First a quick look back:

  1. Last year at this time (roughly) I did my first ever sprint triathlon, the Kirkland Carillon Point event. I was hooked.
  2. Shortly after that, I switched jobs, into a much more time intensive and mentally challenging (and fun!) role that involved some travel as well as 4-5 nights a week of late night efforts.
  3. This year I struggled to get some fitness back, but signed up for the Issaquah Sprint Tri as a 'motivator'.
  4. I then did the Seafair Sprint Tri.
  5. Then the Lake Meridian Olympic.
  6. Then the Mercer Island Aquathon.
Now some takeaways:
  1. I really like being fit. I feel better than I did when I was 30, and that makes me a much better father,  husband,  co-worker, etc. I think there is a huge net benefit to training for tris because it's almost daily, and provides regular stress relief.
  2. My attitude towards swimming has improved dramatically. I've gotten comfortable enough in the water to look forward to 2000 yard workouts. That's not a ton of distance, but it's a huge milestone for me. 
  3. My overall running speed has increased, I'm now running a 6:40 mile, and intend to get that much lower. 
  4. While my cycling has probably not gotten all that much better, it is the place where I make up the most time. Which bodes well for:
  5. Longer events. I think I'm much better suited to olys, and maybe 70.3s, than I am sprints. I manage to keep the same pace as I do during a sprint, I just tend to feel much better with more distance.
And some 'external' factors:
  1. My kids are getting older. This is good (they're more independent!) and bad (they're more independent!), but time is not stopping and I need to continue to be there for them now in less of a 'caretaker' role and more of a 'activity leader' role. 
  2. My job is hard, but it's not immediately leading me in the direction I want my career to move in. A 'reprioritization exercise' at work means that I'm not going to have as much opportunity to learn about machine learning at work. So I need to start doing that kind of work on my own, in my own time. This will require some rebudgeting of time -- not so many late nights on work projects, more on my own projects -- but I think that I can use the vast amount of data I collect running and cycling as inputs, so I'm marrying two passions (triathlon/endurance training and machine learning). Still, time is time.
  3. Lopa is going back to work. She'll be working as a substitute teacher, but wants to leave the education field behind and get back into a better paying, hopefully part-time role. I've had a great, great run as the sole income provider, getting free meals, relying on Lopa to do the bulk of the child care during the day, etc. The kids are older (see above), but the scale is going to tilt back towards a more equitable distribution of work and effort, which will definitely impact my ability to train. 
Finally, my immediate goals for the next 4-6 months:
  1. Become a faster runner. Nothing beats speed. If I can go faster on the run, it can only help. 
  2. Become a faster swimmer. I'd like to be able to swim with the same effort, but at a much faster pace. I think at this point, given my (slow) speed, this is mostly a matter of efficiency, gained through drills and reinforced through intelligent application of distance. 
  3. Increase leg and core strength. I really think that my lack of leg strength is a key limiter to both running speed and cycling power. 
And how I'm currently planning to get there: 

Running Speed: I'm going to start with the level 2 5k training plan from Brain Training For Runners. I'm going to modify it to do 4-5 days of running /week + 2 resistance training sessions. A lot of workload, but not a lot of miles, which is good right now. I'm going to use the base and build approach to recalibrate my leg strength and leg speed. This is a 16 week program, which should keep me going through the late fall.

Swimming Speed: I'm going to try and get into the pool 2x/week, and build on my current swim fitness/form in an orderly progression, trying to get up to 3000 yards comfortably. My approach with swimming right now is 'form = function', and I'm going to continue to take the Total Immersion tack towards more speed/greater enjoyment.

Right now this plan contains no 'off' days, which means that climbing is on hold. I'm not entirely sure about that decision, because lead climbing -- even indoors! --  is pretty important to my mental health during the winter. I'm also not sure about maintaining a super strict regimen right now. I think I'm going to further adapt a plan that will allow for more flexibility while building strength for the next season.