Best practice when the value of a field varies depending on external condition

Example:

The value of a specific Employees “Status” changes to “Unavailable” whenever he/she has more than 3 jobs assigened to him/her.

Should i create a field “Status” and change the value whenever tasks is assigned/unassigned to him/her, or rather calculate the status whenever the status of this employee is shown in a view without ever saving the status value to a database?

There are so many different ways to do this, I am curious to see what other people say too.
I think I would create under Employees a “ListOfJobs” and then add the job to this list. Then when the list count is greater than 3 then you cant add any more jobs and then a status “Text” field on the page just changes to say unavailable.

So in a such a situation you’re saying: not having an extra “Status” field is more practical

I think its best to keep things as simple as possible, less is better.

on the other hand, having an extra field might save you from having to create a complex condition, so instead of writing:only when this employee has no jobs count 3, you can say only when this employee is not “Unavailable”

That’s true.