The example Makefile in this article is contrived, here's an example of a simple Makefile: https://git.suckless.org/dmenu/tree/Makefile. I can find plenty of other such examples.
What happens if you want the child to inherit other fds?
Or set other attributes such as the session, euid, egid etc?
The elegance of fork() is in avoiding the complexity of requiring every attribute of the process to be explicitly stated in order to create a new process. We simply inherit our parent's attributes and if that turns out not be desirable it is fixed in the child with the usual syscalls.
My guess is the controversy around this issue makes it difficult to discuss. What I like about this article on various init systems is the relatively objective comparison of the different features and approaches of previous inits.
In several instances being honest has cost me socially. There doesn't seem to be a solution that doesn't ultimately result in rejection. Unless ofcourse you're willing to lie.
This is an impressively aware article. I do find myself wondering though, whether all this should be a requirement for entering the software industry. Why is it that software rarely seems to offer apprenticeships like other engineering disciplines?
When you say thinking of a career change. Do you mean quitting the course of study you are currently on? If so can I suggest sticking with it till you graduate, then if you still want to pursue medicine the door is still open to you, but you haven't lost your current qualification for nothing.
Because providing a 'product' is the sole criterion for success? The author is missing the point and doesn't understand TempleOS.