It must have been my fourth year working as a watercolor instructor in Jeju.
I started having real doubts about keeping this up.
Money-wise it was fine, but sharing the stress of exam prep with the students was starting to wear me down mentally, and the motivation I’d felt when I first started teaching kids had gradually drained away.
I made a big decision and quit the academy.
I still had debt — what was I even doing?
I don’t know either.
If I’d had a kid depending on me, I probably would’ve toughed it out, but I was young and arrogant and felt like I could do something else.
I went around painting murals with friends from school and pushed harder to promote the practice room, trying to land more recording sessions.
But the credit card debt Giyoon had dumped on me hit harder than I expected — I got hounded by collection calls until it finally reached my mom.
Back then a junior designer’s starting salary was around 20 million won a year, so it wasn’t small money by any stretch.
The one who saved me was my younger sister Moonhee.
She lent me the money she’d been saving for her wedding, and I started racking my brain over how to pay her back.
My older sister Eunhee had majored in information & communications and had been steadily building her career ever since — around that time she was working a contract job on the IT team at a public health center in Gangnam.
She heard about my dumb predicament and just plugged me into a vendor company she knew.
A company — an actual company, the kind where you put on a suit and go to work?
I never thought that would happen to me, but it did, and fast.
I’d done some drawing, sure, but I’d never designed anything in Photoshop, and my HTML experience amounted to opening and closing table tags.
A company — for someone who used to fall asleep at 9am and wake up at 4pm?
And yet, I guess humans really are creatures of adaptation, because within no time at all I’d evolved.
I became an office worker.
On my first day, Manager Kim Youngsu was sitting next to me.
Inside the company, he was known as the god of Java, and he was my mentor — the mentor assigned to a designer being the god of Java, of all things.
I’d come in as a designer, but before I knew it I was hearing about Tomcat this, Oracle that, JSP this, the Spring framework that.
Whatever it took, absorbing it all was my only way to survive, so I studied hard.
Every day I woke up a slightly different person.
My commute was a 30km BMX ride from Hongdae to Samseong-dong, sprinting there and back every single day, and I became part of the company just about as fast as that bike moved.
One day we had to update a banner on the Bundang health center’s website, but their point of contact ran into a problem, so we had to go handle it ourselves.
Access to internal networks was blocked entirely for security reasons, so we used a DMZ bypass server made by a company called TMAX — but the front-end work still had to be done by an actual person, on site.
It was just a health center, but as a government office it still had tight security.
I walked into the server room.
There was a 12-inch monitor, and the keyboard was a fixed unit mounted at chest height.
It was already crazy that a company would send a two-month-old new hire to do this, and it was just as crazy that I actually said
“sure, got it”
and went.
Anyway, all I had to do was upload one image and link it in the image tag by name.
That was it.
Open Notepad, open index.jsp, edit it, save, open Internet Explorer to check — that should’ve been the end of it.
Instead, the site was broken.
Huh?
What?
I opened the JSP again to check whether something had gone wrong with my edit, counting the number of <td> tags from the top down.
They clearly opened and closed, opened and closed — but there were so many <td>/<tr> tags that I lost track of how many I’d counted, and in my panic my head started spinning.
I actually started getting angry at that small, chest-high IBM keyboard.
Ah, I thought I’d found where a line break had gone wrong, so I closed it off with a <td>/<tr>, added a line break, and saved!
Argh!
Even more broken.
I reopened it and couldn’t even remember anymore what I’d changed.
Panic.
I mean real panic.
The more I opened it, the stranger the site kept getting, and I thought, is this really how it ends?
I’d imagined myself as some dapper IT guy who handles things cleanly and heads home looking sharp — instead I was some clueless private shaking like a leaf in a hoodie with the hood pulled down, not even sure what I was doing.
I had no choice but to call in my mentor.
“Manager, I’m screwed.”
“Huh, why?”
“This happened, then that happened, and now it’s like this.”
“Oh yeah? Okay, first reopen the file and set border=1 on the table right under the body tag. Then, near the spot you think is wrong, type anything into a <td> and save it — try that.”
“Huh? But this is live.”
“It’s fine.”
With the border on, the table structure became visible, and I could see the random text I’d typed sitting inside one of the cells — and right after it, I immediately spotted a <tr><td> with the wrong colspan value.
I reopened the file, deleted the text I’d typed in, fixed the attribute on the <tr><td> right below it, switched the border back to 0, saved, and checked — and just like that, like it was all a lie, everything was back to normal.
God, I was moved.
My mentor pulled me out of twenty minutes of flailing panic in just thirty seconds.
I’d never studied like that before — that was the first time I ever heard the word
“debugging,”
and I think that’s the day I started getting drawn into the mysterious inner workings of how programs actually run.
I think that’s the day I went home and installed Tomcat and Oracle on my laptop and started studying.
Back then, browser support for Korean fonts on websites was basically nonexistent, so every menu part — including the main menu — had to be crafted in Photoshop with a nice-looking Korean font, then saved one by one as hundreds of files like menu1.png, menu1_over.png, and so on.
That was just the industry standard.
Some places even built entire Flash menus by hand-animating hundreds of frames using static fonts — that was trendy too.
At first I just did what I was told, but instinctively I started questioning why I was spending three hours on a job that should take one minute.
Around then I heard that Macromedia Flash supported embedded fonts, and it occurred to me that if I hooked that up with ActionScript, dynamic menu generation might actually be possible.
It took what felt like months — studying ActionScript, structuring menus in XML, loading them in, building out two- and three-level deep menu structures.
Design took a back seat, and I couldn’t help but get completely absorbed in what Flash could do.