3 Months of Code, Zero Deploys: My Internship Wake-Up Call

"3 months of coding. I built features. I wrote tests. Nobody ever showed me how to make it live on the internet."
For three months I did what I thought real developers did: I built features, fixed bugs, wrote tests, and pushed code. I learned how to work on a real team; for the first time, software stopped feeling like a college assignment and started feeling real. When the internship ended, though, an uncomfortable truth hit me: I still didn't know how to launch an app — not how to build or code one, but how to take something from my machine and make it live for others. That gap taught me an important lesson: writing code is only one part of shipping a product. Here's what I learned when I finally set out to fix it.
But when the internship ended, I realized something uncomfortable: I still had no idea how to launch an app. Not how to build one. Not how to code one. How to take something from my machine and make it live for other people to use.
That gap taught me something important: writing code is only one part of shipping a product.
Here is what I learned when I finally went and figured it out.
Why Internships Don't Teach Deployment
A good internship can teach you a lot. You learn how teams write code, review changes, fix bugs, and work inside real products. That experience matters. It teaches discipline, collaboration, and how software gets built in practice.
But internships can also create an illusion.
When you work inside an existing system, many of the hardest parts are already invisible to you because someone more experienced has already solved them. The deployment pipeline is already there. The cloud setup already exists. The domain is already configured. Secrets are already managed. Production is already running.
So you can spend months doing real development work and still never touch the part that answers a very basic question:
How does this app actually go live?
That is not a failure of internships. It is just the reality of how teams work. Interns usually contribute to a slice of the system, not the whole delivery chain.
The confusion starts when beginners mistake contribution for ownership.
Those are not the same thing.
The Mindset Shift That Changed Everything
The biggest thing that helped me was not a tool. It was a mindset shift.
At first, deployment felt huge. Hosting, domains, DNS, secrets, HTTPS, production builds, cloud databases, logs, monitoring. It felt like too many concepts at once.
My mistake was thinking I needed to understand all of the deployment before I could launch anything.
What actually worked was much simpler:
Ship one complete path, not every deployment method.
That changed everything.
I stopped treating deployment like a giant theory topic. I started treating it like a practical engineering exercise:
Take one app
Make it work locally
Choose one hosting route
Set the variables
Deploy it
Fix what breaks
Get it live
That is it.
You do not need to master VPS, Docker, Kubernetes, Nginx, serverless, and CI/CD all at once just to launch your first app.
You need one complete success.
That first success gives you the mental model for everything else later.
The One Exercise Every Beginner Should Do
Rather than a theory deep-dive, here is the exercise that will teach you more than any tutorial:
Take a project you've already built. Deploy it fully. End to end.
That means: hosted frontend, deployed backend, production database, custom domain, HTTPS active, and basic logging in place. Not a tutorial app. Your own app. Something you made.
You will hit real problems. The database connection will break. The API URL will be wrong. CORS will yell at you. Fix each one. By the time it's live, you will understand deployment in a way that no course can teach. Because you solved actual failures, not theoretical ones.
The goal is not to become an infrastructure expert. It is to understand that writing code is only one part of shipping a product.
Want to level up the challenge? Try the 48-Hour Ship Challenge — whole deployment end to end, but in a time crunch.
Localhost vs Production: The Brutal Reality
One of the biggest beginner mistakes is thinking an app is done the moment it works locally.
And honestly, that mistake makes sense.
On your machine, everything feels complete. The frontend runs on one port. The backend runs on another. The database is on your own system. Your environment variables are already there. Your file paths work. Your credentials are available. From your point of view, the app feels finished.
But local success is only one milestone. It does not prove the app is actually launched.
Production removes that comfort very quickly.
Now your frontend may be hosted on one platform, your backend on another, and your database somewhere else entirely. Your secrets have to be configured properly. Your API has to accept requests from the correct origin. Your domain has to point to the right place. Your app has to survive environment differences, network boundaries, and real user traffic.
That is where the localhost trap appears.
You build something on your own machine, and from your side, it looks done. Then you try to show it to someone else. And suddenly, it falls apart:
The frontend cannot reach the backend
The database connection fails
The environment variables are missing
The server is only listening on
localhostThe API key is exposed
A file path breaks
The app crashes because production is not the same as your laptop
That moment reveals the truth very quickly: what looked complete was only working inside one controlled environment.
If your app only works on your machine, it is not launched. It is being demonstrated.
That distinction sounds small, but it changes how you think about software. Building proves your application works. Launching proves other people can actually use it.
5 Steps to Launch Your App
This is the practical framework I wish I had earlier. Not the only way to launch an app, but a beginner-friendly path that makes the process much easier to understand.
Step 1: Pick Simple Hosting First
For your first launch, do not make life harder than it needs to be.
Use beginner-friendly platforms like:
| Purpose | Platform |
|---|---|
| Frontend apps | Vercel |
| Static frontend | Netlify |
| Backend hosting | Render or Railway |
| Cloud databases | Supabase or Neon |
These are usually easier for students in Nepal than starting directly with a custom VPS setup.
Your goal is not to master infrastructure on day one. Your goal is to get one app live end to end.
Step 2: Set Environment Variables Properly
This is where projects start becoming real.
Locally, many beginners leave secrets in .env files and forget about them. In production, that is not enough. Database URLs, API keys, JWT secrets, and base URLs need to be configured through the hosting platform settings.
A surprising amount of deployment pain is not coding pain. It is configuration pain.
Step 3: Move the Database to the Cloud
A local database only works for you.
If your app is going live, the database also needs to live somewhere accessible and reliable. That usually means moving from local SQLite or a machine-specific setup to a hosted database solution.
And once you do that, you also need to think about migrations, schema updates, and connection strings.
That is the point where you stop thinking of your project as "just code" and start seeing it as a system.
Step 4: Connect a Custom Domain and HTTPS
This is the part that makes the app feel real.
A live URL with a proper domain changes everything. It stops feeling like a student experiment and starts feeling like an actual product.
It also teaches you something important: deployment is not just code. It includes DNS, certificates, redirects, and platform configuration too.
Step 5: Deploy, Test, and Make It Live
Pressing deploy is not the final step. Testing after deployment matters just as much.
Check the homepage. Check the API. Submit the form. Verify login. Test the database connection. Read the logs. Fix what fails.
That full path from local app to live product is where the real learning happens. Because once you solve those failures yourself, deployment stops feeling like magic.
Books That Finally Explained Deployment to Me
These books helped me stop thinking about software as only code and start thinking about delivery, systems, and production.
The Phoenix Project
One of the best books for understanding how development, operations, and business pressure collide in the real world. It is written like a story, so it is easier to absorb than a dry technical manual. It helps you understand why deployment bottlenecks happen and why shipping software is bigger than just writing code.
The DevOps Handbook
If The Phoenix Project gives you the mindset, this book gives you the structure. It explains the principles behind modern software delivery, automation, feedback loops, reliability, and faster releases. For someone coming out of an internship, it helps connect individual coding work to the bigger delivery pipeline.
Release It!
This book is where you start understanding production reality. Stability, failures, monitoring, bottlenecks, resilience, and what happens when real users start touching your system. It teaches a lesson most beginners do not hear early enough:
An app is not successful just because it runs. It has to survive.
These books did not magically make deployment easy. But they gave me a much better mental model of what "shipping software" actually means.
What You Actually Get After an Internship
An internship gives you more than experience. It gives you proof, perspective, and a clearer idea of what comes next.
1. A Certificate and Real Work Experience
The certificate matters, especially for applications, college requirements, and your first few opportunities. But more importantly, you now have real exposure to how software work happens inside a team.
2. Stronger Resume Material
After an internship, your CV should get better immediately. You now have real tools, real responsibilities, and real project experience you can talk about with confidence.
3. Clearer Skill Gaps
This is probably the most underrated one. Internships show you what you know, but they also reveal what you still do not know. In my case, that gap was deployment. I had learned how to contribute to a product, but not yet how to take one fully live on my own.
4. Better Engineering Habits
Even a short internship can improve the way you work. You usually come out writing cleaner code, thinking more practically, and understanding teamwork, reviews, and delivery more seriously. One of the habits I developed was typed Python.
Internship Report Outline for TU / BSc CSIT (2026 Format)
If you are writing an internship report, keep it practical and structured.
Suggested Outline
Cover Page — College name, student name, company name, internship title, submission date
Company Letter / Certificate — Official proof of internship completion
Introduction — Brief overview of the company and your internship role
Objectives of the Internship — What you expected to learn
Tasks and Responsibilities — What you actually worked on during the internship
Problem Observed — For example: the gap between localhost development and production deployment
Solution / Learning — You can explain the 5 deployment steps above here as a practical learning outcome
Tools and Technologies Used — Languages, frameworks, platforms, databases, Git, deployment tools
Challenges Faced — Real issues you ran into and how you handled them
Key Learnings — Technical, professional, and personal growth
Conclusion — What the internship taught you overall
Annex — Screenshots, project links, GitHub repo, live app URL, certificate copy
One strong move: include your live app URL in the annex if you deployed something after the internship. That instantly makes the report feel complete and more practical.
Top Coding Internships in Kathmandu 2026
Here are some companies worth watching if you are looking for coding internships in Kathmandu.
Leapfrog Technology
Well-known for structured engineering culture. Good exposure for full-stack development, especially React and Node-based work.
F1Soft
A major fintech name in Nepal. Strong option if you want experience in backend systems, Python, Docker, and production-grade software environments.
CloudFactory
Good for people interested in AI, ML-adjacent workflows, remote collaboration, and large-scale digital operations.
Young Innovations
Known for meaningful product work, often in civic tech, healthtech, and social impact areas. Strong choice if you want MERN or real-world product exposure.
You should also keep checking LinkedIn, company career pages, InternSathi, Merojob, and JobsNepal. A lot of students make the mistake of waiting for openings to find them. You need to watch consistently.
Final Thought
The biggest lesson I got after internship was this:
Internships taught me how to write code with others — but not how to make that code live. Learning deployment closed that gap and changed how I think about software: shipping is as much about operations, reliability, and user experience as it is about features and tests. If you want to move from “works on my machine” to “works for people,” treat deployment as a core developer skill, not an optional add‑on.
That difference matters.
Because the moment you take something from localhost to a live URL, your understanding changes. You stop seeing software as just code and start seeing it as a real system that other people depend on.
And once you do that once, you are no longer just someone who can build.
You are someone who can ship.
FAQs
Where should I look for software internships in Nepal?
LinkedIn is the strongest starting point. It has the widest range of companies, from startups to large enterprises, and job postings often list the specific skills they're screening for. Beyond LinkedIn:
InternSathi focuses specifically on internship listings in Nepal
Merojob is one of Nepal's largest job portals and has a dedicated internship section
JobsNepal is another solid local platform where companies regularly post intern roles
Which programming languages should I learn for a web development internship?
Start with the fundamentals: HTML, CSS, and JavaScript. These are non-negotiable for any web role.
After that, choose one backend path and go deep on it rather than spreading across multiple languages. The two most common in Nepal's tech hiring market are Node.js (Express or NestJS) and Python (Django or FastAPI). If you add React on top of that JavaScript foundation, you become much more useful for modern web roles.
Do not try to learn five languages at once. Hiring managers consistently prefer someone solid in one stack over someone who is mediocre in several.
Which companies offer coding internships in Nepal?
Some of the best-known companies to watch are Leapfrog Technology, F1Soft, Verisk Nepal, and Logpoint Nepal.
Leapfrog Technology is well known for giving fresh grads strong engineering exposure through structured programs
F1Soft Group is one of Nepal's major fintech companies and regularly worth watching for internship and entry-level openings
Verisk Nepal is a strong option if you want a more structured engineering environment
Logpoint Nepal is especially worth tracking if you are interested in product engineering or cybersecurity-related work
Competition for all of these is serious. A clean GitHub profile, at least one deployed project, and solid DSA basics will help a lot.
How do I find remote internships from Nepal / South Asia?
LinkedIn is still the best starting point for remote opportunities. After that, check Wellfound for startup roles and keep an eye on official company career pages, because many companies post openings there before they spread elsewhere.
One thing to watch carefully: many "remote" internships still quietly require work authorization in a specific country. Always read the eligibility details before applying.
How should I prepare for coding tests?
The real difference is not just knowing how to solve problems. It is being able to solve them under time pressure. The core topic areas to cover:
Arrays and strings
Hash maps and sets
Sorting and searching
Recursion and backtracking
Basic trees and graphs
Easy to medium dynamic programming
Start on HackerRank, then move to LeetCode for a wider problem set and CodeSignal for timed test simulation.
How do I build a strong portfolio?
Two to four finished and deployed projects always beat ten half-built ones.
A strong portfolio typically includes:
One clean frontend project demonstrating UI skills
One full-stack project showing you can connect frontend, backend, and a database
One deployed project accessible at a real URL (this alone separates you from most applicants)
For each project: write a proper README file, add screenshots or a link to the live version, and make sure the GitHub repository is organized and readable. Employers really do open repos, so presentation matters.
What are the phases of a software internship?
The usual flow is:
Application → Screening test → Technical interview → Offer → Onboarding → Work period → Final review
Some companies add an HR round in the middle. In stronger internship programs, good performance can also lead to a return offer or a full-time role later.
Are there any dress codes in internships?
Most Nepali companies do not expect anything overly formal, but they do expect you to look neat and presentable. A collared shirt with clean jeans is usually safe.
The best rule for day one is simple: be slightly overdressed rather than underdressed, then adjust once you see the company culture.



