* Access to educational opportunities as a child (the "easy" path to developing the right brain structures software engineers need)
* Lacking the first point, the extreme amount of time and the tolerance for the effort involved in "learning how to think" as an adult.
* The free time to learn to become a software engineer.
* Ideally the money to get a CS degree or equivalent.
* Raw aptitude. Some people are genuinely not cut out for it.
No doubt the path to career success is easier for those with parents who made an a collection of smart decisions, as well having made past smart choices.
If I must accept this definition of 'privilege', then we can simply call all outcomes in our life to be a direct result of the amount of 'privilege' we have.
Personally I reject this broad definition of privilege as it strips away peoples need to accept the fact that at the end of the day, they have the ability to make their own choices and develop their own self discipline.
There are world class developers who have arisen from 3rd world country level educations, there are elite athletes in third world countries who have self-coached their way to olympic level performance. Class mobility exists, and stripping away personal responsibility via the process of redefining language does not help anyone except for those who wish to just continue their life without critical introspection.
At the core, this is a political argument hidden under the shroud of being a linguistics argument.