As a Systems Programmer you need to know several things;
How to do something, arguably the easiest to learn.
Why do I do it.
When do I do it.
When don’t I do it.
When to follow the rules.
When not to follow the rules.
How to make the process foolproof.
How to make the process damn foolproof, or as close to it as possible.
How to think inside the box.
How to think outside the box.
Knowing which one to use.
How to get out of any mess you created.
How to get out of any mess someone else created.
When to ask for permission.
When to ask for forgiveness.
It’s as much as an art as it is a science. We can teach the science, the art of Systems Programming has to be lived.
(From a quote by Mark Jacobs on LinkedIn posted to rands-leadership.slack.com, I can’t find original post)