Using Tools to Enable Deep Work

I read an interesting article about programming today, the author says that learning to program is easy, it’s working “Deep” for long periods of time that is difficult. I think this a really insightful way of looking at mastering skills. It’s really easy to jump to the next email or ping when you’re learning because you’re afraid to fail at learning. When learning becomes difficult, people have a more difficult time keeping focused – even if they have an incentive (Pay check or paying someone) to learn.

This can be exacerbate by not having a good environment to learn in or a good teacher. A bad teacher that isn’t willing to give you the examples that you’re able to learn from in a constructive environment is wasting everyone’s time. However, if you’re self learning, then you’re going to be using mostly Google searches or maybe a few books here and there. The best way to learn then is to give yourself an interesting project related to something you care immensely about. I’m not an expert at programming, but I know when I’ve learned most successfully it’s been when I have a clear objective with the right tools in front of me to dig into the problem I’m trying to solve.

There are tools out there that make doing this sort of work easier and others that make this work more difficult. Git and all it’s various version are tools that can, once you learn them, make deep work easier, because you eliminate the fear of mistakes. If you screw up too bad you can simply start over from where you were. Breaking your project into chunks becomes much more important so you can work on items without risking the entire project.

There are other tools like Slack, that apparently, can really be a detriment to deep work. There was a breakup letter about this topic that’s been getting some attention. I think it’s focusing on the incorrect problem. Slack isn’t the issue here, it’s the person doing the work and/or the work environment that has caused the problem “Breaking up” with Slack is like breaking up a hammer because you’re unsuccessfully screwing in screws. The tool is not at fault, it’s doing what it’s designed to do, hammer in things, you’re applying it wrong or using the tool incorrectly. Yes, in this case it is not the right tool for the job, but you’ve done a poor job defining the problem¬†you’re trying to solve with the tool.

At my company, I think we’ve come up with a pretty good solution to this. We don’t use Slack, but it’s competitor HipChat, pretty similar overall, but with the right tools integrated together, you’re able to create rooms for specific features. These are tied together between Bitbucket, Jira, and HipChat (yea we went all in on Atlassian), which means you’re able to see all the information you need about the problem the feature you’re working on is trying to solve. We’ve started to use this to pull in the voice of the customer (me in this case I’m not a developer) earlier into the process so that I am able to give feedback quickly to what the developer needs.¬†This allows the developer to meet my acceptance criteria by getting quick feedback and then getting back onto the deep work of really writing the software.

In some cases can it be disruptive? Yes, but that’s only if people aren’t using it correctly and we work with them to change their behavior before it becomes a problem. Slack, Jira, Bitbucket, et al are only tools that are designed to reduce the burden of working with remote team members to enable us to get down to the nuts and bolts of deep work for programming.

Take a look in the mirror if you’re struggling with learning programming or using a tool like Slack. You’re the problem, create a structure around how you work and how your team works. Use your hammer on nails not screws.

We know that NSA is hurting tech companies – that’s a good thing

Snowden leaked his documents a year ago. We’ve been getting a slow trickle ever since. However, some of these documents are getting date and surely the NSA is doing more stuff than they had in the past. That being said, they are continually being surprised by a new document that’s released or another. They clearly haven’t fully figured out the full list of documents that Snowden managed to take. Furthermore, they haven’t learned anything by not changing the techniques that they currently use. The NSA should have systematically shut down every program that could have been possibly leaked and moved onto something different. They haven’t, which means that they don’t really feel they need to change anything unless we force them to acknowledge that they’re doing something Americans (and the rest of the world) don’t want.

Today the guy that founded Netscape (a Silicon Valley Venture Capitalist) thinks that the fact the Edward Snowden released these documents hurt US technology companies. He thinks that because we now know that the US government does bad things with OUR tech company’s technology before it reaches a customer is hurting our companies. He blames Snowden. This is the most assinine thing I’ve ever heard. Marc Anderssen should be pissed off at the US government and praising Snowden because NOW US tech companies can DO something about it.

This is what a good manager or leader does. They support and acknowledge the fact that a person raise the attention of a problem, used them to address the root cause of the problem, and move on to the next problem. This is what Lean process improvement is all about. You NEVER shoot the messenger, you shoot the root cause of the problem eliminate it and make sure it never comes back. Saying that Snowden is a traitor because he highlighted the fact that the US government is taking good companies work (Cisco) and add malware is counter productive. We need to know when anyone government or otherwise is intentionally trying to break the internet. I do not believe that Mr. Netscape believes that the person who leaked the TransPacific Partnership is a traitor – when they essentially highlighted a similar problem.

I also believe, that labeling Snowden a traitor implicitly removes any blame from those companies that are being harmed by the US government. In many cases those companies have bee fully complicit with not just the US government, but “rogue” states (Iran, China, and other oppressive regimes) as well as companies (like Comcast, TWC, etc..) through enabling deep packet inspection (which allows anyone to snoop at anything you do. All of these have to have been enabled by a US technology company. These companies found a benefit to their benefit by doing this.

Now other companies, like Google, WordPress, and others are trying to get around both of these by encrypting their data. I actually suggested this as a tool to get around data caps or fast/slow lanes (if all data is encrypted you can’t slow or speed up traffic). This will inherently force a more net neutral internet (baffling deep packet inspection) and defeating much of the tools of the NSA.

All of these are good things. We know this because of Snowden. We know that tech companies need to address problems that the NSA and other government agencies have caused. This is a cause for celebration not condemnation. We need more people like him so that the internet can continue to thrive and be an economic driver. Don’t blame the messenger, if the US government is hurting US tech companies, we need to know so we can stop that from happening.