Based on your description a surgeon would also be an engineer.
The real meaning for engineer is someone who builds complex stuff that require years of learning and practice for the majority of the population.
Having a set of defined rules to follow is not engineering, is safety based on previous experience, most car drivers also do that and they are not engineers.
>Having a set of defined rules to follow is not engineering
It is a part of being an engineer, but it is not the entirety of the profession (I'd probably use the word Standards rather than rules). I think the software world has standards to for things like networking etc - does it count as a programmer following a set of rules if he writes networked software? Maybe...
>The real meaning for engineer is someone who builds complex stuff that require years of learning and practice for the majority of the population.
I don't think this really fits either. Throughout my career I have spent very little time building anything, a large amount of the work is optimizing existing problems/products/processes (this is where tradeoffs the GP mentioned comes in) "How can this be made cheaper, How can it become more efficient, How can it be made lighter etc."
If I had to come up with my own definition it would be something like "Engineering is solving technical problems within an applied set of Constraints" - That probably does not apply to a surgeon - but could be applied to software.
Pay to download or for other services: Not worth it; users can find the software somewhere else and they don't need your other services.
...
The user subscribes to a developer of their choice and in return, all developers (and everyone else who wants to) can give that user some kind of benefit, like giving them access to downloads
and what happens when you release a new version? someone will have to be the first to pay, and most people who want to immediately upgrade will also pay the day it's released instead of waiting for some sketchy dude to upload the executable somewhere else
> - async is concurrency - threads are parallelism
Even this isn't necessarily true, especially given you can limit a process to a single core (or, if you use a single core system, lest we forget those exist!), or, in Python's case, the GIL! You can still have parallelism with asynchronous programming, it's just not necessarily guaranteed. IIRC tokio lets you spin up runtimes on different threads which (putting the above caveat) _can_ run in parallel.
The real meaning for engineer is someone who builds complex stuff that require years of learning and practice for the majority of the population.
Having a set of defined rules to follow is not engineering, is safety based on previous experience, most car drivers also do that and they are not engineers.