The Return of the Legendary Programmer – Chapter 3: Hello, World

Prev1 / 65Next

Chapter 3: Hello, World

Dojun ran five kilometers on Monday morning, and it nearly killed him with joy.

Not literally—his twenty-year-old body handled the run effortlessly, legs pumping with a spring and power that felt almost obscene after decades of decay. But the sheer sensation of it, the cold March air burning in his lungs, the slap of sneakers on the campus track, the sweat breaking clean and easy across skin that hadn’t known arthritis or chemotherapy or the slow betrayal of aging—it was so overwhelming that he had to stop at the two-kilometer mark and bend over, hands on knees, laughing and crying at the same time.

A pair of students jogging past gave him a wide berth.

“You okay, man?” one of them called.

“Never better,” Dojun gasped. “Never better in my life.”

Which was, technically, true twice over.

He finished the run in twenty-three minutes—a pace that would have been unremarkable for any fit twenty-year-old but felt to Dojun like flying. His previous body, the sixty-three-year-old one, had struggled to walk from the bed to the bathroom. This body wanted to sprint, to climb, to devour the world in great physical gulps.

After the run, he showered in the dormitory building’s communal bathroom (cold water—the boiler was broken again, a detail his memory had mercifully suppressed) and stood in front of the foggy mirror, studying his reflection.

Park Dojun, twenty years old. Sharp jawline that he would lose to middle-aged softness in his forties. Dark eyes that his mother said reminded her of his father, though she never said much else about the man who had left when Dojun was three. Hair that was thick and black and slightly too long because he always forgot to get it cut. A face that was unremarkable in every way—not handsome, not ugly, just… there. The kind of face that disappeared in crowds.

In his previous life, that invisibility had been a liability. In boardrooms and pitch meetings and TED stages, people expected visionaries to look the part. Dojun never did. He had compensated with his code—let the work speak, let the products speak, let the revenue speak—but there had always been a gap between what people saw and what he actually was.

Maybe this time, he thought, the gap works in my favor. Nobody expects the quiet kid to change the world.

He got dressed—jeans, a gray hoodie, sneakers that had been cheap when they were new—and headed toward campus. It was 8:40 AM. His Algorithms class started at nine.

And at some point today, he would meet Lee Hana for the first time.

Again.


The Algorithms lecture was held in the computer science building’s largest classroom, a tiered room with uncomfortable plastic chairs and a projector that had a permanent green tint on the left side of the screen. Dr. Yoon stood at the front, small and precise, writing pseudocode for Dijkstra’s shortest path algorithm in handwriting so neat it looked printed.

“The key insight of Dijkstra’s algorithm,” she said, tapping the board, “is the greedy choice property. At each step, we select the unvisited node with the smallest known distance. Can anyone tell me why this greedy approach actually produces an optimal solution?”

Silence. The kind of silence that meant everyone knew the answer was in the textbook but nobody had done the reading.

Dojun waited a beat, then raised his hand. He had made a rule for himself: participate enough to be noticed, but not so much that he became the guy who always had the answer.

“Park?”

“Because we’re using a min-priority queue with non-negative edge weights,” he said. “Once a node is visited with the shortest distance, no future path through unvisited nodes can produce a shorter distance to that node. The greedy choice is safe because you can’t improve on it later.”

Dr. Yoon nodded, the faintest hint of approval crossing her face. “Correct. And this is also why Dijkstra’s algorithm fails with negative edge weights—the greedy assumption breaks down. Keep that in mind for the exam.”

From three rows behind him, someone whispered to their neighbor: “Is that the guy who made Kim Taesik stop lecturing?”

“Yeah. Park Dojun. Apparently he reads MIT papers for fun.”

“Nerd.”

“A scary nerd.”

Dojun suppressed a smile. Reputation was currency in academia, and his was accumulating faster than he had planned. He needed to dial it back. But it was hard to pretend ignorance when the material was so fundamental that answering felt like breathing.

The lecture ended at 10:30. Students packed up in the usual rush—some heading to their next class, others to the cafeteria, a few to the PC bang across the street where StarCraft and Lineage beckoned with the siren song of procrastination.

Dojun stayed in his seat and checked his flip phone. One new message from Minjae:

Meet at the student union building, second floor study room 3. 11:00. Hana confirmed. See you there!

Thirty minutes. He had thirty minutes to prepare for a meeting with a woman he had spent four decades loving, losing, regretting, and never quite getting over.

It’s a group project meeting, he told himself sternly. About algorithms. Not about your previous life’s romantic failures. Get a grip.

He got a coffee from the vending machine in the hallway—canned, sweet, barely caffeinated, tasting like liquid nostalgia—and walked to the student union building.


Study room 3 was a glass-walled box barely large enough for four people, furnished with a wobbly table and chairs that had been vandalized with pen marks and sticker residue from a hundred previous study sessions. Minjae was already there, a stocky kid with a buzz cut and a backpack covered in anime pins. He was arranging notebooks on the table with the nervous energy of someone hosting a dinner party.

“Dojun! You came!” He said this with genuine surprise, as if he had expected to be stood up.

“You invited me,” Dojun said, sitting down.

“Yeah, but you have this vibe, you know? Like you’d rather be anywhere else. No offense.”

“None taken.” It was accurate. In his first life, he would have rather been anywhere else. Group projects meant dealing with people, and people were unpredictable, illogical, and maddeningly slow. He had once rewritten an entire team’s semester project overnight because he couldn’t stand waiting for them to debug their own code.

Different this time, he reminded himself. People are the point, not the obstacle.

“So the project is designing a pathfinding algorithm for a campus navigation system,” Minjae said, pulling out a printed assignment sheet. “Dr. Yoon wants us to implement Dijkstra’s and A-star, compare performance, and build a simple UI for—”

The door opened.

“Sorry I’m late! The design building is on the other side of campus and my professor wouldn’t stop talking about color theory.”

Lee Hana walked into the study room like a small, contained hurricane. She was carrying a laptop bag, a sketchbook, two bottles of water, and what appeared to be a half-eaten sandwich, all balanced with the precarious confidence of someone who was perpetually carrying too many things and refusing to make two trips.

She was twenty years old. Her hair was shoulder-length, dyed a subtle brown that Korean university regulations technically prohibited but everyone did anyway. She was wearing a denim jacket covered in hand-drawn patches—a cartoon cat, a pixel art heart, the Firefox logo—over a white t-shirt that said DESIGN IS HOW IT WORKS in bold Helvetica.

She was exactly as he remembered and nothing like he remembered, all at once.

“Hi! I’m Lee Hana. Design track, sophomore. You must be Park Dojun?” She dropped her things on the table with a thud, stuck out her hand, and smiled.

Her smile. That was the thing he hadn’t been prepared for. Not because it was beautiful—though it was—but because it was open. Unguarded. The Hana he had known in his previous life had developed a careful, professional smile over the years, the kind that reached exactly as far as she wanted it to and no further. This smile had no such calibration. It was the smile of someone who hadn’t yet learned that the world would punish her for being too trusting.

Dojun shook her hand. Her grip was firm, her palm warm.

“Nice to meet you,” he said, and was proud of himself for keeping his voice steady.

“Minjae told me you made Professor Kim Taesik speechless in lecture. Is that true?”

“That’s an exaggeration. He just asked me a question and I answered it.”

“He says Kim Taesik literally sat down next to you afterward. Kim Taesik doesn’t sit next to students. Kim Taesik sits behind a desk and judges you from a position of architectural superiority.” She pulled out a chair and sat down with the casual authority of someone who had no trouble talking to strangers. “So either Minjae is lying, or you’re very interesting. Which is it?”

“Minjae is… slightly embellishing.”

“I’m not!” Minjae protested. “Hyunwoo was there. He saw the whole thing. Kim Taesik came up to your row and sat in the seat next to you like you were equals. That doesn’t happen. That has never happened.”

“Fine,” Dojun conceded. “He asked me about processor architecture. I gave a detailed answer. He was surprised a sophomore knew about it. That’s all.”

Hana studied him. It was an evaluating look, not hostile but thorough—the look of a designer who assessed everything and everyone through the lens of form and function. “You’re the quiet type,” she said. It wasn’t a question.

“I guess.”

“Quiet types are usually one of two things. Either they have nothing to say, or they have too much to say and they’re editing.” She tilted her head. “Which are you?”

The question hit closer than she could have known. Dojun had forty years of things to say, most of which would make no sense to anyone in this room, this decade, this version of reality.

“The second one,” he said.

“Good.” She grinned. “Because I need a CS partner who can actually think, and Minjae told me you’re the smartest person in the department who nobody’s heard of.”

“That’s—I wouldn’t say—”

“I would,” Minjae said firmly. “You answered a question that none of the seniors could answer, in a class you were sleeping in. That’s either genius or insanity.”

“Can’t it be both?” Hana said, pulling out her sketchbook. “Okay, let’s talk about this project. Campus navigation system. Pathfinding algorithms. I’m handling the UI and user experience. Which one of you is handling the algorithm implementation?”

“I can do that,” Dojun said.

“Great. And Minjae?”

“Data collection and testing. I’ll map the campus—walking distances between buildings, paths, obstacles.”

“Perfect.” Hana flipped open her sketchbook and uncapped a pen. “So here’s my vision. Most campus navigation apps—the ones that exist—are basically Google Maps with a campus skin. They show you the shortest path. But that’s not what students actually need. Students need the best path.”

“What’s the difference?” Minjae asked.

“Shortest path is pure distance. Best path factors in things like: Is it raining? Then route around the uncovered areas. Is it between classes? Then avoid the main walkway because it’s a human traffic jam. Is it Tuesday? Then the engineering building’s side entrance is locked for maintenance.” She was sketching as she talked, quick fluid lines that turned into a rough wireframe of a mobile interface. “Nobody wants the mathematically optimal route. They want the human optimal route.”

Dojun stared at the sketchbook. The wireframe was rough, but the thinking behind it was sharp. She had identified, at twenty years old, the exact insight that would make Prometheus Labs’ first product successful—the gap between what algorithms optimized for and what humans actually needed.

In his previous life, it had taken her years to articulate this principle clearly enough to build a company around it. Here, in a study room, as a sophomore, she was already there.

She was always this brilliant, he realized. I just didn’t see it because I was too busy thinking my code was the only thing that mattered.

“That’s a great concept,” he said. “But the assignment only requires Dijkstra’s and A-star. Dr. Yoon isn’t asking for contextual pathfinding.”

Hana looked up from her sketchbook. “Dr. Yoon is asking for a campus navigation system. She didn’t say we have to make a boring one. What if we implement the basic algorithms as required, but add a context layer on top? We can use Dijkstra’s for the base path and A-star with a modified heuristic that accounts for real-world factors.”

“The heuristic function would need weighted parameters for each context variable,” Dojun said, his mind already building the architecture. “Rain, time of day, crowd density, building access schedules. We’d need data for all of that.”

“That’s Minjae’s job.” She pointed her pen at Minjae, who looked both excited and terrified.

“I… guess I’m making a campus database now?” Minjae said.

“You’re making the best campus database SNU has ever seen,” Hana corrected. “Think of it as your legacy.”

Minjae laughed. “My legacy is a spreadsheet of walking times between buildings in the rain. My mother would be so proud.”

“Your mother would be right to be proud,” Hana said, and she said it with such genuine warmth that Minjae’s laugh turned into a surprised, pleased smile.

That was her gift. Dojun had forgotten—or rather, had taken for granted until it was gone. Hana didn’t just design interfaces. She designed interactions. She made people feel seen, valued, capable of things they hadn’t imagined. She could walk into a room of strangers and, within five minutes, turn them into a team that believed they could do something extraordinary.

She had done it with Prometheus Labs’ first ten employees. She had done it with investors, with skeptics, with an entire industry that didn’t believe a Korean startup could compete with Silicon Valley.

And she was doing it now, at twenty, in a glass-walled study room, with a nervous anime fan and a time traveler who was trying very hard not to stare at her.

“So we’re agreed?” Hana said. “Basic algorithms as required, plus a context layer that makes Dr. Yoon’s jaw drop?”

“Agreed,” Dojun said.

“Agreed,” Minjae said.

“Good. Now, Park Dojun—” She turned to him, pen tapping against her sketchbook. “I need to understand the technical constraints before I design the interface. Can you walk me through how Dijkstra’s and A-star actually work? I’m a design student. I know the concept, but I need to understand the mechanics so my UI decisions don’t conflict with the algorithm’s logic.”

“Right now?”

“Right now. Teach me.” She crossed her arms and leaned back. “And don’t dumb it down. I hate when CS people dumb things down for designers. If I don’t understand something, I’ll ask.”

He almost smiled. In his previous life, this exact conversation—Hana demanding that he explain the technical foundations without condescension—had happened a hundred times. It was how she operated. She didn’t want to be shielded from complexity. She wanted to understand it, internalize it, and then translate it into something human.

“Okay,” he said. “Imagine the campus is a graph. Every building is a node. Every path between buildings is an edge with a weight—the walking time.”

“Graph. Nodes. Edges. Weights. Got it.”

“Dijkstra’s algorithm starts at your current location and explores outward, always choosing the nearest unvisited node first. It’s guaranteed to find the shortest path, but it’s blind—it doesn’t know which direction the destination is. It checks everywhere equally.”

“Like searching every room in a building when you’re looking for one person.”

“Exactly. A-star is smarter. It uses a heuristic—a guess—about how far each node is from the destination. So instead of checking everywhere equally, it prioritizes nodes that are closer to where you want to go.”

“Like asking someone for directions instead of checking every room.”

Dojun paused. It was a perfect analogy—not technically precise, but intuitively correct, the kind of translation that made abstract concepts click for non-technical people. In his previous life, he would have corrected her (“Well, it’s not exactly like asking for directions, because the heuristic is an estimate, not actual information—”). Now, he recognized the brilliance of it.

“That’s… a really good way to put it,” he said.

“I’m a designer. Making complex things understandable is literally my job.” She was sketching again, this time drawing nodes and edges in her own style—buildings represented as cute little icons, paths as dotted lines. “So our context layer modifies the weights on the edges. Rain makes outdoor paths heavier. Crowd density makes popular routes heavier. Building schedules remove edges entirely if a door is locked.”

“That’s exactly right.”

“See? Not that hard.” She looked up and caught him staring. “What?”

“Nothing. I just—” I just spent thirty years wishing I had listened to you more. “I think this project is going to be fun.”

“Fun?” Minjae looked skeptical. “It’s an algorithms assignment.”

“Algorithms can be fun,” Dojun and Hana said simultaneously.

They looked at each other. Hana laughed—a bright, startled sound, like a bell struck unexpectedly.

“I think we’re going to get along, Park Dojun,” she said.

We did, he thought. For a while. Until I ruined it.

“I think so too,” he said.


They spent another hour in the study room, dividing tasks and setting deadlines. Hana was organized in a way that surprised Dojun—not the rigid, spreadsheet-driven organization of a project manager, but an organic, visual organization built around sketches, color-coded notes, and a timeline drawn as a winding road map with milestones marked as little flags.

“I’ll have the UI mockups ready by Thursday,” she said, packing up. “Minjae, can you get the initial campus data by then? Walking times between at least the ten main buildings?”

“I’ll try. Some of those buildings are far. I might need to actually walk them.”

“Exercise is good for you.”

“I’m a computer science student. Exercise is my enemy.”

“Then consider this a peace negotiation.” She swung her bag over her shoulder and turned to Dojun. “And you?”

“I’ll have the base Dijkstra’s implementation ready by Thursday. A-star by next Monday.”

“Both that fast?”

He caught himself. Too confident. “I mean, a rough version. It won’t be optimized.”

“Still impressive.” She gave him that evaluating look again. “You know, Minjae wasn’t kidding about the Von Neumann thing. People are talking about you.”

“I’d rather they didn’t.”

“Too late. The CS department is small. News travels fast.” She paused at the door. “For what it’s worth, I think it’s good. This department needs someone who actually thinks, instead of just memorizing textbooks and regurgitating them on exams.”

“That’s a bold thing to say about a department you’re not even in.”

“I’m a designer. Bold is in the job description.” She smiled—that open, unguarded smile—and left.

Minjae waited until the door closed, then turned to Dojun. “So.”

“So what?”

“You like her.”

“What? No. I just met her.”

“Dude, you were staring at her like she was the last bowl of ramyeon on earth. I’ve never seen anyone listen that hard to a description of UI wireframes.”

“I was being polite.”

“You were being smitten. But hey, I don’t blame you. She’s cool. Way out of our league, but cool.” Minjae stood up and slung his anime-pin backpack over his shoulder. “Wednesday, right? Same time?”

“Wednesday.”

Minjae left. Dojun sat alone in the study room, surrounded by the ghost of Hana’s perfume—something citrusy that she would switch to lavender in her thirties—and the echo of her laugh.

I’m in trouble, he thought.


That evening, Dojun sat in his apartment with his laptop open to two windows. The left window showed Eclipse, where a clean Dijkstra’s implementation was taking shape in Java—clean but deliberately imperfect, with room for visible improvement that he would introduce “gradually” over the next week. The right window showed the SNU Coding Contest registration page.

The contest was in two and a half weeks. Registration closed Friday. The format was standard competitive programming: five problems in three hours, ranked by number of problems solved and time taken. Individual entries only.

He scrolled through the list of registered participants. Eighty-seven names so far. Most were CS sophomores and juniors looking for resume padding. A few seniors. And one name that made Dojun’s fingers pause on the touchpad.

Jang Seokho. KAIST, Computer Science. Third year.

Seokho. Here. Not at SNU—the contest was open to all Korean universities—but registered and presumably planning to compete.

In his previous life, Dojun had never faced Seokho in a coding contest. By the time their paths crossed in the industry, they were both established—Dojun as the founder of Prometheus Labs, Seokho as the technical architect behind half of Samsung’s AI infrastructure before striking out on his own. Their rivalry had been professional, played out in patent filings and keynote speeches and the quiet, ruthless chess game of competing for the same talent pool.

But in 2006, Seokho was twenty-one, a junior at KAIST, and already legendary in competitive programming circles. He had won the Korean Collegiate Programming Championship twice. He was rumored to type 180 words per minute and solve dynamic programming problems in his head while eating lunch.

Dojun stared at the name on the screen.

You’re not supposed to meet him yet, a cautious voice said. The plan was to build slowly, stay under the radar.

Plans change, another voice answered. And maybe it’s better to know your rival early.

He clicked the registration button and filled in his information. Name: Park Dojun. University: Seoul National University. Year: Second. Expected graduation: 2008.

His finger hovered over the submit button.

Winning this contest would put him on the map. It would give him prize money, credibility, and Professor Kim’s respect. But it would also put him directly in Seokho’s line of sight, years before they were supposed to meet.

Every action had consequences. Every butterfly had a hurricane.

He pressed submit.

The screen refreshed. Participant #88: Park Dojun, SNU.

His phone buzzed. A text from his mother: Don’t forget to eat dinner. I put extra sesame oil in the container. Use it on rice, not ramyeon. Ramyeon doesn’t deserve sesame oil.

He laughed, opened the container she had given him on Saturday—the sesame oil was golden and fragrant, handmade by one of the market vendors she had known for twenty years—and drizzled it over a bowl of plain white rice.

It tasted like home. Like second chances. Like a mother’s love translated into food because words were never quite enough.

On the laptop screen, the contest registration page stared back at him. Participant #88. And somewhere on that list, participant #34: Jang Seokho, KAIST.

Two and a half weeks. That was how long he had before the first collision with the man who would become his greatest rival.

Dojun closed the laptop, finished his rice, and began to prepare.

1 / 65

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top