The Return of the Legendary Programmer – Chapter 4: Office Hours

Prev4 / 65Next

Chapter 4: Office Hours

Professor Kim Taesik’s office smelled like paper and regret.

That wasn’t a metaphor. The paper smell came from the floor-to-ceiling bookshelves that lined three walls, crammed with journals, conference proceedings, and textbooks in Korean, English, and Japanese, many of them dog-eared and bristling with Post-it notes. The regret smell came from a coffee machine in the corner that had clearly been purchased with good intentions and then abused beyond all mechanical dignity—its filter was black, its carafe was stained brown, and the coffee it produced tasted like someone had boiled a tire in battery acid.

Dojun accepted a cup anyway, because refusing Professor Kim’s coffee felt like refusing a test.

“Drink,” Kim said, settling into his desk chair. “It puts hair on your chest.”

“I can feel it working already,” Dojun said, trying not to wince.

Kim almost smiled. Almost. “You read the papers I gave you?”

“All four. I have the summaries.” Dojun pulled a folder from his backpack and set it on the desk. Four pages, one per paper, written in careful handwriting that he had deliberately made slightly messier than his natural style. A sixty-three-year-old’s handwriting was too precise, too controlled. A twenty-year-old’s should have character.

Kim picked up the first summary and read it in silence. Then the second. By the third, his eyebrows had risen to a height that Dojun suspected was unusual for a man who prided himself on professorial composure.

“You wrote this?” Kim said.

“Yes, Professor.”

“This isn’t a summary. This is a critique. You identified a flaw in Hennessy’s branch prediction model that I didn’t catch until my third reading.” He set down the paper and looked at Dojun over his glasses. “A flaw that I’m not sure the author himself has caught.”

Dojun’s stomach tightened. He had been too thorough. In his previous life, he had spent two years working on branch prediction at Prometheus Labs, and the flaw in Hennessy’s 2005 model was something his team had discovered and published a correction for in 2014. The insight was second nature to him now—but it shouldn’t have been second nature to a twenty-year-old undergraduate.

“I—may have overthought it,” he said carefully. “I wasn’t sure if the criticism was valid. That’s why I phrased it as a question.”

Kim read the passage again. “‘Could the author’s assumption of uniform distribution in BTB entries lead to systematic misprediction under workloads with bimodal branch behavior?'” He looked up. “That’s not a question, Park. That’s a research hypothesis. Graduate students write dissertations starting from questions like this.”

“I was just following the logic of the paper—”

“Stop.” Kim held up a hand. “I’m not accusing you of anything. I’m trying to understand what I’m looking at. You’re a sophomore who reads ArXiv, understands Von Neumann bottlenecks at a graduate level, and just identified a non-trivial flaw in a paper published by one of the top computer architects in the world.” He leaned back in his chair. “Either you’re the most naturally gifted student I’ve encountered in twenty years of teaching, or something else is going on.”

The silence in the office was very loud.

“I read a lot,” Dojun said. It was becoming his default answer, and he could hear how thin it was getting.

“You read a lot,” Kim repeated flatly. He stared at Dojun for a long moment, then sighed and rubbed his temples. “Fine. Keep your secrets, Park. But I’ll tell you this: talent without context raises questions. If you’re going to be this good, you need a story that explains why. Because right now, the story doesn’t add up.”

Dojun felt a chill. Kim Taesik was giving him a warning, not a reprimand. Be careful. People will notice. People will ask.

“I understand, Professor.”

“Good.” Kim opened a desk drawer and pulled out a thick manila folder. “Now. The research project. I’ll be honest with you—I didn’t invite you here just because my previous assistant left. I invited you because you gave me the first interesting answer I’ve heard in a lecture hall in three years, and I wanted to see if it was a fluke.”

“Was it?”

“Based on these summaries? No. It wasn’t a fluke.” He slid the folder across the desk. “This is the project documentation. The Korean Electronics Technology Institute has a contract with us to optimize embedded processor designs for next-generation mobile devices. The budget is modest, the timeline is tight, and the work is unglamorous. But if we succeed, it will be published.”

Mobile devices. In 2006, “mobile devices” meant flip phones and PDAs. But Dojun knew—with the certainty of a man who had lived through it—that in eighteen months, Steve Jobs would stand on a stage in San Francisco and redefine the word “mobile” forever. The processors being designed today would be the ancestors of the chips that powered the smartphone revolution.

“What exactly needs optimizing?” Dojun asked.

“Power consumption during instruction cache misses. The current design wastes cycles on unnecessary memory fetches when the prediction buffer overflows. It’s a small inefficiency, but at scale, it eats battery life.” Kim tapped the folder. “I need someone to model the problem, propose a solution, and simulate it. The previous assistant had started the modeling but—” He paused. “He was competent. You might be better.”

“I’ll do my best.”

“Don’t do your best. Do good work. There’s a difference.” Kim stood up, signaling the end of the meeting. “Lab hours are Wednesday and Friday afternoons. You’ll share the lab with two graduate students—Soyeon and Jinwoo. Don’t bother them. They’re writing their theses and their tempers are short.”

“Understood.”

“One more thing.” Kim paused at his bookshelf, running a finger along the spines until he found what he was looking for. He pulled out a worn copy of Computer Organization and Design by Patterson and Hennessy—the same Hennessy whose paper Dojun had just critiqued. “Read chapter twelve. The section on power-aware design. And this time, try not to find a flaw that invalidates the author’s entire framework. I’d like to finish this project without having to call Hennessy and apologize.”

Dojun took the book. “No promises, Professor.”

Kim Taesik looked at him for a long moment, and then—for the first time—he smiled. It was a small, grudging smile, the kind a chess master gives when he realizes his opponent is better than expected.

“Get out of my office, Park.”

“Yes, Professor.”


The research lab was in the basement of the engineering building, a windowless room lit by buzzing fluorescents and dominated by three workstations that looked like they had been assembled from spare parts. Two of them were occupied.

Soyeon was a fourth-year master’s student with dark circles under her eyes and a thermos of coffee so large it could have qualified as a weapon. She looked up when Dojun entered, assessed him in approximately 0.3 seconds, and returned to her screen without a word.

Jinwoo, a second-year master’s student, was friendlier—or at least more curious. He was tall and thin, with glasses that he pushed up his nose every thirty seconds, and he had the nervous energy of someone who had consumed too much caffeine and not enough sleep for an extended period.

“You’re the new undergrad?” Jinwoo asked. “The one Kim Taesik personally recruited?”

“He didn’t personally—”

“He did. Trust me. Kim Taesik doesn’t recruit undergrads. He tolerates them. If he brought you in, it means he thinks you’re useful, which means you’re either very smart or very expendable.” He grinned. “Possibly both.”

“Comforting.”

“Welcome to academia.” Jinwoo gestured to the third workstation. “That’s yours. The keyboard sticks on the F and J keys, the mouse only works if you hold it at a fifteen-degree angle, and the monitor has a dead pixel cluster in the upper right that looks like a tiny constellation. We call it Orion.”

Dojun sat down and powered on the machine. It was a desktop running Linux—Ubuntu Dapper Drake, he noted with a pang of nostalgia. He had used this exact distribution in his first life, before switching to Red Hat in his professional years.

“What are you working on?” Jinwoo asked, leaning over to watch Dojun’s screen.

“Embedded processor optimization. Power consumption during cache misses.”

“Ah, the KETI project. Good luck. The previous guy spent four months building a simulation model and the results were garbage.” He lowered his voice. “Between you and me, Kim Taesik was not pleased. That’s the real reason the guy ‘left for Samsung.’ Samsung didn’t recruit him. Kim Taesik fired him.”

“Kim Taesik fires research assistants?”

“Kim Taesik fires people who waste his time. Don’t waste his time.” He pushed his glasses up. “Oh, and don’t touch Soyeon’s thermos. She bit the last person who tried.”

“Metaphorically?”

“I don’t want to find out.”

From across the room, Soyeon said, without looking up from her screen: “I can hear you, Jinwoo.”

“I know. I’m providing orientation for the new recruit. It’s a public service.”

“Tell him the WiFi password is ‘kimtaesik_is_god’ and leave him alone.”

“Is that really the password?” Dojun asked.

“No,” Soyeon said. “It’s ‘kimtaesik_is_always_right.’ He set it himself. No one has the courage to change it.”

Dojun typed in the password. It worked. He bit back a laugh and opened the project files that the previous assistant had left behind.

The simulation model was, as Jinwoo had warned, garbage. Not because the underlying logic was wrong—the previous student had understood the basic framework—but because the implementation was riddled with shortcuts and assumptions that collapsed under any non-trivial test case. It was the kind of code written by someone who understood the theory but had never dealt with real-world hardware constraints.

Dojun could fix it. He could fix it in a day, probably. He had spent years working on exactly this kind of optimization at Prometheus Labs, and the solutions were as familiar to him as his own heartbeat.

But fixing it in a day would be suspicious. So he opened a new file, started fresh, and began building the model at a pace that was brisk but believable—the speed of a gifted undergraduate, not a seasoned industry veteran.

This is going to be a long semester of pretending to learn things I already know, he thought. But at least the coffee is terrible. That part’s authentic.


Wednesday afternoon’s group project meeting was in the same study room as before. This time, Dojun arrived first.

He was reviewing his Dijkstra’s implementation—deliberately rough around the edges, with comments that a real sophomore would write (“TODO: optimize this part later,” “not sure if this edge case is handled right”)—when Hana arrived, slightly out of breath.

“Sorry. Studio critique ran over. Professor Ahn spent twenty minutes telling Jiyoung that her color palette ‘lacked emotional resonance.'” She dropped into a chair and pulled out her sketchbook. “Which is professor-speak for ‘I don’t like purple.'”

“Rough day?”

“Every day is rough in the design department. We get graded on feelings. At least in CS, your code either works or it doesn’t.” She opened the sketchbook. “Okay, look. I did the mockups.”

She turned the sketchbook toward him, and Dojun’s breath caught.

The mockups were hand-drawn, but meticulous. She had designed a campus map interface with a clean, intuitive layout—a central map view, a search bar, route options, and a sidebar showing context factors that users could toggle: weather, crowd level, accessibility needs. The visual style was warm and approachable, with rounded corners and a color scheme that felt distinctly Korean without being stereotypical.

But what struck Dojun wasn’t the aesthetics. It was the information architecture. She had organized the interface so that the most important decision—where you want to go—was front and center, while the complexity of the pathfinding algorithm was completely hidden. A user would never need to know that Dijkstra’s or A-star was running behind the scenes. They would just see a friendly map that told them the best way to get to the library.

“This is professional-level work,” Dojun said, and he meant it. He had seen worse designs from UX teams at billion-dollar companies.

Hana blinked. “You think so? The wireframes are pretty rough—”

“The wireframes are rough. The thinking isn’t. The way you’ve layered the context controls—weather, time, crowds—as optional toggles instead of mandatory inputs. That’s not just good design. That’s good product thinking.”

She looked at him with an expression he couldn’t quite read. “You sound like you’ve designed products before.”

“I’ve… thought about it. A lot. In theory.”

“In theory.” She tilted her head. “You’re always doing that. Talking like you’ve lived through something instead of just studied it.”

The observation landed like a punch. She was perceptive—more perceptive than he had given her credit for at twenty. In his previous life, he had dismissed her intuition as “just feelings” until she proved him wrong so many times that he couldn’t dismiss it anymore. By then, the damage was done.

“I have a vivid imagination,” he said.

“Mhmm.” She didn’t look convinced, but she let it go. “Where’s Minjae?”

As if on cue, the door burst open. Minjae entered looking windswept and slightly damp, carrying a laptop and a stack of printed spreadsheets.

“I walked every path on campus,” he announced, dropping into a chair with the exhausted triumph of a conquering general. “Every. Path. Including the one behind the chemistry building that goes through a bush. I have data for forty-seven routes between twenty-two buildings, with timing variations for morning, afternoon, and evening.”

“That’s incredible,” Hana said.

“That’s madness,” Minjae corrected. “I wore out my shoes. My mother asked me if I joined the track team. I told her I was mapping the campus for an algorithms project and she said, ‘That’s worse.'”

“Did you time the routes in rain?” Dojun asked.

Minjae stared at him. “It didn’t rain this week.”

“We could estimate rain penalties based on covered versus uncovered path segments,” Dojun suggested. “Assign a multiplier—say, 1.3x for uncovered paths in light rain, 1.8x for heavy rain.”

“Where are you getting those numbers?”

“Research on pedestrian walking speed in adverse weather conditions. There was a study at— ” He caught himself. The study he was about to cite had been published in 2019. “At a European university. I saw it in a journal. I’ll find the reference.”

“You read journals about walking speed in rain?” Minjae said. “For fun?”

“Doesn’t everyone?”

“No, Dojun. No one does that.”

Hana laughed. “I like it. Let’s use 1.3 and 1.8 as starting estimates. We can calibrate when it actually rains.” She pulled out a colored pen and started annotating her wireframes. “Dojun, how’s the algorithm?”

“Dijkstra’s is working. Basic graph, no context layer yet. I’ll plug in Minjae’s data and we can test basic routing by Friday.”

“And A-star?”

“Started. The heuristic function needs tuning—I’m using straight-line distance as the estimate, but campus paths don’t follow straight lines. There’s a lot of zigzagging around buildings.”

“Can you use the actual walking data as the heuristic instead of straight-line distance?” Hana asked.

Dojun paused. That was a surprisingly sophisticated question. Using precomputed shortest paths as a heuristic was a technique called ALT (A-star with Landmarks and Triangle inequality), and it was well-established in professional pathfinding. But it wasn’t taught in undergraduate algorithms courses.

“In theory, yes. But the heuristic has to be admissible—it can never overestimate the true distance. If we use actual walking data, we’d need to ensure the precomputed values are always lower bounds.”

“Could we use the shortest measured time for each route as the heuristic, even though the actual time might be longer due to context factors?”

“That would… actually work perfectly.” He stared at her. “How do you know about admissible heuristics? You’re a design student.”

“I told you. Don’t dumb things down for me. I read the textbook section you mentioned on Monday. The whole thing.” She shrugged. “I’m not going to design an interface for an algorithm I don’t understand. That would be like decorating a house you’ve never been inside.”

Minjae looked between them with the expression of someone watching a tennis match that had escalated beyond his comprehension. “I feel like I should be taking notes,” he said.

“Take notes on your walking data,” Hana said. “We’re going to need it structured as an adjacency matrix by Friday. Can you do that?”

“Adjacency matrix. Right. I definitely know what that is and am not going to Google it the moment I leave this room.”

“Dojun will explain it to you.”

“Happy to,” Dojun said. “It’s just a table where—”

“After the meeting,” Minjae said. “I can only absorb one terrifying concept at a time.”


After Minjae left—promising to deliver the adjacency matrix “or die trying, which at this point seems equally likely”—Hana lingered. She was packing her things slowly, which Dojun recognized as the universal signal for wanting to say something without wanting to initiate the conversation.

He gave her the opening. “Something on your mind?”

She zipped her bag, then unzipped it, then zipped it again. “Can I ask you something weird?”

“Sure.”

“When you talk about algorithms and systems and… all of this. You don’t sound like a student. You sound like someone who’s been doing this for years. And I don’t mean that as a compliment, exactly. I mean—” She searched for the right words. “It’s like watching someone play a piano piece they’ve performed a thousand times. Technically perfect, but there’s a layer of… I don’t know. Familiarity? That doesn’t match a twenty-year-old sophomore.”

The study room suddenly felt very small.

“You’re the second person to tell me that this week,” Dojun said. “Professor Kim said something similar.”

“What did you tell him?”

“That I read a lot.”

“And what’s the real answer?”

He met her eyes. In the fluorescent light of the study room, they were dark brown, almost black, with a clarity that he found difficult to look at directly—not because they were beautiful, though they were, but because they saw too much. Hana had always seen too much. It was what made her a brilliant designer and a terrifying partner.

“The real answer is that I think about this stuff all the time,” he said slowly. “Not just the coursework. The applications. What this technology could become. How it could change things. I’ve been thinking about it since I was a kid, and I have… a very clear picture of where it’s all going.”

It was the most honest thing he could say without telling her the truth.

“A very clear picture,” she repeated. “That’s an unusual phrase. Most people our age are figuring out what they want to eat for dinner, not where technology is going.”

“Most people our age haven’t spent their entire lives staring at a computer screen.”

“Is that a point of pride or a confession?”

“Both, probably.”

She studied him for another moment, then slung her bag over her shoulder. “You’re interesting, Park Dojun. And I don’t say that often.” She paused at the door. “Just—don’t edit yourself too much around me, okay? I can tell when people are holding back, and it drives me crazy. If you have an idea, say it. Even if it sounds insane. Especially if it sounds insane.”

“I’ll try.”

“Don’t try. Do.” She smiled. “See you Friday for testing?”

“Friday.”

She left. The study room was quiet again, except for the fluorescent lights’ persistent hum and the distant sound of someone in the next room arguing about whether Starcraft’s Terran or Protoss was more overpowered.

Dojun sat still for a long time.

Don’t edit yourself too much around me.

She had said almost the exact same thing to him twenty years from now, in the conference room of Prometheus Labs’ first real office, during the fight that had cracked their partnership wide open. “You’ve been editing yourself around me for ten years, Dojun. I don’t even know who the real you is anymore.”

He hadn’t understood what she meant then. He understood now.

This time, he thought, I’ll let her see. Not everything—not the impossible truth—but enough. Enough to be real.


That night, Dojun sat at his Compaq Presario and opened a new file. Not the research project, not the group assignment, not the contest preparation. A personal file.

Things I’ve observed (Week 2):

1. Professor Kim is suspicious but supportive. He’s given me a warning: be good, but have a story for why you’re good. I need to build a credible backstory for my knowledge. MIT OCW covers some of it. Self-study covers some more. But I need to be careful about specifics—citing papers that haven’t been written yet, techniques that haven’t been discovered.

2. Hana is perceptive. More perceptive than I remember. She reads people the way I read code—pattern matching, anomaly detection. She’s already noticed that I don’t talk like a student. I need to either explain that convincingly or stop trying to hide it.

3. The coding contest is in two weeks. Seokho is registered. This is earlier than our first meeting in the original timeline. I don’t know what this changes. Maybe nothing. Maybe everything.

4. The KETI research project is an opportunity. If I solve the cache miss optimization, it gets published. A publication at twenty would be unusual but not impossible, and it gives me credibility that can’t be questioned.

5. I ate real food three times this week. Mom would be proud.

He saved the file and closed it. Then he opened the contest practice problems from the Korean Collegiate Programming Championship archives and started solving them.

Problem 1: Graph traversal. Solved in four minutes. A sophomore would take twenty.

Problem 2: Dynamic programming. Solved in six minutes. A sophomore would take forty-five.

Problem 3: String matching with suffix arrays. Solved in eight minutes. Most sophomores would not solve it at all.

He deleted his solutions and solved them again, slower. Adding pauses. Trying wrong approaches first. Building in the organic messiness of genuine problem-solving.

It was like a concert pianist practicing scales with deliberate wrong notes.

Outside his window, Seoul hummed its nighttime song—traffic, distant music, the occasional shout of a delivery driver. March was fading into April. The cherry blossoms would bloom soon, coating the campus in pink petals that stuck to everything and turned the pathways into impressionist paintings.

Two weeks until the contest. Two weeks until he faced Jang Seokho for the first time.

Dojun cracked his knuckles—his young, pain-free, impossibly responsive knuckles—and kept typing.

The cursor blinked. The code flowed. And somewhere in Daejeon, at KAIST, a young man named Jang Seokho was probably doing exactly the same thing, alone in a lab at midnight, writing code that was almost—but not quite—as good as the code Dojun was deliberately making worse.

They hadn’t met yet. But the collision was coming.

And this time, Dojun intended to make it count.

4 / 65

Leave a Comment

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

Scroll to Top