Changing Gears - Life of a software developer
Deepanjan has 15 years of professional experience in India, Africa and the US. He is a Developer working on projects ranging from legacy systems to RPA for the telecom sector. He is currently based in Middletown (New Jersey)
The life of a
software developer is full of challenges since the invention of computer. The
expansive dreams of the designers and architects have been turned to reality
because of the hard working coders. Starting from the early days of Assembly
language to the modern Google’s GO developers, the challenge remains the same.
The Journey
of a Developer can be broadly divided into the following categories.
(A) Developer in the College Lab
As an
engineering student most of us get the first brush with programming languages
(it happened to be C/C++ in my case) right in the first semester. At that
moment, dreams tend to dictate our aspiration more than reality. I still
remember that our teachers insisted us to focus on learning the working of the
built-in functions, and also develop our own customized version.
A healthy competition
in the pratical classes started evolving. A strong desire to become the best
programmer in the class became the undeclared target. Often, no defined
benchmarks were present to evaluate the best programmer.The obtained marks in
the exams had the last say.
Still students
who could use their own string length function instead of the available one
felt very proud of their feat. This part of the career is the best for any student as they have the liberty
to learn anything at their will.
(B) Developer in the Job Race
Now if you
see the trend in the last few years ,
the selection criteria for the companies have changed. They prefer to select
the best coders by arranging hackathons. Now, a smart programmer or should I
say, a valued programmer is not the one who can write fancy code or write
hundreds of lines of complex code but is
the one who writes less code with fast delivery. Companies are becoming
smarter, they are checking the delivery part along with the technical skills.
The hunt for
the job can be tiring at times. If someone gets selected in Java and few fail
to clear the interview in C/C++, a sudden myth starts developiong that one has
to learn Java to get a job. Currently I
have seen a mad rush for the new comers to learn Swift and become a IOS
developer. Well that is just a momentary; do not ditch your domain of interest
for transitory trends.
(C) Developer Working in the Company
Nowadays,
industry is working in Agile mode – so, as a developer we need to think not just
to prove our coding skills, but about the timelines of the delivery. As
developers, we are naturally tuned to give more importance to logic, algorithms
and bug free code, so during our academic years delivery doesn’t feature in our
list of priorities.
Now
“Delivery” is the leader i.e. in today’s situation – focus is on result. There
is less and less focus on ‘How you are developing’ and more on ‘Whether you are
delivering right output at needed time’.
You will also
experience another frequent problem after joining the industry. You might be
hired for Java, but after couple of months you are required to work on Python.
Do not say NO.
If you learn
Python you won’t forget JAVA. Do not restrict your self from learning the new
languages, which are the building blocks for the modern programming world.
The ease to
capture the market with hardware or software products have definetly cut down
the development time for the developers.Currently Apple
is pushing the update almost every month and some of the popular online platforms
are pushing 10s of builds every day. We as developers can survive it by
slightly changing the attitude towards
programming. We need to look for smart avaible libraries and use them and if
needed write a wrapper on top of it.
Today it’s the
age of open source. For example ONAP (Open Network Automation Platform), is a
wonderful place to search solutions for your problems and also you can submit
code to make it a rich resource. I think we as developers need to be smart to
use the available resources and be a part of open source movement which is
happening all round the globe.
Finally, I
would say – If there ever was a need for developers to be Open, Flexible &
Agile – it is today. There has never been a better time.