When I have a long todo list and a million things on my plate, my usual tactic is to just plow through it. Take short break to eat, but then get right back to work. My feeling is, if it’s weighing on the back of my mind, I won’t enjoy downtime anyway.
Join 38,000 others and follow Sean Hull on twitter @hullsean.
Recently though I had a very different experience. And it surprised me.
1. Too much to do
A colleague of mine asked me to meetup for beers. We planned to talk technology, and to catchup on what we were both working on.
As the night rolled on he had some delays, and I wanted to cancel too. After all I had a ton of work to do, and didn’t think I would enjoy myself. I really felt like I’d be worrying about all this work on my plate. It’s like taking a vacation when you have a deadline. It doesn’t feel quite right.
2. My surprise
We ended up meeting anyway. At first I wasn’t totally relaxed, but then we started talking.
Our conversation turned to the evolution of datacenters. How they used to be on premise, then there were lots of hosting companies. And then Amazon changed everything!
We talked about evolution of tooling & automation. Although system administrators of old have been writing bash scripts forever to make their jobs easier, the proliferation of tools for deployment has allowed smaller ops teams to control fleets of servers. As my friend & colleague was newly starting a job on Amazon Web Services, a lot of this cloud stuff was new to him. So talking about it from a teaching vantage point, made me realize how strong I was in a lot of this stuff.
We talked about docker & containerization too. Even the origins back in the late 70’s with Unix chroot all the way up to Docker today. I explained to him that he could think of a container almost like a unix user, but with a more self-contained view of the whole system. In many ways a container acts like a vm, with it’s own filesystem and processes.
We talked a lot about aws, how S3 was an evolution of FTP in the old days, but much much better, how VPCs worked and the virtualization of networking, how VMs in the AWS world match with bare metal or not, how they share EBS storage. How Amazon has built a database service RDS around popular platforms like Oracle, MySQL & Postgres.
We shared a lot of ideas & brainstorming. About coding, C versus Java versus Python, package management, dependencies and on and on. He also mentioned he needed to build a test script to talk to an Amazon queue. I explained that it should be quite easy, and which libraries to look for.
3. Breaking through hurdles
It’s funny how dramatically different I felt after we got together. I all of a sudden had tons of new ideas bouncing around in my head.
Instead of waiting for the next day, after our get together, I went straight to the terminal. I quickly finished a coding challenge I was working on and struggling with. Easy peasy!
After that I felt inspired further. I created an Amazon SQS queue with the dashboard, and then wrote some python code to talk to an Amazon sqs
I created a git repo & checked in my code. All within a couple of hours!
I was just sitting there laughing. Because I felt such relief that I’ve made progress.
It was a big surprise that such a circuitous route got me there.
I guess the takeaway is that mental play or dream time is important to making progress. Otherwise you’re just working in a vacuum!