You Can't Automate What You Don't Understand

Published December 23, 2023 · 771 words · 4 minute read

Problems make the world go ‘round. Problems are how engineers stay employed. Technologists love to prepare to solve problems, and what I have come to realize now is that it is rare that a problem worth solving will come to you if your head is buried strictly in the landscape of engineering, programming, and technology. Problems are out there in the real world.

The unsettling news here for programmer types is this: if you want to make the best of your skillset and apply it to problems that are truly worth solving, you’ll need to make friends in other domains.

There will always be excellent ongoing research and application in languages, compilers, development and analysis tools - but we sent man to the moon in the 60s, and though computers are orders of magnitude more beautiful and powerful than they were back then, the computing paradigms and fundamental tool that is the computer remains the same.

There are a few fundamental domains, and thousands of sub-fields that you may be out of touch with if all your friends are engineering types:

  • Finance, Banking, and Traders
  • Business, Sales, and Advertising
  • Medicine and Medical Technology
  • Political Science and Public Policy
  • Mathematics and Statistics
  • Psychology and Social Sciences
  • Law, Crime, and the Justice System
  • Researchers in Chemistry and Biology
  • Agriculture, Forestry, and Ecology
  • Theology and Philosophy
  • Education and Social Work
  • Public Urban Planning and Tourism
  • Film, Television, and Entertainment

If you are a technologist, take a moment to think about your closest friends and all your acquaintances; does your network bridge problem spaces? Does you or somebody in your friend group have enough information to form a bigger picture?

Critically, if you have isolated yourself from all these other practices, you may be short-changing yourself of valuable opportunities, experiences, and insights. If you are still an undergraduate, I would highly recommend trying to make some of these friends and connections while still in school!

Here’s the real problem with lacking these connections: You cannot automate what you do not understand. A past girlfriend once told me that I couldn’t spend all my time sitting in a room programming my own things and hoping that one day Google would call me and offer me the opportunity of a lifetime out of the blue. To be known, you must be responsible for something important, and to find those important problems, you need to seek out people with problems. Whatever you build to solve your personal problems, like the lisp wizards of yore, the solutions will likely only apply to a niche of one.

All the talent in the world can be in your fingertips, and it won’t mean anything unless you successfully network or are networked via others to domain specific knowledge and the corresponding issues in that space.

By no means am I knocking learning or honing technical skills, on the contrary - you need to understand your tools to get the job done. I wish to stress that learning these skills is useless unless they are successfully paired with real world problems. Most startups twist and contort themselves to find market fit after building the first version of their product because they set out to solve a problem that was misunderstood due to a lack of market research. Broadening your view by making friends with experts in a variety of domains helps to eliminate these blind spots.

At this point in the article I should introduce the idea of a supernode: a person that exists above and between networks and is able to bridge gaps and connect people in entirely different camps. Often these types have a magnetic personality and their charisma makes conversations with them interesting and effortless. Finding supernodes (or becoming one,) enables the types of interdisciplinary conversations that technologists must have in order to find, assess, and solve useful real-world problems. If you do not have the social capabilities to build a social network that reaches to all of these domains, find yourself a friend that is a supernode.

To wrap up: poke a few holes in your echo chamber. Be a little adventurous. Make friends in school while it’s easy, and don’t be afraid to stay connected with people who aren’t exactly like you, but still strive for excellence. Most importantly, the alternative perspective that professionals in other domains can provide is invaluable in preventing you from repeating mistakes that are already well understood in a given domain. It took me far too long to learn this lesson, and I hope I can pass it along to other aspiring engineering students before they learn the hard way like I did!