How to take baby steps in Computer ScienceNajmath UmmerBlockedUnblockFollowFollowingJan 15Photo by Brooke Cagle on UnsplashWhiIe I was undertaking my Engineering course in Computer Science,I really needed a kick-starter for being a good coder/softwareengineer.
As a person who was a complete novice to the field, I facedlot of difficulties.
Let me highlight exactly what the situation was:I really wanted to be a good coder.
But did not knowwhere to startThere were a lot of good coders in our college and I always wantedto be like them.
However, I did not know where to start.
I was notfrom a Computer Science background.
I took an effort andparticipated in many forums and workshops, but it still felt like ahard thing to crack.
I was not aware of even the most basic things!I was determined to embrace the field and participated in technicaltalks and tried to take my classes seriously.
But the biggest challengewas that I was not fluent with the “basics”.
So it was really difficultto grasp the concepts presented at the technical talks and workshops.
Ihad so many doubts, but I was afraid of ridicule.
I mean, not knowingthe basics is quite shameful, especially when you’re a student of thefield.
I was afraid to code alone!Yeah, I was not brave enough to write a piece of code alone, evenduring our practical classes.
I was afraid of making errors.
I copiedprograms from other geeks.
And I always needed guidance.
I wouldshiver if I was asked to implement a simple objective.
Sometimes, Iwould work up the courage and attempt a code.
However, if an errorshowed up, it was like the end of the world for me.
I didn’t knowhow to debug, nor did I know whom to ask for help.
Photo by Fabian Grohs on UnsplashI was doing well in my academics, but still don’t know topractically implement the things we learned in theory classes.
I wasleft with two options, like a “Do or Die” situation.
This is rocket science and my curriculum and classes are nevergoing to help me.
These things are meant only for born geeks.
And be dangerously optimistic that I will find that keyeventually.
I selected the second option.
I tried lots of things and I failed.
I failedbecause 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 ashamedof being in a talk, workshop or class because of not knowing thebasic things.
Then I decided to ask doubts all the time.
I was reluctantto say “I don’t know.
” But it was better to say it in first year thanpretending to know things and being a dunce in final year.
It reallyhelped me to face the technical geeks and tech talks and all.
I beganto ask doubts and suggestions.
Even now I follow this motto — don’tbe afraid to say “I don’t know”.
Because it will maintain our self-growth.
I decided to code aloneI began to actively participate in workshops and gained some initiallessons and built some confidence.
I made a good team with peerswho were better than me in the field and decided to do aninternship.
I began to ask doubts all the time and asked for help forevery error.
They were very disappointed with me and were gettingirritated of solely depending on them for every doubts.
So for our project in third year I decided to make a team consisting ofpeople 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 solutionThis made me confident enough to do the code single-handedly.
Theproblem will definitely have a solution, so why should we fear it?.Weshould face that problem and if there is any error we should debugit.
And there comes the other question — “How to resolve errors?”The answer is very simple.
So many people in the whole world havegone 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 yourhelp.
These are the beginner steps which I took to make my start in thisfield.
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.
Thejourney from relying on “unknown copied code whose only purposewas that the program won’t run without it” to writing better codewith good practices of the language is really overwhelming.
Seriously, it’s not rocket science.
Happy Coding!!.. More details