Husband, father, kabab lover, history buff, chess fan and software engineer. Believes creating software must resemble art: intuitive creation and joyful discovery.

🌎 linktr.ee/bahmanm

Views are my own.

  • 3 Posts
  • 3 Comments
Joined 1 year ago
cake
Cake day: June 26th, 2023

help-circle


  • Not a direct answer to your question but here’s what I’ve learned and am learning:

    It all boils down to “finding the right balance between the costs of implementation, the value the implementation offers given the circumstances and constraint.” Essentially, the foundational guideline of engineering across all engineering principles.

    Usually every decision brings about about a series of advantages/improvement but it’s important to remember that “one must lose in order to gain.”[1] That is, every improvement (value) comes at a price (cost). Unlike other principles of engineering (which are closer to bare maths), software engineering more closely resembles something intuition-based like art. That is what makes it difficult to see the values and costs and measure them. It takes lots of practice and introspective and extrospective (!) effort; doing things and potentially making mistakes and learning from them is as important as observing others do things and make mistakes.

    In other words, it boils down to honing your intuition to “do the right thing, at the right time, the right way.”

    PS: Please note that I used the word “right” and not “correct.”

    [1] Dialectically speaking, every material good contains w/i itself its own seeds of destruction 😆