Skip to main content

Command Palette

Search for a command to run...

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

Published
16 min read
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:

  1. Take one app

  2. Make it work locally

  3. Choose one hosting route

  4. Set the variables

  5. Deploy it

  6. Fix what breaks

  7. 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 localhost

  • The 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

  1. Cover Page — College name, student name, company name, internship title, submission date

  2. Company Letter / Certificate — Official proof of internship completion

  3. Introduction — Brief overview of the company and your internship role

  4. Objectives of the Internship — What you expected to learn

  5. Tasks and Responsibilities — What you actually worked on during the internship

  6. Problem Observed — For example: the gap between localhost development and production deployment

  7. Solution / Learning — You can explain the 5 deployment steps above here as a practical learning outcome

  8. Tools and Technologies Used — Languages, frameworks, platforms, databases, Git, deployment tools

  9. Challenges Faced — Real issues you ran into and how you handled them

  10. Key Learnings — Technical, professional, and personal growth

  11. Conclusion — What the internship taught you overall

  12. 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.

More from this blog

S

Skill Vance Studios

10 posts