Engineering Code

This is a series of articles on software engineering.

Software Engineering is different than hacking, coding, or programming. It is about taking the time to properly engineer code, and not hack/code/patch/program it together.

As it currently stands, I believe writing software is focused on the ability to program, code, patch, and hack a "working" solution to a problem. This is reasonable for short term solutions, but not long term ones.

The goal is to make the trade closer to other disciplines of engineering.

The creative application of scientific principles to design or develop structures, machines, apparatus, or manufacturing processes, or works utilizing them singly or in combination; or to construct or operate the same with full cognizance of their design; or to forecast their behavior under specific operating conditions; all as respects an intended function, economics of operation or safety to life and property.

This is an ever evolving document, things will change, words will be added or removed.

Why "Code"?

Code is what we deal with everyday.

We write "code". We try to figure out the right syntax, semantics, and grammar. It is the smallest unit thta we as software engineers tweak and play around with.

Principles

  • Clarity

    • Review for clarity.

    • Write for clarity.

  • Reading

    • Review knowing that it will be read later.

    • Write knowing that it will be read later.

  • Easy to Reproduce

Becareful of death by a thousand cuts/commits/diffs.

Articles

The hardest part about writing code, is reviewing it.

Last updated