Mining is done by several experienced industrial and professional businesses under a very harsh competition where we need to compete against experienced businessmen and experienced coders. Top businessmen like from AntPool are very big players and can hire very experienced coders and technically experienced people, where we need to compete against in mining a block. It’s really a big competition.
You don't have to be technically experienced as some basic knowledge can help you setup things up, and with internet, things have been more easier now. And if you think you can't start mining just because you can't code like a pro then you should change your mind with proper knowledge that you don't have to be a programmer to run a mining machine. If you are a normal joe that knows nothing about some technical terms, and how things work, then try to hire some expert who can setup things for you but learning is the best option there.
When you look at a history chart of hashpower, it's always going up which is making mining more difficult.
It is very hard business because you are in competition against industrial and professional business who are able to hire experienced computer experts and finally, maybe you won't get your initial investment back. It is huge risk and can cause huge loss.
You think these industrial businessmen are making more profit because they have experts in the field or better programmers, What do you think these people are the ones who mine BTC manually? No, in the current era, there are machines that are easier to setup, and you can literally join a mining pool with no error and by only watching a YT video. You just need machines and more hash power and you can also compete with them, but you don't have to, until you are making some profit, we are not here to compete at last.