It is so easy, especially in recent years, to not get to it on the code you mean to write. Without further ado, the top excuses:
Special Mention: “Just waiting for the tests to finish” — This one probably accounts for as much time as any, but the alternative (“Uh, I didn’t run the tests”) is worse. So I’m leaving it aside. You all know, though, that adding one comment is not an excuse to run 20 minutes of unit tests…again.
- “Meeting time”
- “Github (or internal source code control system) is down”
- “Operating system updates”
- “Visual Studio/Eclipse/Xcode”
- “Latest SDK/Compiler/Runtime”
- “Docker update”
- “Waiting for an answer on Stackoverflow”
- “The build is broken (not me!)”
- “Need to fix this one (low priority) bug first”
- “Just a quick peek at Hacker News” and of course…
- “Gonna need some caffeine before I start!”
btw — The answer for me today is “installing Visual Studio 2017!”
Have any of noticed that we now basically live in a world of Science Fiction? We’ve got electric cars, and self-driving cars; we have private companies building space craft and planning trips to Mars; we have the Pluto probe; we have drones…when I drive home on the freeway at night, I see drones flying over Lake Washington. Look at the advances in machine learning, voice recognition, image recognition…you can log into your computer using your fingerprint or by having the computer recognize your face. We have virtual reality and augmented reality. And of course we have the smart phone, which is basically the old Star Trek communicator…except much more advanced.
I’ve talked to a lot of my friends, and even my young friends…10-20, feel the rate of change has picked up in the last few years. I asked my 89-year old mother what was the biggest technological change she had seen in her lifetime. “Indoor plumbing” she answered. But after that, she said it was the cell phone. My mom does not use a cell phone. But her little-old lady friends and their kids and their kids all do, and mom thinks it has changed how people behave, how they interact with each other, more than any other technology she has seen in her lifetime.
I am an architect in the Azure Core team. Basically the Azure Core team writes the software the runs the Azure data centers, from low-level things like firmware for NICs to the basic fabrics for compute, networking and storage up to the public APIs for these most basic layers of the cloud…the IaaS layers basically. The APIs that let you create VMs, networks, blobs, and manage the infrastructure. The Azure Core team does build some verticals (like IoT), but generally, other teams in Azure build higher level, more vertical services on top of our horizontals: unsurprisingly the SQL team builds the Azure SQL service; another team in our database group builds our HDInsight Hadoop/Spark service; other teams build services for web sites and mobile backends; etc. all built on top of the low-level infrastructure services built by Azure Core.
So if Azure Core is the bottom of the stack, I work on the top of the bottom of the stack. I helped standardize our REST APIs, and was the architect for Azure Resource Manager, the latest version of our control plane APIs, as well as helping design the public APIs for some of our compute services. More recently, I have been focused on getting non-Microsoft technologies to work well on Azure: so I work with the Linux vendors to make sure Red Hat and Ubuntu work well Azure, and I’ve worked with Puppet, Chef, Docker, Hashicorp, Pivotal and others so that those systems can be used with Azure.