How to take baby steps in Computer Science

Najmath Ummer
Dev Genius
Published in
4 min readJan 15, 2019

--

WhiIe I was undertaking my Engineering course in Computer Science,
I really needed a kick-starter for being a good coder/software
engineer. As a person who was a complete novice to the field, I faced
lot of difficulties.

Let me highlight exactly what the situation was:

I really wanted to be a good coder. But did not know
where to start

There were a lot of good coders in our college and I always wanted
to be like them. However, I did not know where to start. I was not
from a Computer Science background. I took an effort and
participated in many forums and workshops, but it still felt like a
hard thing to crack.

I was not aware of even the most basic things!

I was determined to embrace the field and participated in technical
talks and tried to take my classes seriously. But the biggest challenge
was that I was not fluent with the “basics”. So it was really difficult
to grasp the concepts presented at the technical talks and workshops. I
had so many doubts, but I was afraid of ridicule. I mean, not knowing
the basics is quite shameful, especially when you’re a student of the
field.

I was afraid to code alone!

Yeah, I was not brave enough to write a piece of code alone, even
during our practical classes. I was afraid of making errors. I copied
programs from other geeks. And I always needed guidance. I would
shiver if I was asked to implement a simple objective. Sometimes, I

would work up the courage and attempt a code. However, if an error
showed up, it was like the end of the world for me. I didn’t know
how to debug, nor did I know whom to ask for help.

Photo by Fabian Grohs on Unsplash

I was doing well in my academics, but still don’t know to
practically implement the things we learned in theory classes. I was
left with two options, like a “Do or Die” situation.

  1. This is rocket science and my curriculum and classes are never
    going to help me. These things are meant only for born geeks.
  2. Try harder. And be dangerously optimistic that I will find that key
    eventually.

I selected the second option. I tried lots of things and I failed. I failed
because I took the wrong steps. So I decided to shake things up a bit.
Here is everything I learnt from my endeavours!

I began to say “I don’t know”

That was the first and the most effective step. At first I was ashamed
of being in a talk, workshop or class because of not knowing the
basic things. Then I decided to ask doubts all the time. I was reluctant
to say “I don’t know.” But it was better to say it in first year than
pretending to know things and being a dunce in final year. It really
helped me to face the technical geeks and tech talks and all. I began
to ask doubts and suggestions. Even now I follow this motto — don’t
be afraid to say “I don’t know”. Because it will maintain our self-
growth.

I decided to code alone

I began to actively participate in workshops and gained some initial
lessons and built some confidence. I made a good team with peers
who were better than me in the field and decided to do an
internship. I began to ask doubts all the time and asked for help for
every error. They were very disappointed with me and were getting
irritated of solely depending on them for every doubts.
So for our project in third year I decided to make a team consisting of
people just like me and decided to take responsibility of that project.
I did not know how. But making the decision was the first step.

Every Objective has a solution

This made me confident enough to do the code single-handedly. The
problem will definitely have a solution, so why should we fear it? We
should face that problem and if there is any error we should debug
it. And there comes the other question — “How to resolve errors?”
The answer is very simple. So many people in the whole world have
gone through these similar errors before you. Yeah, start Googling. You can learn anything, ask doubts, read things. Stack Overflow,
GitHub, YouTube, Medium and a long list of sites are there for your
help.

These are the beginner steps which I took to make my start in this
field. I still cherish my learning voyage, the code I have written so far,
the differences I have made in my commit messages and so on. The
journey from relying on “unknown copied code whose only purpose
was that the program won’t run without it” to writing better code
with good practices of the language is really overwhelming.

Seriously, it’s not rocket science. Happy Coding!!

--

--