DailyEE

Your daily buzz of Electrical Engineering.

Search DailyEE

To Program or Not Program, That is The Question

Posted January 9, 2009

This is a guest post by Sheehan Alam of The IT ReportMr. 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.

Comments

This is absolutely true. I am a programmer by trade (12 years and counting) and the thing I find myself telling most junior programmers is, "You don't need to do that. Have you heard of Commons (or appropriate library)?"

Which might be a sub-theme of your post. Why code elements of a program when someone else has already done what you need done and it's probably better than yours anyway?

Libraries and code reuse are watch words in programming but strangely something that people seem better at talking about than actually doing. (I once gave a talking-to to a recent CS grad who kept trying to re-engineer the java.lang.String class methods for unknown reasons. True story.)

And like you, I have most of my reports automated and/or in templates that just require the data to be filled in. Nothing like a pie chart created from copy and pasted data to get upper management off your back.

CruireCafsege tEksgagma

EuroxLoxext
Bf5d
ignignjag
Bbeg

Displaying all 3 comments

Add comment