Actions

Work Header

UnboundLocalError

Summary:

An UnboundLocalError occurs when a variable is referenced before it is properly assigned — much like resentment, attraction, and whatever else starts happening between two coworkers who can’t stand each other.

Or

Zoro only agreed to work onsite because Nami gave him no choice.
Sanji only wanted backend to answer messages on time.
Neither of them expected that sharing a desk would become everyone else’s problem too.

Notes:

Hii, so I felt right to leave what some of the things used in this fic are in case anyone is curious, and to give a clearer idea of what the boys do.

Frontend is the part of a system that users actually see and interact with, while backend handles everything behind the scenes: data, logic, servers, and processes that make it work. Both depend on each other constantly — one gives structure to what appears on screen, the other makes that structure functional. In Zoro’s case, being DevOps means he also manages how the system runs and gets deployed, making sure updates move safely from development into production. A deployment pipeline is the automated process that takes code, tests it, and pushes it live, and a migration happens when part of a system is moved or rebuilt into a new structure without breaking everything already working.

(See the end of the work for more notes.)

Chapter 1: Syntax Error

Chapter Text

----------------------------------------------

 

The meeting was going the same as always, Zoro was laying on his bed, barely listening to Nami talking about unresolved tickets from last sprint, deployment delays, and why QA had flagged the same issue three times already.

 

He never turned his camera on, he worked remote for a reason, he didn’t want small talk, didn’t want anyone staring long enough to ask questions he had no intention of answering, he didn’t want to have to deal with annoying coworkers and everything else that came with working at an office, his computers were all he needed to complete his work after all.

 

He was about to leave the meeting, he really did not care about whatever they were talking about. He would just lie and tell Nami the Wi-Fi wasn’t working or something, when he heard her say his name.

 

“Zoro, wake up, this is important!” Zoro turned his microphone on to show he was listening. “Oi.”

 

Nami gave a sigh. She had stopped trying to fight Zoro since the first month he joined the company. He did his job, and he did it well, that was enough for her.

 

“As I was saying we are doing a migration from the old internal services to a new containerized environment, and we need frontend and backend working together in real time, waiting for you to answer on Slack will make this take forever and given you don’t live that far, we require you to be here on Monday, and for however many weeks this takes.”

 

Zoro groaned, turning on the microphone once again, “Why can’t someone else go? I’m not the only backend here.” Zoro tried his best to keep from telling Nami to just fuck off, and as he waited for Nami to just drop it and tell him to do whatever, she started talking again.

 

“You’re also DevOps, Roronoa, and I got a word from someone in frontend, and they told me you sometimes take days to answer texts, dismiss their requests ...and you’re the one who built the deployment pipeline, and no one seems to understand what’s going on in there but you.”

 

Zoro just knew it must’ve been that stupid Vinsmoke guy; he was always annoying Zoro on Slack, sending message after message until Zoro finally answered or just silenced Slack. He never saw him on Zoom meetings, of course, the man with the stupid name and equally stupid opinions is also the kind of person who loses time by going to the office and working there, instead of at home, in silence, and actually doing something useful.

 

“Tell frontend to fuck off.” Nami didn’t bat an eye at the insult; she chose peace this time.

 

“You can tell them yourself on Monday.” She replied with fake sweetness, Zoro left the meeting, not even bothering to make up an excuse.

 

He got up from the bed with a deep sigh and started getting ready to go to the gym, which was another problem; he would have to change his gym schedule. Could this get any worse? He just hoped that he at least could have some privacy in the office, maybe if he held the bitch face for most of the day, people would just leave him to work on his own.

 

When he was ready, his phone buzzed suddenly. He viewed his notifications, hoping it was just a spam email, but when he saw the notification from Slack.

 

Tony Tony Chopper

 

Hello Zoro, I heard at the meeting that you are coming to the office. That’s awesome! Can’t wait to catch up in person!

 

 

He stared at the screen, the scowl fading almost despite himself.

 

Chopper was the newest backend hire, still junior, still asking questions like every answer mattered. He wanted to become full-stack eventually, so he kept showing Zoro small personal projects, asking how he would have solved things differently.

 

Zoro would never admit it, but he became fond of the little guy very quickly, as Chopper always showed a real desire to learn, and his determination to study every technology he came across would always amaze him.

 

Roronoa Zoro

 

Sure. You can help me tell that idiot from frontend to fuck off.

 

After sending the text, Zoro turned off his notifications and got on his motorcycle. He needed to let off steam, and there was no better way than lifting weights.

 

-------------------------------------------------------

 

On Monday morning, Zoro was seriously considering taking a sword from his collection and just slit his throat open.

 

He was making a big pot of coffee while brushing his teeth. He didn’t even know why the hell he had bothered showering, it’s not like someone would notice, but he had been on autopilot since the alarm rang.

 

While waiting for his coffee to be ready, he looked at the time on his phone; he still had time for a quick nap. Five minutes, tops, the office wasn’t really that far after all.

 

The nap ended up lasting forty-five minutes. Shit.

 

He scrambled to get up from the chair he had fallen asleep in, quickly wiping away the bit of drool at the corner of his mouth. He glanced at the clock in the kitchen once again.

 

Nami was gonna be up his ass for this. He figured there was no use in rushing now, he was already late, and now he was just hoping he missed the meeting he was supposed to attend first thing in the morning.

 

He poured himself coffee in the only mug he had at home, and the rest into some thermos the company gifted him when they hired him. He filled a little bit more than half the thermos and filled the rest with whiskey. Just enough to make the morning tolerable.

 

-----------------------------------------------------------

 

After a few wrong turns, Zoro finally managed to find the building.

 

From outside, the building looked cleaner than the kind of place Luffy actually ran inside — glass panels, neutral concrete, three floors, corporate enough to reassure clients and investors.

 

Zoro passed through the glass doors and entered with a dramatic sigh. This was going to be a long fucking day.

 

When the elevator reached the third floor, Zoro stepped out and took a quick look around. He had only set foot in the building once, and just because Luffy had insisted on doing the interview in person, he had barely paid attention to the layout back then, convinced he would never need to come back often enough for it to matter.

 

The office had no fixed logic to it. Long shared tables, scattered monitors, and rolling chairs that migrated from one corner to another depending on who showed up that day. A few bean bags scattered here and there, a big board full of post-its that looked entirely unnecessary.

 

He noticed the tables looked mostly empty; some had backpacks or purses propped on chairs in front of random monitors and laptops. Nobody had ever managed to convince Luffy to assign permanent places. According to him, if people needed each other, they would sit wherever they had to.

 

But he noticed that some desks clearly belonged to whoever showed up often enough to leave traces behind. As he saw that on the seat nearest to the balcony, in front of a blue laptop, there was an ashtray that seemed like it had never been moved, a plant that looked well taken care of, and a picture frame.

 

It contrasted with the rest of the tables, no one had seats assigned, but apparently, whoever sat there had claimed that place as theirs.

 

------------------------------------------

 

Sanji was intently listening to Nami talk about the project, and although he was getting bored, he was glad he managed to sit beside Robin.

 

He had barely paid attention to the empty seat on his other side, he figured Nami hadn’t managed to make the animal from backend to show his face, he just hoped he would at least answer his messages on time, or at least explain to him his logic on the script that no one seemed to get but him, the bastard had never shown his face, didn’t even have a profile picture on slack.

 

He thought that at least he wouldn’t have to work with someone like him in person, the guy was a hermit and from what he knows, rude as fuck, and he didn’t seem to get that frontend and backend are supposed to work together, as backend depended on frontend for knowing how things were supposed to behave on screen, and frontend depended on backend for actual data that worked.

 

The meeting was finally coming to an end. As much as he enjoyed listening to Nami talk, he had been sitting for almost two hours, he needed a smoke, and he had forgotten them in his briefcase. And as Nami was touching the final details, the glass door swung open, and in walked a broad man with weird green hair and wearing what looked like... gym attire?

 

“Nice of you to show up, Zoro.” Nami said to him in a very tired tone, like she was already expecting this.

 

Zoro.

 

The bastard from backend.

 

Zoro looked at her with a deep scowl. “I’m here. That should count for something.”

 

Sanji wasn’t even surprised by the lack of manners. What could he expect from someone who downright refuses to collaborate on anything?

 

He had to give it to him though. The guy was a damn good programmer, he had built half the deployment structure no one else dared touch, and every time production broke, somehow he fixed it before anyone else even understood what had gone wrong.

 

As the moss-head was walking to his seat, Sanji noticed more details about him, the most noticeable being the huge scar that ran across the left side of his face where an eye was supposed to be.

 

He sat down without even saying good morning, he looked done with the day already, as if he hadn’t arrived almost two hours late.

 

Nami sighed and turned to Chopper, “Chopper, could you update Zoro on the most important details later?”

 

For some reason, Chopper looked happy about this, as if he hadn’t been handed more tasks thanks to someone else’s lack of responsibility.

 

“Yeah, I always take notes, Zoro. We are gonna have to go through this during lunchtime.” Chopper turned his gaze towards Sanji. “Sorry, Sanji, I’m gonna have to pass on your lunch plans for today. Zoro and I are gonna be too busy.”

 

When Chopper was at the office, he would always have lunch and talk with Sanji while he cooked, and whoever else showed up that day, he would ask him questions about his job and what tools he had learned to use first, which he should avoid for now, and how Sanji had managed to keep up.

 

Chopper was an amazing programmer for his age, but the only area he was lacking for now was frontend. Someone had been guiding him through backend stuff, and Sanji was helping with frontend, trying not to bombard him with the infinite amount of technologies that changed their rules every day from the start.

 

And now Chopper was gonna miss his lunch and Sanji’s unofficial mentorship because of some asshole who can’t wake up on time?

 

Zoro turned to look at Chopper, “We could go to a coffee shop or something.” As Zoro opened his thermos to take a sip, Sanji caught the sharp smell immediately: Jack Daniel’s and coffee. Was this guy really getting drunk at 9 a.m.?

When Sanji was about to tell Chopper he would still make some snacks, Nami started talking again. “Oh, and one more thing before we go,” she turned her gaze to look at Zoro, “Sanji needs immediate answers, you need someone testing changes as they happen. So until this migration is done, use the empty desk beside Sanji.”

 

After hearing that, Sanji noticed that Zoro was visibly confused upon hearing his name, he wasn’t surprised at all, of course he hadn’t even bothered checking who was sending half those messages and almost begging for answers on Slack, so he decided to contain himself and be a gentleman as he extended his arm in front of the walking algae, “Vinsmoke, Sanji, nice to finally talk to you.”

 

Zoro looked at him dead in the eye and his scowl deepened even more, “So you’re that guy.”