I am one of those people, who believes coding is more art than science. I like to think that there is an inherent level of creativity that is required to be good at coding. I enjoy it till date, because I feel happy when I able to create something new through my skills. From my school days, programing was the only thing no one forced on me to learn, so I learned it at my own pace. That I think became the biggest reason of why I enjoyed it, because there was no pressure of marks, or deadlines. It was the first sense of independence that I experienced.
When I first started coding, a lot of people did not believe that technology will become so important in our lives and that coding will become a much sought after skill.
So how did it all start ?
My dad - The visionary !!
When my dad bought a computer for our home (we were one of 2 homes that had a computer at home in my town), everyone was like 'Why do you need a computer at home ?'. His answer was computers will run the world one day, and I want my kids to get used to them. A lot of people thought that was not possible, and mocked him, saying that schools have computer labs, if he wants me to learn computers 45 mins once every 2 weeks should be good enough. 30 years later I am glad he did not listen to them.
The computer at home gave me access to a toy that I could play with and would never get bored of. Something I got better at every time I spent time on it.
The first thing I wanted to do was play games on it. My dad showed me Wolf 3D, and I was hooked. Then he was like if you can turn on the computer find where the game is, and figure out how to start it, you can play it. It was DOS based system (4 MB of hard disk space), so to do that I had to learn DOS command line interface, and basic commands. At first I could not figure it out, one time I ended up deleting directories in DOS. We had to reinstall the operating system !! My dad was not angry though, he taught me how to install the OS, and he was like from now on you should be able to it yourself. I can't remember how but eventually I was able to figure the DOS command prompt interface, open directories and run DOS commands. Spent long hours playing Wolf 3D, after that.
Eventually I got interested in writing code in Basic. My first program was simple calculator for adding & subtracting numbers. It was fun, writing a few lines and seeing an idea come to life. This is what made me keep going back, and trying new things.
The first coding night out
I still remember, it was a project submission for my class 10th computer project. I had 2 options, take the easy way out i.e. copy it from someone, or build something on my own. I wanted to explore how you could build a full Hotel Management System, so I decided to build something. Obviously, I had grossly underestimated the work required, so I reached out to the only other person I knew could help me finish it, my father.
We spent the whole night writing code for the project, and then printing out the code for the submission report (Yeah, we had submit hard copy of the code, and its output !!). That feeling of accomplishment, along with exhaustion from working all night, is something that still pushes me till today.
Windows 95, internet and my first deployment
The next phase in my learning came with Windows 95 and the dial up modem. I was fascinated by websites, and I wanted one as well !! Time to learn HTML.
Took me about a week to have a basic page ready, and then create navigation to other pages. But this is too boring, just plain paragraphs and tables. How do these other sites add colors, animations and jazz ? Time to learn stylesheets.
Once the site was done, I wanted to show it to everyone. So, for the first time in my life I hosted something on a server. That was amazing feeling to see something you created on your computer come to life on the internet with everyone having access to it.
Computer Science, the only thing I wanted to do
When it was time for me to start college, we had to pick our top 3 priorities for a branch of engineering. Everyone was filling the priorities based on career prospects, and I had picked only 1, Information Technology, my only other option was drop off and try again next year. My choices were binary even then !!!
By the time I completed the second semester, I was very clear in my head, that this is something I enjoy, and I wanted to learn more about it. So, as we started getting options to pick our elective courses, people were thinking about which ones would get them better grades, and I just picked subjects that interested me. I was one of only 5 people in the AI course one semester, and had to talk to the dean to make sure the management did not cancel the course due to low registration.
My first job
By the time I finished college, I had an offer from one of the large IT outsourcing firms in India. I was happy that I had a job, but I also was a little skeptical. My interview did not talk anything about the programing skills I had learned, and I felt like I was ready to work on live projects, as opposed to going into another 6 months of training.
So, when the opportunity presented itself in the form of niche consulting company which I had heard did cool tech work for its clients, I decided to go for the interview. It was a coding test, followed by a tech interview. The interview experience was so fulfilling, that I was sure of taking the job if I got selected, and I did.
My first project
I still remember when I first started on the project, I looked at the code base and was just amazed at the shear size of it. Then I started digging, and realized I could not figure out most of the stuff !! I was like damn, this seems harder than I thought. It took me almost a week to find my way around it, a week that felt same as what I felt when I first started using a computer. Then a week later, I submitted my first check-in for review, and deployed my first code for QA testing.
14 years since, I have been writing code every single day. And I cannot think what life would have been like if I was not doing this.