This is a guest post by Sheehan Alam of The IT Report. Mr. Alam is an accomplished software engineer working at an international, multi-billion dollar firm.
Every engineer should know how to write a program. Every engineer
should be able to write an Excel macro at the LEAST. Automation of your
tasks is one of the most important things you can do for yourself
because it frees up time, and as the age-old saying goes, "time is
money". I'm not saying you need to build a full blown web 2.0
application when all you're doing is generating some reports, but if
you can save time by eliminating a manual process, you are working
smarter and saving dollars.
Delegation is the best way to do something you don't want to. Managers
do it all the time, and so can you. Delegate your manual calculations
and reports to the computer. Programs are simply instructions meant to
be followed. By boasting your productivity, over time, you will get a
raise or a promotion and spend it however you please on geeky things.
For those of you who say "programming isn't for me" you are wrong. As
an engineer you are both analytical and methodical. Writing a program
is a matter of thinking out loud and defining every step. Programming
languages themselves are not complicated. You are simply learning the
semantics of a language. Not only that, there is something called the
application programming interface (API) which is the documentation on
exactly how to use every aspect of the language. If English had an API
I would be the modern-day Shakespeare. The true challenge lies in the
definition of the problem, which should be natural to you after years
of physics, math, and core discipline courses.
Lastly, you don't even need to be Linus Torvalds at the workplace. In
fact, as an engineer you can even settle to be a really bad programmer.
Break all the rules and write sloppy code, as long as it works.
Remember, you are basically creating a short term solution to a
problem. I do encourage you though, to write clean and efficient code,
because it can only help you in the long run.
You don't want to be that guy doing a million things manually. To program or not to program, that is the question.
