Back to Blog
·5 min read

My Journey as a Self-Taught Developer in Nepal

CareerNepal

I started coding without a formal CS degree, learning from documentation, open source repos, and late-night debugging sessions.

Starting with PHP

My first real project ran on shared hosting with cPanel and PHP 7. No Docker, no CI/CD—just FTP uploads and error_log() debugging. That constraint forced me to understand how web requests actually work: Apache, .htaccess, sessions, and MySQL queries.

<?php
// My first "framework" — a router in a single file
$page = $_GET['page'] ?? 'home';
$allowed = ['home', 'about', 'calendar'];

if (! in_array($page, $allowed)) {
    $page = 'home';
}

require "pages/{$page}.php";

Looking back, this was terrible architecture. But it taught me routing, input validation, and separation of concerns before I ever opened a Laravel tutorial.

Finding purpose in local problems

Building tools for the Nepali calendar and language ecosystem gave my work purpose — solving problems my community actually faces. Unicode rendering for Devanagari, Bikram Sambat date conversion, and timezone edge cases for Nepal (UTC+5:45) are not exercises in tutorial-land. Real users depend on them.

That focus pushed me from copy-paste coding to understanding algorithms, testing edge cases, and maintaining open source libraries others could build on.

Open source as a classroom

Open source became my classroom. Every pull request taught me something new about code, collaboration, and shipping.

Contributing to projects like nepali-date-converter and building swisseph-wasm connected me with developers worldwide while keeping my work rooted in Nepali needs. Code review feedback from experienced maintainers accelerated my growth more than any course could.

What I would tell past me

  • Read source code of libraries you use — Laravel included
  • Ship small projects early, even if they are imperfect
  • Write in public — blog posts, GitHub repos, commit messages that explain why
  • Community matters, especially when you are learning outside a formal program

The path from shared hosting to building production systems at Sociair was not linear. But every step compounded because the problems were real and the code was out in the open.