The typical software developer (especially a full-stack
developer) or data engineer/scientist has a lot of load in their heads. There are just too many things to store
in the brain, or to remember, if you like.
So you wonder: should I remember everything, or should I google whenever the need arises, or should I ask a co-worker?
Think of the several programming languages/frameworks that one has to use concurrently – their language fundamentals, syntax, etc. This begs the important question: how does one cope with trying to remember and store the knowledge required for their daily tasks?
In life, there is a limit to everything. There is a limit to the
amount of knowledge that one’s brain can store at any one time, or else it gets
overwhelmed.
To store the knowledge on five or more programming languages at the
same time can be overwhelming. That is when one starts confusing basic
syntactical differences among the different languages – e.g. should I terminate
a statement with a semicolon or not? Should I define a function using def or
function keyword? Should I name variables this way or that way?
Practically speaking, it makes no sense to memorize too much
(especially unnecessary) language-specifics, unless you are going for an interview coding test (and this can be a pain). Rather, it pays more to remember adequate
language-specifics and more generic programming fundamentals. At any one time,
it is okay and easy to reference or search language-specifics (as well as
fundamentals). Some developers want to keep asking co-workers whenever they are stuck, but this can be a bother depending on the environment.
Language-specific data types, data structures, functions, control constructs, etc are easy to learn for as long as you know the general principles (programming fundamentals) behind them.
Programming languages come and go. They are just tools for achieving an end. On the other hand, programming fundamentals stay the same (at least structurally to a large degree).
This brings in the concept of searching for information.
Searching, in any domain, is a skill if it must be done effectively. When faced
with a programming problem, one needs to carefully frame the question they ask
in order to search for a solution. It also requires that one is proficient in the
domain (in this case programming) to be able to search efficiently.
What kind of keywords you search matters, and it affects how easily and quickly
you find a solution to the problem at hand. What kind of questions you ask in a
forum really matters. Ultimately, they affect delivery time.
Take for instance, when you are stuck with a programming
problem, you will not know what to search or ask if you are not knowledgeable in
the platform and skillful in searching for information. Not everybody has such a skill, which plays a big role in the development process.
Therefore, one needs to be armed with the skills for
searching or asking the right questions as they look for solutions to
programming problems. If you can appreciate that problems are part of programming, then you can clearly see the need for such skills.
That is my short reflection for today, and true to my catchphrase:"I shall not claim to know so much, but only that I learn new things everyday".
No comments:
Post a Comment