Title: Escaping Darkness part 2…the back story Date: 2014-02-28 Tags: ci, devops, scripting, linux, bash, tools, life-lessons

I recently shared that I’ve been on a solo project for the past six months… this is the back story.

For at least the last nine months, I have taken on the role of devops. I ended up in the role because it needed to be done, no one else took the initiative to lead it, and I can’t sit idly by when I see something that needs to be done.

A lot of my skills, interests, and mild obsessions probably led me to this, but, for each of those, there was probably a deficiency or learning curve to equal it out.

When I create a bullet list of all of the things I’ve been able to do and where I have been able to take this client, I think it’s fairly impressive. BUT, the problem is, it’s easy to lose sight of that when you’re in the trenches, especially if you’re usually down there by yourself.

Interlude: Giving Credit

Before I go too much further, I should clarify what I mean by solo project. It’s not that people were not helping me or encouraging me; there was a lot of that, and I’m very grateful for everything.

By solo project, I simply mean I was the one whose reputation was on the line, I was the one ultimately responsible for implementing this, and so I was the one to blame when things were failing or were not done.

But, while I didn’t have a dedicated team (which is what I mean when I say solo project) I could not have accomplished the majority of this without the support of others. I cannot even begin to name everyone because there have been a ton of people that helped me through this and I would be continuously editing this list.

But I hate working in isolation

I’m most comfortable and feel I have the most to offer when I’m developing and driving a strategy. I like to lead but want to get my hands dirty at the same time. I am much more comfortable and happy when I’m collaborating. I think that is the main reason I enjoy the strategy, because it takes a lot of people to get it right and to make it happen. When I code, or really when I do any task, I really prefer pairing up.

And that’s why I went dark. I’d love to tell you I’ve been hacking the world, but really, it’s a hell of a lot more boring than that. In fact, I’m avoiding telling you any details about it because I’m afraid I’ll put myself to sleep!

But, there are a few things I do want to share; these aren’t new learnings for me, just something to somewhat remind me and make me face them, as well as hopefully give you some things to watch for. And, if nothing else, at least this will be an apology to everyone that I haven’t spent any time socializing with over the last six months!

Don’t go dark!!!

This is by far my absolute worst habit. In my last post, I recalled the steps and thoughts leading up to this, and reminded myself of my #1 rule.

But that’s the horrible thing! I know this, and even this time before I did it, I knew it when I was getting ready to. I actually thought to myself, “I shouldn’t do this, but it has to be done.” And as a reward, I’ve earned a few wrinkles and I now have some gray hairs starting to set in. I guess it’s about time, but I had a good run…

So what’s going dark? Isolation. I freaking HATE it! I like talking to others, learning what they’re learning, finding tips, tricks, new things. I kinda like arguing or debating what the cleanest way to implement something. I love reading on new topics, researching strange utilities, things like that. It keeps me engaged, entertained, and up to date.

Going dark to me is the polar opposite of that. That’s not to say I haven’t learned anything over the past months, because I’ve learned a ton, and it’s all been focused. But at the same time, my health and happiness has suffered.

What can I / will I do about it?

The same things I tell myself every time:

  1. Refuse to work alone.
    I have much more to offer when I have someone else to collaborate. The results from pair programming are faster delivery, better execution, thorough testing, peer reviews, better quality, and on an on. That assumes that the pair gels; that they can work well together but challenge each other in their ideas to get the best possible outcome. Generally, the blame falls on me here rather than my customer or employer. In this particular case, it was probably equal blame; no one wanted to do this role, and I didn’t want to “slow down” to find someone to help.

  2. Set boundaries.
    Yeah, right. But seriously, this is where I always trip up. I blame it on my lack of vacations in the 4th quarter; I should have taken at least two! It sounds like a joke, but really, I love to travel and see new places. I have a strong work ethic, but vacation and travel are the rewards that keep me focused and give me the sense of accomplishment, and gives me a feeling of being rewarded for my efforts.
    Outside of that, though, this is the area that I always end up struggling. While many people abuse this by spending too much time overall, I think my problem falls more into the mental aspect. I spend just as much time as I would, or maybe possibly even less, but when I feel like I have some major deliverable and I have to stay head’s down, it puts a drain on my energy outside of work. That prevents me from wanting to have anything to do with this pile of scrap metal sitting in front of me, and it just snowballs.
    So for me, I still have to figure out how to protect my happiness and peace of mind. I think that falls back on #1, but I’m still trying to figure out how to be able to go dark for short periods of time and then come back out quickly.
    I think it also means committing to writing, because it’s a great outlet for me and I always feel better afterward. That, and stick with the other keys, like family, friends, nutrition, fitness, and reflection.

  3. When it does happen, be relentless about getting out.
    I think this is maybe the answer to #2. In this case, I had the support of my customer for sure, but the problem is, they didn’t really have anyone they could give up to help me. I was open with them about needing someone else to collaborate with, and expressing when I hit areas that I desperately needed inside knowledge or support.
    This one is difficult though, because I have a can do / will do attitude and approach to just about everything, so I’m going to figure the problem out and it’s going to be the best solution I can deliver. Six months from now I may think it’s total crap… but I feel like I do a good job of being able to extract information from past scenarios and experiences, often times only somewhat related. I think I’m rambling, but the point is, my approach is to not sit around and wait for someone else to help me, I’m going to go figure it out, which can be good and bad, so I need to do a better job of being transparent about that.

  4. Find the little victories.
    This is back to the list of accomplishments. When I look back on the past months, I’ve accomplished some huge things and learned a lot along the way. But, each time the accomplishment typically just felt like I finished a task; I just don’t feel done or that I’ve delivered a whole solution yet, and that grinds on me.
    Suffice it to say, I’m still not done, but today, I had a huge win. I have been fighting with deploying this damn java product to a CI environment; I knew absolutely nothing about it before, and as of today, I can now stand up a CI server with their product. The part that REALLY was grinding on me is that this feels like it should have been so simple; when I went into it, I figured it would be a couple weeks of focused work, but it hasn’t been. I’ve had to learn so much about their product, plus I was learning the deployment tools and really beefed up my bash scripting skills at the same time, and that turned it into over three months of work. I was supporting another product at the same time, plus trying to roll out a third, but still, THREE MONTHS and it’s felt like two years.

Bragging time…

Well, that’s in my next post, because this is long enough, and I’d like to have the numbered list to come back to the next time I’m considering a cowboy project.