Shipping Your First Real Thing
There is a private and a public version of being a programmer. The private version writes code on a laptop and runs it on the same laptop. The public version takes that same code, places it on a computer somewhere on th…
There is more than one way to understand this. If you have only been taught one, you have been taught less than you deserve.
There is more than one way to understand this. If you have only been taught one, you have been taught less than you deserve.
There is a private and a public version of being a programmer. The private version writes code on a laptop and runs it on the same laptop. The public version takes that same code, places it on a computer somewhere on the internet, and gives anyone in the world a URL to use it. The leap from private to public is called shipping. Until you have shipped a thing, even a tiny thing, you have not really felt what software does. After you have shipped, you carry a small different sense of what is possible. This lesson is the bridge from one to the other.
Pick a tiny project, deliberately tiny. Bigger plans break before they ship. A single page that takes a person's CNIC number and tells them in simple Urdu what district its first five digits map to. A single page that lets a parent enter a child's date of birth and shows the matric year. A single page that converts dollars to rupees using the exchange rate API from the previous lesson. The size is the point. A complete tiny thing is worth ten times an unfinished medium thing. Years of cluttered Pakistani CV pages are filled with unfinished medium things. We are going to put one finished thing on yours today.
Make a folder on your laptop called shipping-test. Inside it create one file, index dot html. In it write a few lines of HTML, a heading saying your project name in Urdu and English, a text input, a button, and an empty paragraph for the result. Below that put a script tag and write the JavaScript that, when the button is clicked, reads the input, computes the answer, and writes it into the paragraph. Open the file directly in your browser by double clicking it. The page works on your laptop, but only on your laptop. The world cannot see it yet. That is the moment shipping enters.
Push the folder to a new GitHub repository, the way you learned in lesson seven. Then go to vercel dot com, sign in with the same GitHub account, click new project, and pick the repository. Vercel reads the folder, sees the index dot html, and asks no further questions. Click deploy. About thirty seconds later, you will see a green check and a URL ending in vercel dot app. Click the URL. The same page that worked on your laptop is now visible to your cousin in Multan, your friend in Toronto, and the recruiter in Lahore who has not yet heard of you. The thing is shipped.
Now share the link. WhatsApp it to four people. One a relative who never uses tech, one a friend your age, one a teacher, one someone older who works in a different industry. Ask each, in plain words, what does this page do. Listen to all four answers without defending your work. Three things almost always come back. The button is hard to find on a small phone screen. The Urdu font is too small. Something does not work on iOS Safari. None of these are failures, they are gifts. The day a stranger uses your software and tells you what is wrong is the day you become an engineer rather than a programmer.
End of track, beginning of practice. Ten lessons cannot make you a senior engineer; ten years cannot either, on their own. What ten lessons can do is give you the smallest complete loop. Write code, save it in Git, talk to an API, store something in a database, and put the result on a public URL. Every working software job in Pakistan, from a fintech in Karachi to a gaming studio in Islamabad, is a larger version of this loop. From here, the path is repetition with care. Build one tiny shipped thing every two weeks for one year. At the end of that year, look back. The pile of small things you built will be the strongest portfolio in your batch, and you will know it without anyone else having to tell you.
Estimated time: 15 min