Sign in

Software Engineer

Validation is the way we guarantee a system’s integrity and consistency, therefore, validation is found in almost every piece of software no matter how tiny or large.

This is the first in a series of articles about validation, click follow to get updates about coming articles!


From a validation perspective, we can break most software systems into 3 major parts: Use-Cases, Entities and builders, and Datastores.

Figure 1: validation constraining relation to context awareness

Use Cases

Use-case is a usage scenario for your entities and other system components to satisfy a business need, therefore a use-case is the most context-aware component of your system because it holds the truth about…

How much software design is enough?
How much software design is enough?


How much design is enough?

this is the second essay of a series of articles about Software design:


If you ask a developer “what are your views on software design?” you might get all kinds of answers ranging from “of course it is!” to “it’s a waste of time.” depending on the person’s seniority level and experience.

if your answer is “it’s a waste of time.” …

Why software design is important?

this is the first essay of a series of articles about Software design:

Why do we design in the first place?

A question before almost anything!

“WHY?” I love asking “why” about almost anything because its answer always reveals the intent behind the subject and what problem we are really trying to solve. this provides a deeper understanding of the nature of the subject and lays a foundation for thinking on my own and maybe finding new or better ways of resolution.

The question “Why?” here sometimes manifests in other forms like “Does it worth the trouble?” or “why…

Romany Saad

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store