Korea Had PC Bangs. What Kind of Environment Do Developers Need?
A question that started in a StarCraft lobby, where saying I was Korean was enough to make opponents leave. Where does skill actually come from? Move the practice-and-feedback loop of a PC bang into a developer day and you get an environment where you can see what happens after every change.
When I was studying abroad, I played a lot of StarCraft. Sometimes I would mention I was Korean and my opponent would simply leave the game. It is a funny scene in hindsight, but at the time it led me to a fairly serious question. Where does a person's skill actually come from?
For me the answer has always pointed back to the PC bang. If you have never been to Korea: a PC bang is a room full of gaming PCs, rented by the hour, where people play side by side. There are machines, there are people to play with, and you can watch the good players at the next desk. Finish a game, see the result, try again. Practice and feedback repeat without anyone organizing them.
This post moves that image into a developer's workday. I now build CollabOps, a development and operations platform, in Korea, and the curiosity I had in that lobby has turned into building the environment developers work in.
Where does skill actually come from?
From an environment where the gap between practice and feedback is short. The PC bang had every ingredient. Tools, people to play with, better players in plain view, and a result at the end of every game. What let talented people build skill and produce results was how close that loop sat to everyday life.
This is not only about games. Working as a software engineer, I started seeing work environments through the same lens. Two developers with the same ability can have completely different days depending on how their changes get reviewed, how tests run, and how they find out what happened after a deploy. When you can understand what happens after you write code, deciding the next action gets easier.
Where does the feedback loop break in a developer's day?
Between changing the code and finding out what it did. Consider a fairly ordinary situation. You fix something, then go looking for which checks need to run. You ask around about who has to approve it. You go back and confirm which version is actually deployed right now. Each step is small. Repeated several times a day, they eat the time a developer could have spent on the actual problem.
It is also why experienced people end up answering everyone else's questions all day. In PC bang terms, instead of watching the next desk, you have to ask for the rules again before every game.
What should a good development environment show you?
The next action and its result. Make a change and the required verification should be visible. If you are blocked, the reason and the person who can decide should be visible. After a deploy, you should be able to look back at what actually changed. Failures should remain in a form the next person can learn from.
This is why DevOps pulled me in. I wanted to understand what happens between development and operations as one flow, not just the process of writing good code but the process by which that code reaches users and comes back with a result. When the repository, change requests, pipelines, and deployment records live on one plane from the start, a large share of the "what do I do next" questions simply disappear. I wrote about how we designed that connection in from source control to deployment.
Tools do not replace skill, of course. Understanding requirements, designing, reviewing: those stay with people. The job of the environment is to stop that skill from being spent on the same setup work and the same guessing every single time.
Is that environment possible where the internet is blocked?
It has to be, which is why a good development environment must come in a form the site can actually run. Meeting enterprises and public agencies taught me how different the conditions are. Some places cannot use the internet freely. Some have to keep existing systems running. Some have limited infrastructure and limited people to operate anything new. Explaining only the workflow you are used to, without knowing those conditions, does not change how anyone works.
It has to be installable, learnable, operable, and recoverable when something breaks. Those conditions sit between what looks impressive on day one and what keeps getting used. They are the same reason CollabOps treats self-hosted as the default. The next desk only exists inside a closed network if every change carries its review, verification, and deployment record with it.
How does the question change when AI writes the code?
The more people who can try something, the more the environment has to show what to verify and who to decide with. As the ways of building software with AI multiply, the range of people producing code widens. For one person's fast attempt to become a result the organization can trust, something has to connect the two. If trying got easier while confirming stayed the same, the feedback gap actually widens. I covered that part separately in agents and production authority.
Under what conditions do people's abilities show up best? I am still curious about that. In the PC bang you could watch the next desk and try it yourself in the very next game. In a developer's work, that next desk is the screen where opening one change shows its review, its verification, and its deployment result together. An environment where trying, checking, and learning flow naturally. Whether the product we build becomes part of that environment shows up in the daily work of the people who use it.
Related posts
After Leaving Google, My Definition of Good Work Changed
I was a software engineer at Salesforce and Google before founding a company in July 2024. The standard for good code stayed the same. What changed is that the questions in front of the code became mine: which customer problem, and why now. Notes on how the definition of good work shifted from engineer to founder.
John Baek
Will Hiring More Senior Engineers Actually Make the Team Faster?
Expecting a team to speed up after hiring experienced engineers is natural. But there is something to check before opening the role: can you describe why work is slow as a concrete scene? Notes on separating work time from elapsed time, writing down the expected outcome, and how to judge a senior hire.
John Baek
What Is Missing When We Ask People to Take Ownership
Every time I ask for ownership while running a small company, a question comes back to me. What did I hand over, how far could they decide, and did I explain the criteria up front? Four conditions that make ownership possible, and what a leader has to do first.
John Baek