i still remember the first time i wrote System.out.println("Hello World"); in my college computer lab. the cursor was blinking, the teacher was explaining something about jdk vs jre, and i was just staring at the screen wondering if this is what they meant by "coding."
the awkward beginning
first year of engineering in india is weird. you come in thinking you'll be writing AI algorithms by semester 2, but instead you're stuck learning about the history of computers and writing programs to check if a number is even or odd.
// peak programming circa 2021
import java.util.Scanner;
public class EvenOdd {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
if (num % 2 == 0) {
System.out.println("Even");
} else {
System.out.println("Odd");
}
}
}
exciting stuff, right?
but here's the thing. looking back, those boring programs taught me something important: how to think logically. every conditional statement, every loop, every edge case i had to handle. it was building a foundation i didn't appreciate at the time.
when things started clicking
the real shift happened when i stopped treating programming as "something to pass exams" and started treating it as "a tool to build things."
i remember staying up late one night trying to automate something stupid, i think it was filling out a google form automatically for some college event. it didn't work, obviously. but that was the first time i felt the thrill of coding for myself, not for marks.
the moment you build something for yourself, not for a grade, everything changes.
from assignments to side projects
by the end of first year, i had this itch to build actual things. not programs that calculate factorial, but websites, apps, tools that i could show people.
the transition was messy. i'd start a project, get stuck on css, abandon it. start another one, get confused by async js, abandon it. the graveyard of unfinished projects on my laptop was growing.
but each abandoned project taught me something:
- that first portfolio attempt → learned flexbox (after hours of suffering)
- the student community website → figured out how to deploy something online
- random python scripts → discovered the joy of automation
what i wish i knew earlier
if you're just starting out, here's what helped me:
- stop waiting for the perfect tutorial — just build something, anything
- it's okay to copy (at first) — clone what you like, then modify it
- google everything — literally every developer does this
- the gap between "knowing" and "building" is massive — watching tutorials feels productive but building stuff is what actually teaches you
where i am now
that kid who was confused about hello world? he's now building full-stack applications, writing automation scripts, and actually understanding what those jdk/jre differences mean (finally).
the journey from "hello world" to "i actually built this" isn't linear. it's messy, frustrating, and full of abandoned projects. but that's the process.
every developer you admire went through this same awkward phase. they just don't post about it on twitter.