DEV Community

Chaesang Jung
Chaesang Jung

Posted on Originally published at ieumtech.net

Trade-off: The First Word I Was Told to Carry for Life

Before I understood what engineering was, a professor handed me a word to look up in a dictionary. I've been using it ever since.

A look back — long before any of the tools we argue about now.

Engineering, before I knew the word

In Korea, boys in middle school took a subject simply called "Technology," and high schools offered an elective called "Industrial Arts." Mine taught "Commerce" instead — so my entire pre-college image of engineering came down to a screwdriver, a few nails, and an AM radio kit I'd soldered together. No Lego that I can recall, but I remember playing with science kits, and blowing my allowance on Academy plastic models. The closest thing to "advanced study" was learning to read resistor values off their color bands — black, brown, red, orange, yellow, green, blue, violet, gray, white. That was the whole of my hardware education.

I walked into a computer engineering department without ever really asking myself what engineering was. What I noticed first, honestly, was the gender ratio: about one in ten classmates was a woman, which — after six years in all-boys middle and high schools — was its own small culture shock. Having women as classmates and seniors at all felt like news.

The first word

Our first major course was "Introduction to Computer Engineering," which in practice meant learning C. We could finally touch the machines at school; you did your homework in Turbo C and handed it in on a floppy.

I can't forget Professor Sang Lyul Min, one of the second class our department ever graduated. One day he said, "Let me give you a few fundamental words you'll need for the rest of your life." The first was trade-off. This was before the internet was something you could just search, so I went home and dug it out of a Korean–English dictionary, like a piece of slang I'd never heard.

From that one word I learned three things at once: that there's no free lunch; that this is exactly where engineering parts ways from science; and why the comparison with mathematics would keep coming back. The further I went into my career — and the more decisions I had to actually own — the more that word kept surfacing.

The word that kept coming back

It showed up in my algorithms course, the moment we started weighing time complexity against space complexity. It showed up again and again as I began reading papers, as a way of making sense of the world. If someone asked me today what engineering is — or made me pick a single word for it — I wouldn't hesitate.

I'd say: trade-off.


Adapted from my Korean essay on Brunch: brunch.co.kr/@chaesang/32

Top comments (5)

Collapse
 
chaesang profile image
Chaesang Jung •

Sorry for the slow reply — traveling these weeks, so updates are spotty.

And sorry your comment got eaten — for what it's worth, this thread got me actually doing AoC properly, and I'm enjoying it. The two cranes were a nice touch: same moves, different machine, different answer.

Since your monster only exists as a screenshot, I'm building my own generator at the same scale — six stacks, tens of thousands of crates, move counts like yours. Same shape, fully reproducible. Playing with the (large) test data by itself is annoying though.. :(

One thing before the numbers: if we're talking 'trade-off' in the narrow sense, I'd start by clarifying which one we're sacrificing first — e.g. time or space or even with some sort of clarifications ahead. Comparing apple to orange may not work though... Once LC style works, I'll playing with the numbers with my Macbook.

Collapse
 
chaesang profile image
Chaesang Jung •

ygritte — straight answer, late: no benchmark. The writing queue swallowed my
summer and it never got started. Let's call the challenge closed rather than
leave it hanging.

The part I kept is the one that mattered: the word "crane" set the scale before
I could, so move 16172 stayed outside what I let myself picture. Bounded
stacks, unbounded moves. That's stayed with me.

If you're doing AoC this December, I'll take a day alongside you. Thanks for the
nudge, and the patience.

 
chaesang profile image
Chaesang Jung •

Ha — you got me, and I love why. The word "crane" quietly capped my imagination at maybe ten crates. I pictured a physical machine, so "move 16172" was simply outside what I let myself imagine — crane, therefore real, therefore small. That was the trap.

That's about as human a way to lose as it gets: the word set the scale before I could. Well played. :)

 
chaesang profile image
Chaesang Jung •

A few thoughts.

  • First — thanks for the nudge toward Advent of Code. I hadn't really gotten into it before, and it's a fun rabbit hole. Glad you pointed me there.
  • As for the "how" — honestly, mine might be a small letdown for the ASCII-Mona-Lisa hope, and that's kind of my answer.
  • When I talk through a problem like this, I reach for Python and just poke at it interactively. It's my thinking-out-loud language.
  • Code-as-art has never been a trade-off for me. The moment someone else has to read my code, readability isn't something I'd trade away — so I've honestly never even considered it. That's just not where my trade-offs live.
  • Where they do live: what do I give up to actually solve the problem? For most of my career it came down to the same triangle — money, execution time, memory. It's very hard to get all three.
  • Fun fact: for my Google interview I prepped three sessions on recursion. In the 15 years since, I haven't written a single line of it in real work.
  • And maybe that's the real reason I think this way: every line of code I write is left behind as debt.
Collapse
 
chaesang profile image
Chaesang Jung •

Sure, I'd love to hear it — I'm curious. 😄