Deep Hack Mode

From TheCommandLineWiki

Jump to: navigation, search
This transcription is complete!.

Part of The Inner Chapters Unbook.

Originally part of podcast episode number fifty three].

Dedicated audio available from Podiobooks.

Contents

Original Notes

  • Organization cycles between downtime and crunch time
    • Talked about individual perspective
    • There are influences on the organization as an entity
      • Competition
      • Customers
      • Sales and marketing
    • Can be seen as a natural ebb and flow, implement and plan
  • Individuals have their own focus cycle
    • Some days, can slip into deep hack mode easily
    • Others, not so much
    • If focus is lacking, it can be hard to jump start
    • Usually has nothing to do with organizational cycle
    • Often is a result of sub-conscious contemplation of a problem
  • When in deep hack mode, I lose track of time
    • I used to skip lunch
    • I still end up working late as a result
  • Some times feels like a spendable commodity
    • If burned on one day, the following day or days may be harder to muster even minimal focus
    • Trithemius and firmware update
  • Is definitely easier when problems are small, well bounded
    • Firmware update knocked out in a day
    • Last year, when I started single sign-on, had a week of heavy lifting
    • Worked without a break just about every day
    • Continued to chew through problems in the back of my head, even when trying to sleep at night
  • Usually, keep a task list and notes
    • Freeze drying state
    • Under most circumstances that helps establish focus when problem spans multiple days and requires interruption
    • If there is pressure or enthusiasm, this may not work as well

Transcript

As promised I have another installment of the Inner Chapters, this one about hack mode. What this boils down to in my view is, well, a personal analogue to what I've talked about in the last two installments. I talked about crunch time and down time, and I think these form the peak and the trough, if you will, of a periodic cycle at an organizational level that's driven by, well, influences that make sense when you think about an organization as an entity, as a whole. So you think about competition, you think about existing customers and customer good will, you think about sales and marketing, maybe it's the grist between those two things. I'm sure we can think about many other influences on an organization as an entity that would tend to drive that periodic, you know: planning, implementation, planning, implementation ebb and flow, very natural.

When we talked about crunch time and down time as the extremes of this cycle, we talked about that from an individual perspective. So to talk about that more from an organizational perspective, to kind of set the scene to talk about hack mode or focus and the focus cycle that individuals go through, at least in my experience, and share some anecdotes of my own and some co-workers and their dealings with this sort of "hack mode". And I use that term to separate it from just ordinary focus, because I think hack mode really speaks to a profoundly geek experience. It's not just a sitting down and getting so involved in a project, in a book, in a topic. I think it does really speak to a certain state of mind. I think that it is somewhat addictive in nature, as the hacker word of the week mentioned when it talked about habituation, and I think there's a cyclic nature to it. That's why I kind of contrast it a little bit to that organizational cyclic nature: that standing wave that a road map, that a release map represents, the highs and lows that occur over time, that I think on some days in my experience I find that it's very easy to slip into that hack mode, that it doesn't take much effort. And then on other days it can be quite difficult, even to the point of just mustering ordinary focus can be difficult: easily distracted, not really ready to wade into any kind of work that involves more than the simplest input.

I think that — as I said I think these things are truly orthogonal to any organizational concerns. I think this is totally individual, and I think that everybody's experience is going to vary somewhat. So, you know, if your experience is radically different from mine, as always I encourage you to send your story for the listeners feedback section. Send me an email, send me an audio clip talking about your own experiences of hack mode or struggling to get into hack mode, any interesting, entertaining anecdotes in this vein.

I think that, in my experience, in trying to suss out some intelligent, coherent things to talk about and talk about hack mode, I think it's somewhat predicated on having a problem to contemplate and reflect on.

4:33

And I think that this jibes at least somewhat with a recent experience with one of my coworkers, Trithemius, who I talk about on a regular basis. He's the principal engineer on the embedded side of the house and does most of the firmware development for our hardware product that we sell, and he has upcoming in the next major release quite a number of features that he needs to implement in the firmware for the control panels. And one of them, we'd had many conversations and discussions back and forth. You know, we have a very fruitful collaboration where we get along greatly as friends I think. (I hope! That's funny, insecurity piping in there. He's a sometime listener, so hopefully he'll get a chuckle when I talk about him. I'm always curious — he doesn't listen to every show. I'm always curious to see which ones he does and whether he'll comment at work on the following...) But anyway, we've had a very fruitful discussion about the features set that's much more the next release of both our online offering and the firmware upgrade for the physical offering, very much more driven by the firmware side of things. So that's really the long pole and tent, if you'll excuse the metaphor.

So he had been obsessing, if you will, he'd really been thinking about this a lot. We'd been talking about this a lot. I think things started to settle down into his subconscious, he'd had a few days to digest it, and then I guess maybe a week after the last time we had talked about it, kind of worked through, kind of brained through some of the issues, some of the natural catch points he'd come up against to say, "Geez, you know, the simplest scheme we can come up with, kind of, some of the counter-examples..." — that's a good way of putting it — that pointed out flaws in our thinking, we had worked through to come up with what seemed to be an appropriate solution to implement in the firmware upgrade. About a week after that last conversation he came back and he looked somewhat exhausted, and he admitted that the day prior he had gone truly and utterly into full deep hack mode. And he had just banged out one of the three sets of features completely from start to finish. And it's interesting, the comment he made was essentially that it had brewed enough in his own mind, in the back of his mind, that he was ready to just sit down and in one session from start to finish implement the feature fully. And it's nice that he has the luxury that the firmware code base is small enough that barring a systemic overhaul, a truly profound shift in the architecture of the firmware, most of his projects are like that: they're small enough that he can brew and cogitate about it, that we can talk about it, and then he can sit down and knock it out relatively quickly.

And that being said, his experience really made me think about in some cases, that sort of focus, that sort of ability to get into a hack mode and utilize it to really burn through a chunk of work can almost be seen as a spendable commodity, because he had to admit that the following day he really — it was wasted. He couldn't get anything done. He was so burnt out from having put all of that focus into the prior day's effort, having built that feature from a standing start and such an amazingly quick turn around, such a short amount of time, just a flat-out sprint if you will, that he was just exhausted mentally the next day, fatigued. And you know, he still, in my mind there were thing that he could do that were valuable in terms of participating in discussions. But from a coding perspective, he just couldn't muster enough focus to get anything done. And so he'd have to admit to himself that he'd camp out in the online role-playing game that we've all become addicted to and spend at least half of his time in there just mentally decompressing, and then the other half of the time, just offering, like I said, a friendly ear for the rest of us who were trying to work on a variety of other things and, you know, lending his perspective there.

In my own experience I've found, it dovetails somewhat with Trithemius's experience that I've talked about, but varies in some significant ways. I find that — and this may not be unique, this is just my own experience — that I tended to lose track of time very easily, and I think that that's one of the things that's maybe alluring about it, is often work can become a drudgery, can become boring, and slipping into deep hack mode to operate on some interesting problem really allows the day to truly just flee by. But there's a down side to that ignorance of the passage of time, that ignorance of — it's not just that passage of time that's the down side. In my experience it's losing touch with everything else but the problem that's being worked on. So I used to skip lunches when I got into deep hack mode. If you don't have somebody to come in and politely and in a way that is not too disruptive interrupt and remind you that you need to take care of yourself, that's a danger. And as the hacker word of the week pointed out, there's definitely an etiquette. There's definitely a way to approach and recognize that somebody is in that deep, deep focus, but to pull them out enough to take a coffee break, take a sanity break, go out and get some lunch, and not go through that kind of privation.

And then I still end up working late sometimes as a result of getting into hack mode on an interesting problem. But I found that being in an environment with someone like Trithemius or some of the other people that I work with that have their own appreciation of what hack mode is, and understand that, not only does that have to be balanced, but in coming in as a friend, coming in as a friendly coworker and trying to remind me of that balance, they do it in such a way that just doesn't completely destroy what I'm working on and frustrate me and really interrupt the flow that I've gotten into. And that's quite nice.

10:50

Another reason why when people ask whether I really truly do enjoy my job as much as I do, that's another reason why I do, is that I work with a lot of people that just get these kinds of things. I don't have to explain it to them, like I said, you know talking about Trithemius's recent anecdote about Deep Hack mode. He can see that in others, and then that empathy makes it very easy for him to be a good friend when I'm working on a deep problem like that. Unfortunately some of the problems that I've had to work on in the last year in contrast to what are in Trithemius's work typically smaller and better bound, last year when I started working on the single sign-on component for a server offering, there was a lot of heavy lifting that I had to get done. But there were a lot of interesting components of doing that heavy lifting. There were some crypto things that I needed to get into, it was stretching some component-programming muscles that hadn't been stretched in a good long while, so a lot of very fascinating challenges, really engaging, but not anything that I could get accomplished in a single day. It was a lot of things kind of built together and overlapped and a lot of incremental progress. There was a about a week last year that I spent pretty much the entire time in deep, deep hack mode. And it was, you know: put your head down at 9a.m. in the morning, and you're blinking at the clock, and it's 7, 8, 9p.m. at night. The next thing you know, you've taken in the barest amount of sustenance to keep your body going during the day, you go home bleary-eyed. I found that very often during that week the problems would leak over. You know, I try to maintain a very good barrier between my work life and my home life, but in a circumstance like that, things would slop over the dike, slop over the firewall if you were. And I would toss and turn some nights as my brain was still actively stewing over you know, "How do I address this problem? Geez, you know, I didn't solve that before I left. Maybe if I did this; maybe if I did that". Kind of mulling all these possibilities until I could get a chance in front of a computer and try some of them again and make some more forward momentum.

Ordinarily what I like to do is keep a good, detailed task list and notes. I find that, you know, the word of the week talked about juggling eggs, about maintaining state in your head, that if you if you actually offline some of that state on a periodic basis, that if you practice at it, I've found at least in my experience, you can freeze dry that state reasonably well, set aside, go home, have dinner with your family, go out with your friends, watch a movie, relax, decompress, get a good night's sleep, come back, and it's a lot easier to sit down the next day, review your notes, and spool all of that state back up into your head and pick up where you left off more easily than you might have otherwise if you just allowed things to just follow happenstance.

I find that, in my experience, having done this for some time know, even though I still have admittedly, like I talked about that week last year when I was spinning up that project, I still had times where I'm not able to keep things as well compartmentalized. Sometimes you need to put that much extra effort in to get things going. On the whole I'm able to maintain a much better work/life balance by being able to "save the state of my brain" if you will, at the end of the day, and then restore it at the beginning of the next day. So maybe that's a good tip as well to come out of this, some good advice is, think about how to manage those — you know, you're going to have, even if you can avoid all normal interruptions during the day, you can close, you have an office door, you're lucky to have an office and an office door, and you can close it, you can put "Do Not Disturb", you can put your phone on "Do Not Disturb", you can turn of IM, you can turn off IM, you can turn off email, and you can avoid all other unnecessary distractions. Maybe you've got a mini-fridge in your office, you've got food right there right to hand or you can plug an IV into a vein and not have to worry about it, you know, set on a glucose drip. At the end of the day that's an inevitable distraction. If you're not able to wind up your problem by the end of the day you're going to have to stop, you're going to have to get interrupted to take care of your own self, like I said to get some sleep, to do some minimal decompression and come at the problem fresh the next day.

So it behooves us all to figure out some minimum coping mechanisms, and as I found as is often the case with a lot of these sorts of individual practice tricks, keeping good notes — you know, keeping an ongoing journal, and sometimes it's more detailed than others, depends on what you're doing, can really help with that. So hopefully you find that helpful. Hopefully my discussion about focus and hack mode resonates on some level.

Personal tools