Deep Skills

The ability to drill down into the minute details and still understand how they impact the whole is, in my estimation, one of the greatest skills that an engineer can have regardless of engineering specialty.

Peter Christian Fraedrich

--

This post was originally published at https://www.peterfraedrich.com/deep-skills/

Photo by Paul Becker / Unsplash

With a single blog post, Netflix showed the world that they have probably the best engineering team on the planet. And I don’t think it’s even close right now. What they showed was an engineering team that is perfectly capable of operating at the usual layers of abstraction — cloud provider, instances, services, etc. — but still fully capable and competent enough to dive deep into the intersection of software and hardware, reason about how they interact, and find ways to improve performance at a very deep, very obtuse level. The ability to drill down into the minute details and still understand how they impact the whole is, in my estimation, one of the greatest skills that an engineer can have regardless of engineering specialty. And not only does Netflix’ tale of macro-to-micro engineering make for a compelling read it validates something I have been saying for a long time now: fundamentals matter.

Abstractions

Today’s computing landscape is made up of layers and layers of abstractions and obfuscation. Especially with the rise of public cloud providers and containerized workloads, less and less do we actually interact with the “primitive” systems that these abstractions are built on. This isn’t a bad thing — managing a fleet of just 20 virtual machines on a single bare-metal server is job enough without the automation, live migration, storage networks, monitoring, remediation, and everything else that goes into turning that single machine into one of many that make up a virtual machine service. Abstractions are incredibly useful and necessary; as the engineering landscape continues to complexify the only way to properly manage and understand it is to deal in abstractions. But those very abstractions have a negative effect as well: by hiding the underlying systems and processes its easy to forget the “how” and “why” of the way things work, and understanding those two facets of the systems you…

--

--

Peter Christian Fraedrich

Entrepreneur, software developer, writer, musician, amateur luthier, husband, dad. All opinions are my own.