13th
To Program, or Not to Program, That is The Question (Non-Computer Scientists)
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.
