<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Evolution from pendrives to git]]></title><description><![CDATA[Evolution from pendrives to git]]></description><link>https://evolution-from-pendrives-to-git.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 18 Jun 2026 15:28:47 GMT</lastBuildDate><atom:link href="https://evolution-from-pendrives-to-git.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Why Version Control Exists: The Pendrive Problem]]></title><description><![CDATA[The Pendrive Bottleneck: Why Version Control is Mandatory
When you walk into a modern software company today you will observe a buzz of activity: You can see constant Integration pipelines running automated tests, a dozen developers all throwing thei...]]></description><link>https://evolution-from-pendrives-to-git.hashnode.dev/why-version-control-exists-the-pendrive-problem</link><guid isPermaLink="true">https://evolution-from-pendrives-to-git.hashnode.dev/why-version-control-exists-the-pendrive-problem</guid><category><![CDATA[Git]]></category><category><![CDATA[pendrive analogy ]]></category><category><![CDATA[evolution]]></category><dc:creator><![CDATA[Rohit Chamoli]]></dc:creator><pubDate>Fri, 09 Jan 2026 15:43:42 GMT</pubDate><content:encoded><![CDATA[<h2 id="heading-the-pendrive-bottleneck-why-version-control-is-mandatory">The Pendrive Bottleneck: Why Version Control is Mandatory</h2>
<p>When you walk into a modern software company today you will observe a buzz of activity: You can see constant Integration pipelines running automated tests, a dozen developers all throwing their Jeff Skillington code into the same repository, and people around the world doing instant peer reviews. It is a greased mechanism of disseminated thought.</p>
<p>However, to comprehend why such tools of Git, GitHub, and GitLab are viewed as obligatory oxygen of developers, we have to trace the period when it was still possible to imagine the reality without them. We have to consider the period of Sneakernet. ]<br />The server was not the Source of Truth before we had the cloud. It is a physical item like in most cases a USB pendrive or portable Hard Disk Drive (HDD) and handed over between hands. This was not only annoying, it was a base stranglehold on the human mind.</p>
<p>A Workflow that is Serialized is known as the Bottleneck. We live in the modern age and we assume the existence of Concurrency. When there are 20 developers of a startup, all of them can write code at 10: 00 AM on a Monday.<br />The concurrency limitation was precisely one in the Pendrive Edition.</p>
<p>This is the “Pendrive Workflow," and it is the largest inefficiency in software history. The pendrive was a physical write lock. Without the pendrive that had to be inserted by Developer A to add the feature of a login, Developer B (the one working on the database) and Developer C (the one working on the UI) would have been grounded. They were forced to sit and wait until Developer A walked to their side and gave them the drive to him.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1767968394913/c869d805-6e2e-4802-8b2d-52b0b1e90abf.png" alt class="image--center mx-auto" /></p>
<p>figure 1 : Pendrive workflow vs git workflow</p>
<p>The Statistic of Wasted Time: In a serial (pendrive) workflow of 4 developers, It would take a single team of developers 2 hours to build one task; in total, it would take 8 hours to make the 4 tasks be integrated assembly (sequential). The code time in a modern Git setting, where the 4 work simultaneously and merge after each iteration, is 2 hours and maybe 30 more to merge. The Pendrive Era had a mathematical efficiency of throughput in a team that was 300 to 400% less.</p>
<h2 id="heading-the-madness-of-simultaneous-editing">The madness of simultaneous editing</h2>
<p>Although physical drive is not present, the initial file-sharing techniques, such as email or a shared network folder would not allow addressing the issue of concurrency. In the event that more than one developer tried to work on the same file simultaneously, the changes would be conflicting.</p>
<p>There would be no system that could control such changes and the user who saved his file before others will overwrite all the work of others. The server did not understand how to combine text; the newest file was accepted as the truth, the result of which is instant loss of data along with corruption.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1767970987880/bec39614-e524-4e44-8476-ebdf6609c628.jpeg" alt class="image--center mx-auto" /></p>
<h2 id="heading-silent-fix-paradox-why-we-no-longer-learn">Silent Fix Paradox: Why We No longer Learn.</h2>
<p>The inefficiency in learning the mistakes of others was probably the most pernicious harm that Pendrive Era inflicted. In an engineering society of the present day, mistakes make data. Whenever a bug comes we want everyone to notice, know why it has occurred and see how it was fixed completely so that they will not do it again. This is automatically accomplished with the way that Modern Version Control Systems (VCS) displays the diff- the literal difference between the broken code and the corrected code.By using the physical file transfer and overwrites, the Pendrive Era killed this loop of learning.</p>
<h3 id="heading-the-shared-term-paper-analogy">The Shared Term Paper Analogy</h3>
<p>To appreciate this, take the case of two students in a university, Alice and Bob, and they are doing one term paper. They do not have Google Docs and their only laptops are one that they share back and forth (the "pendrive").</p>
<ol>
<li><p><strong>The error:</strong> on Tuesday, Alice has the laptop. She puts a paragraph on Australia and gives it the wrong answer, that the capital of Australia is Sydney. She copies the paper and gives the laptop to Bob.</p>
</li>
<li><p><strong>The Discovery:</strong> Bob opens the paper on Wednesday. He reads the paragraph and goes to realize that Alice is not right.</p>
</li>
<li><p><strong>The “Pendrive Repair:</strong> Bob emphasizes the name of the city Sydney, then he deletes it and then he types in Canberra and he then hits Save. The file is overwritten. The proof of the mistakes is lost.</p>
</li>
<li><p><strong>The gap in education:</strong> Thursday Alice receives the laptop with a gap in her education. She reads out the paper; it is fine. Alice has not forgotten that Sydney is the capital of Australia. Since Bob fixed her error silently by erasing the file and replacing it, she was not given an opportunity to be corrected.</p>
</li>
</ol>
<h3 id="heading-the-manner-this-unfolded-in-software">The manner this unfolded in software</h3>
<p>This was the situation in the Pendrive Era, where software teams would replicate it on a daily basis. A less experienced developer would create a section of code that was inefficient, such as a loop that was too slow, save it to the pendrive, and give it to a more senior developer. The bad code would be identified by a senior developer who would be in possession of the drive later. They would not write an email and tell them what the problem is; they would have to take too long. They only would rewrite the function into the correct format, save across the file and proceed further.</p>
<p>By the time the junior developer returned the code, his bad loop was now good code in place of that. They had no idea:</p>
<p>That they had made a mistake.</p>
<p>What the mistake was ?</p>
<p>The way the senior developer has solved it.</p>
<p>Since no one was able to remember the history of the mistake, then the knowledge within the organization did not grow. The errors were re-enacted again and again since the mechanism of corrective action was invisible.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1767971089898/6eea359d-0d02-44a5-bce5-6352cf53d87a.jpeg" alt class="image--center mx-auto" /></p>
<h2 id="heading-the-ornuten-feebleness-of-the-origin-of-truth">The Ornuten feebleness of the “Origin of Truth</h2>
<p>The "Master Branch" during the Pendrive Age was not some safe database in the cloud, but a bit of cheap consumer product in the pocket of some person.<br />Even in case the developer with the pendrive spilled coffee on it or dropped it in a car park, or the file system (FAT32) was wiped out because the pendrive was ejected carelessly, the company did not lose a day of work. They lost the entire project.</p>
<p>This was a stressful high environment referred to as the Bus Factor of 1. In case the individual possessing the pendrive was struck by a bus (or simply went on holiday), the intellectual property of the company was basically lost until the time they reappeared.</p>
<h2 id="heading-why-modern-vcs-is-the-answer">Why Modern VCS is the Answer</h2>
<p>We switched to systems such as Git not because it is a cool thing to do, but to address the following bottlenecks:</p>
<ol>
<li><p><strong>Distributed Truth (Solving the Bottleneck):</strong> All the developers have a complete copy of a repository on their computer. There is no need in the "pendrive" to be working. 100 people may work at the same time.</p>
</li>
<li><p><strong>The Merge (Solving Overwrite):</strong> Git is a combination of mathematical algorithms to blend work. In case Alice alters line 10 and Bob alters line 20Git automatically combines them. No one is overwritten .</p>
</li>
<li><p><strong>The History Log (Solving the Learning Gap):</strong> Today, when a senior developer fixes a bug, they push a <strong>Commit</strong>. The junior developer sees the notification, clicks the commit, and sees red lines (their old code) next to green lines (the new, better code). The learning is instantaneous and permanent.</p>
</li>
</ol>
<p>I<strong>n the end, every great product starts as a solution to a painful problem. Git didn't just appear; it evolved because someone refused to accept the bottleneck. That is the true cycle of innovation: feeling the pain, solving the problem, and turning a project into a product that helps us all</strong></p>
]]></content:encoded></item></channel></rss>