3 ms·
Something not mentioned yet. I find programming is the task of last resort and I spend a good deal of my time talking with the product person to help them refin
by maerF0x0 7y ago
Something not mentioned yet. I find programming is the task of last resort and I spend a good deal of my time talking with the product person to help them refine their product idea into something that is mechanically sympathetic with how computers work and the general problem domain. It often adds 10% time for the initial work and -90% of the time for iterations.
For example once we had a project that wanted to add Role Based Access Control and some juniorish engnineer suggested adding boolean columns to the table for each of the user's roles.. Nope. Instead we created a document store w/ roles and defining new roles was as simple as adding a const to a set in the service's code. Good thing too because the number of roles grew from the initially requested ~3 to almost 100. That would have been too wide of a table.
- NicoJuicy 7y agoI would have used flags if roles aren't dynamic
- maerF0x0 7y agoin our case they were not only dynamic, but also managed by the administrator on an account (by our customers, not by us the software creator)
- NicoJuicy 7y agoNot that hard, if there's something like a Tenant implementation. Which would limit the scope of the "moderator" role explicitly to the tenant database. Eg. https://martendb.io/documentation/documents/tenancy/ https://martendb.io/documentation/documents/tenancy/ Fyi: The op, which i was responding too, was referring to using roles as const. Which is not dynamic :)