Hi, my friends I am a trainee software
engineer in Virtusa and a computer science undergraduate with more than 5+
years of experience in programming. Today I would like to share my ideas
regarding a very critical point where today programmers have missed up.
Strictly speaking, this is my idea and if you have any objections please leave
a comment.
Before writing this article, I would
like to get answers to very two simple questions. if you can answer them
immediately without referring to any content, only from your mind please don't
read further, the article is not for you.
My first question is can you write a
program for quick sort right now within a very little amount of time?
My second question is can you write a
program for the binary search right now?
If you can’t the article is for you and
read it further.
Dear friend most noobs and also many
experienced people in the IT industry have messed up with this,
What is programming?
Many students even in the universities
learn very heavy frameworks such as Angular, React, Spring Boot, etc and they
think they are doing something called coding!! Making a crud app is not
programming. It is trash work. If you think working with these heavy frameworks
makes you feel good that you are doing something called coding your end is not
too far. A trained machine learning algorithm will take over your job soon. So,
as I said before please don't refer to making a full-stack application (trash
work) as programming.
In making a full-stack app I will
mention what you are doing is. you are making a full-stack application by
following a video tutorial and repeat the same code base after every app you
are making (don’t argue about adding new features). In this scenario, a
beautiful example is coming into mind.
In the early days in monasteries, monks
used to write the holy bible again and again. what they have done in their
whole life is copying the bible in the new books. As a full-stack engineer, you
have done the same in your life.
Most noobs in today firstly try to
learn very heavy frameworks and they have missed the most important part
Problem Solving and Basics.
What I want to highlight is if you can’t
write efficient algorithms for practical problems you are not a programmer.
Creating a full-stack application all you are doing is converting the business
requirement to something called Code. They don’t learn how to write algorithms;
they don’t learn data structures and design patterns. and also, they have no
in-depth knowledge in one programming language.
Learning many programming languages at
once is like learning to play different musical instruments at once. In the
end, you will not be able to play any single song out of them.
I think newcomers look at programming
languages and think of them as what you need to learn to know how to code. All
the languages look different to the beginner, so they imagine that the
languages are doing different things.
Those languages are all programming the
same underlying system is mostly the same ways. None of them can do very much
that the other ones can't do.
Some people think you should
learn different languages so you can learn different programming paradigms,
like functional or logic programming.
I disagree. What's the point of
learning a paradigm in some other language if the language you are going to use
doesn't even support that paradigm?
Java doesn't even support logic
programming, but it started supporting functional programming as of Java 8. So
now is the time to learn functional programming in Java, not before. And you
want to learn it Java-style since its implementation of functional programming
will have its nuances.
The other thing is the Video Tutorials.
Learning through Video tutorials and following them doesn't make you a great
programmer in any way. The great programmers in the world have become to that
state by not following the video tutorials. If you have found any please let me
know his or her name.
I think now you have some understanding
of what I am going to highlight. Skip the trash work. Become an efficient
algorithm maker. Learn the basics and practice them again and again. As a
suggestion to develop your skills in the field of programming I would like to
suggest the following scenario.
1.
Learn one programming
language in Depth (I recommend Python)(will take more than one year )
2.
Learn Data structures and
Algorithms in Depth
3.
Learn Design Patterns in
Depth
4.
Learn to develop the
skill Problem Solving as much as possible
Good luck with your future and Stay
Home! Stay Safe!!
0 Comments