Engineering

It’s not often that I’m struck by something on LinkedIn that makes me think. That sounds bad; let me rephrase: it’s not often that I’m struck by something on LinkedIn that leaves an impression that lingers in the back of my brain after I leave the page. Usually, it’s a celebration of folks getting new jobs, folks leaving old jobs, folks looking for jobs, and a smattering of posts recapping job-like events. Sometimes there are adages and platitudes and we can all resonate with that image of the bent tree that ultimately succeeded or whatever.

It’s Boxing Day, or the Day After Christmas, and I’m poking around corners of the internet while waiting for the Nth load of laundry and figuring out how I’ll keep myself occupied for the next few days (yes, privilege). And so I found myself scrolling on LinkedIn, for this post by Nick Costentino. I don’t know Nick, we are “once removed” via a connection I have (or perhaps more than one, that’s the nature of LinkedIn), but this title, and this post, stick in my brain: “As a Software Engineer, you don’t need to know everything.”

Nick goes on to illustrate that good software engineering is not about having all the answers and/or “just knowing”, it’s about problem solving and being resourceful. It’s about having the *framework* (not in the software sense but in the “I can wire my approach to this” sense) to identify and solve problems. And my off the cuff reaction (which I commented) was: this isn’t just for software engineering; this is for life.

Depending on your geography, family affluence, and other circumstances, you got an education in your formative years. That education may have had you learning cursive and doing geometric proofs and diagramming sentences and such, but for anywhere from 10 to 15 years you were formally trained in Things Society Felt You Should Know. A *good* education didn’t just leave it at that, a good education taught you how to work with circumstances that were not solvable by rote memory: what is the scientific method, after all, if not “f*ck around and find out”? The idea being that instead of churning you out at the end of high school or college/uni with everything in your brain and it being 100% “full”, you were instead armed with concepts, ideas, and a method of approach to solve problems and self-manage.

I am not saying that that is the way it is for everyone — “No child left behind” left a *lot* of kids behind, and the current systems in place are highly differential depending on socioeconomic factors. Broadly speaking, however, people come out of high school and/or further education with the impression that they should *already* know everything and it’s just a matter of grinding your way to the “top” (whatever top that may be). And that the path is set for one’s career, and intransigent.

Careers are fungible things, and so are brains.

You will not, ever, ever, ever know all the things. There will be edge cases, there will be corner cases, there will be So Many Times you are working with Not All the Information and frequently it will be because either someone you were relying on for it didn’t know or because some process or person thinks you didn’t need it. Or the systems in place were developed by someone who left five years ago, and no one can read their notes/handwriting (if indeed any were left). This isn’t just in the software engineering world: I have had the luxury of having a few different “careers” in the last 30 years, and in every one of them I can point to a circumstance in which the person who should have known everything (the Vet, the Pharmacist, the Travel Agent, the Manager, etc.) did not know everything and what we all had to work with were some clues and guidelines and our very best efforts. Anyone who has been handed the curveball of an unexpected medical expense, your car breaking down, mystery crumbs on your kitchen floor, or any myriad of things in Being an Adult in the World has experience with the “I don’t have all the information, but I have to deal with this” scenario.

Education is *a* foundation, from which your brain gets wired (with experience) on how to approach the crazy that life throws at you. May your frameworks be resilient and resourceful.