sharpening pencils…coloring inside the lines…fetching ice cream…untangling the wires…almost there, probably…

Skip to content
nish
  • Projects
  • Blogs
  • Resume
  • Guestbook
ProjectsBlogsResumeGuestbook
Theme

End of the page

Aaah, you hit the bottom.

Scrolled all the way down and still curious? Good. There's more lying around. Pick a sign and wander off.

you are hereGuestbooksign it!Blogsrants & fixesProjectsshipped chaos
nish

I build interfaces, bots, and questionable automation scripts, mostly so I don't have to repeat myself. TypeScript, React, and Next.js.

Building opinionated interfaces for the web.

Elsewhere

Pages

  • Projects
  • Blogs
  • Resume
  • Guestbook

Site

  • Branding
  • Privacy Policy

© 2022–2026 Anish Shobith P S. All rights reserved.

lights off?lights on?

last listened to Kiya Kiya

0
Blog
PreviousNext
0
Post header

I Never Thought I'd Code, Until This One Moment Changed Everything

Anish Shobith P S

Published March 22, 2025

9 min read

653 reads

From dreaming about architecture to building software. How curiosity, games, Discord bots, and one exam moment led me to a career in Computer Science.

  • programming
  • journey
  • computer-science
  • career
  • learning
GamesSchool
0

People ask me how I learned to code, what resources I used, and what actually matters in programming. This is my answer: how I picked up programming, how I think about building things, and how I go about finding resources, asking good questions, and meeting people worth knowing.

I'm Anish Shobith P S, and I've been building things for a while now. My focus is Computer Science, but most of what follows applies to learning anything.

How it began

Computer Science was never the plan. My first ambition was architecture.

It started at a wedding I attended with my parents. I spent most of it staring at the dome above us. I asked my parents what you have to do to make buildings like that, and they said civil engineers build those. That settled it for me, somewhere around 3rd or 4th grade: I was going to be a civil engineer.

The shift towards technology

In 5th grade I got my first phone, and instead of only playing games on it I got interested in how it worked. I looked for ways to install apps, change settings, and push the device past what it was meant to do.

By the end of 6th grade I finally got proper access to the PC at home. It had always been sitting there, but I was rarely allowed near it. Once I was, everything opened up.

On this page
How it beganThe shift towards technologyGaming and problem-solvingCuriosity, and falling for CSThe turning point: programming in schoolChoosing my pathPre-university: 11th and 12th gradeHow a game led me to Discord and botsBuilding my first Discord botClash With CodeCollege and entrance examsCovid and afterUniversityGeneral growth tipsAttitude and environmentCan a college environment make the cut?What's holding you back?Managing college and everything elseLearning effectivelyThe learning pyramidHow to ask for helpHow to learn Computer ScienceMy problem-solving frameworkMy process for building projectsThe job marketStrugglesA few things I'd like people to considerWhere I am now
0
Post engagement
0
Blog
PreviousNext
BotsUniNow

Gaming and problem-solving

My brother and I played Dragon City on Facebook, then Clash of Clans. Those games stayed with me for the strategy and planning they demanded, not just the entertainment. They shaped the way I look at problems, and I often spot solutions other people walk past.

Curiosity, and falling for CS

With a computer in front of me my curiosity grew. I looked for ways to speed up my internet, tweak system settings, and mod games. All that poking around is what turned into a real interest in Computer Science.

By 8th grade I had my own laptop. Exploring software wasn't enough, so I started making YouTube videos about what I was learning. I also bricked my system several times doing it. Rather than panic, I taught myself how to fix it each time. Every failure left me better at this than I was before.

The turning point: programming in school

In 9th grade we were introduced to C++, and it was the first time I saw coding laid out in a structured way. Our teacher explained it well enough that I was hooked immediately.

For our final exams we had two options:

  1. Pick and code programs, 14 predefined ones from the textbook.
  2. Unseen programs, random problems handed out by the teacher.

Most of my friends took the safe route. Our teacher pushed a few of us towards the unseen challenge. I was nervous and had no real choice, so I tried it. And I pulled it off.

The confidence from solving that one problem is what pushed me deeper into programming. After that I wanted to experiment with everything. Our teacher gave us projects like CLI-based quiz apps, which I loved building.

Choosing my path

By 10th grade the coding was minimal, just HTML, CSS, and JavaScript. But I was certain by then that I wanted Computer Science as a career. The only thing left was telling my parents, after years of saying I'd be a civil engineer. I was nervous about it, and they turned out to be completely supportive.

Pre-university: 11th and 12th grade

C++ was a major subject alongside HTML and SQL. I'd already picked up C++ in school, so it came easily. The real turning point in those two years came through Discord instead.

How a game led me to Discord and bots

I joined Discord for a Clash of Clans clan, and later joined r/ClashofClans, one of the biggest community servers at the time. There I noticed a Discord bot that could fetch Clash of Clans stats, and thought: why not make my own?

Building my first Discord bot

I was into graphic design around then but lost interest quickly, and put that time into building a bot instead. I had no idea how to host it, so like every beginner I went to YouTube. That's where I found {TheSourceCode}, which helped me enormously. I also joined various Discord servers run by YouTubers, where I met people with real industry experience. Those conversations taught me far more than any textbook did.

Clash With Code

Around this time a few Discord friends and I started playing Clash With Code, a competitive programming game where you solve a problem in 15 minutes. You could optimise for fastest code, shortest code, or reverse mode, where you're given the answer and have to guess the problem statement.

That game did more for me than most tutorials. My problem-solving got faster, I picked up tricks I'd never have found alone, and it was genuinely fun. We argued about approaches constantly and pushed each other to improve.

College and entrance exams

By 12th grade I was certain about CS. Getting into a top-tier university in India is another matter. I had to sit competitive exams: JEE for the IITs, NITs, and top engineering colleges, then KCET, COMEDK, and others for state and private universities.

I had no proper guidance and didn't do well. With those results I enrolled in a private college in my city for a bachelor's in CS.

Covid and after

India went into lockdown just before my 12th-grade finals. I played a lot of games, and I also started contributing to open source. A friend built a COVID stats API and I managed its NPM module, which ended up being widely used. That was my biggest early contribution.

Discord also pulled me out of my introverted shell. At first I only listened in voice chats. Then one day I spoke, and didn't stop after that. My communication improved to the point where I could hold long conversations with people I'd never met.

My friends and I kept building Discord bots, challenging each other in coding battles, and shipping projects. Eventually I moved past bots into automation and other areas.

University

I graduated in 2024 with a Computer Science Engineering degree from St. Joseph Engineering College. I never obsessed over CGPA. I spent the time on hackathons and tech events, on meeting people, and on building projects.

Discord had already dealt with my fear of talking to people, though moving that to in-person conversations took a while longer. With practice the fear faded and I took whatever opportunities came.

General growth tips

Attitude and environment

Grades open doors, but after your first job your experience and skills matter far more, so put learning and problem-solving ahead of chasing perfect scores. Build a solid foundation early, because a weak base leaves gaps that get harder to fix the longer you leave them.

Surround yourself with people who care about learning. Different perspectives keep you interested and widen your sense of where the industry is going. And make your workspace somewhere you want to be: your desk, your tools, how it all looks. I refresh mine regularly so it doesn't go stale.

Can a college environment make the cut?

Honestly, no. College tends to optimise for academics and exams rather than practical exposure and networking. So go get the rest yourself. Attend local tech events, including paid ones, because they're good for meeting people and staying current. Do hackathons, where the hands-on work and collaboration are worth more than the prize. Join active tech communities on campus or online, and use Discord or Slack to stay in touch with peers and people already working in the field.

What's holding you back?

Usually excuses. If you want to grow, start doing things.

A non-tech background is not a barrier. Every field has a learning curve; put in the extra effort and catch up. Be active in college clubs and communities rather than sitting silently through them, because silence wastes the chance to learn and meet people. And spend time, and a little money, on hands-on experiments: hosting things, configuring them, breaking them. That will teach you more than any theory-first approach.

Managing college and everything else

Plan ahead so exams and events both fit. Finish assignments while you're still in college, which saves time and makes friends. Use free periods for project work. And when events overlap with exams, talk to your parents and teachers early rather than the night before.

Learning effectively

Use official documentation and guides, because accuracy matters more than convenience. Build projects, since watching a tutorial isn't the same as doing the work. Skills and projects will always carry more weight than certificates. Tutorials only cover the basics, so take what you learn and apply it to something real. And talk to developer communities, where feedback and collaboration will move you faster than working alone.

The learning pyramid

The learning pyramid suggests different retention rates for different learning methods:

MethodRetention
Lecture5%
Reading10%
Audio-Visual20%
Demonstration30%
Discussion Groups50%
Practice by Doing75%
Teaching Others90%

If you want to learn efficiently, practise and teach. Those two hold up over the long run.

How to ask for help

Describe the problem clearly. Skip "doesn't work" and "it gives a bug", and say what you were trying to achieve, what specifically went wrong, and any context or error messages that go with it.

Use visuals responsibly. Don't send phone photos of a screen, use a screenshot tool. Only include an image when it actually adds clarity, like a GUI issue. For code, copy terminal output into Sourcebin or Pastebin.

Share what you're working from. If you're following a tutorial, link it and give the timestamp.

How to learn Computer Science

Build projects. Remembering concepts is not the same as applying them to something real.

I don't learn everything first and build later. I learn by building, and that has a few advantages. You find out how to apply what you know instead of memorising it. You end up with a project when you finish. You only cover what you need, which saves time. You hit real-world pitfalls that theory skips over. The fundamentals arrive on their own as you go.

Progress is slow at the start. With experience you build faster and make better calls earlier. Working this way also teaches you project management, which cuts out work you didn't need to do.

My problem-solving framework

When I take on a problem, I work in three passes:

  1. Just code it, however messy, until it works.
  2. Improve the performance: better methods, better approaches.
  3. Refactor and clean up: readability, variable names, formatting.

I automate most of the third pass with linters and Prettier.

My process for building projects

I start by researching. I search GitHub for keywords related to what I'm building ("next.js portfolio", say), then read through the best results for ideas and look for well-maintained alternatives with clean code.

Then I pull it together: list the useful features from everything I found, and work out how and where they fit into my project.

Then I write it, and adapt as I go, because nothing ever goes fully to plan.

The job market

Interview processes are outdated. Companies still test traditional topics over the stacks people actually use. What you learn in a classroom isn't enough for placements on its own; practical application is what gets you through. Interviews test whether you can solve a problem, not whether you memorised the answer. The market for entry-level roles is crowded and companies are strict about it. Which leaves self-driven learning as the thing that bridges academia and industry.

Struggles

I've had my share. The biggest was the lack of a motivating environment. Most people around me were either protecting a high CGPA or just having fun, and finding anyone who cared about learning for its own sake was hard.

My CGPA was decent but not high enough for many campus placements, since companies set strict cutoffs. I was automatically disqualified from several opportunities despite having skills and experience that went well past my coursework.

Watching my peers get jobs while I navigated the 2024 market, my graduation year, added to that.

Then there was my lack of interest in DSA and competitive programming. I found them monotonous because they felt detached from anything real. Solving abstract problems with no immediate use in a product didn't excite me, and I struggled in DSA rounds because of it.

I kept building real projects anyway, picking up industry-relevant skills. My path wasn't the conventional one, and it made me a better developer than the conventional one would have.

A few things I'd like people to consider

Companies should listen to applicants. If someone struggles with DSA rounds, or simply dislikes them, there should be other ways to assess what they can do. There's a good post by T3 Tools about different types of interviews worth reading on this. Give applicants a choice and they'll show you their strengths.

For anyone reading this: work on your skills and keep practising. Keeping up with everything happening in this industry feels impossible, and you don't have to. Be yourself and get good at what you do.

There are far too many exploitative internships out there. Some ask you to pay for a certificate. Others expect you to work for free.

If you are good at something, don't do it for free.

Where I am now

Discord shaped my career, not just my communication.

A connection I made there led to a Software Development Engineer internship. A gaming platform turned into one of the most valuable professional networks I have.

If you have questions or want advice, join my Discord server and ask me anything.

Join our Discord

That's the journey so far, from a kid staring at a dome to someone who writes software for a living.

That's the end. What did you think?

// 1 person has already said something.

1 thought (and a vibe check)

What did you think?

One tap. No account needed.

Comments

1