You HAVE to be an expert.
One of the things that I quickly learned about the IT field, SPECIALLY the software development one, is that there is no “in-between”. Either you’re a genius or you’ll be left out.
Being “good enough” won’t cut it. You won’t get hired. You won’t make a living through freelancing.
It’s sad to say this but the IT field is an extremely competitive market in which only the 1% succeed.
Most will face either of these fates: 1) Never get a job in the area that they want. 2) Get an underwhelming job in a completely different area that pays like crap and has horrible working conditions(e.g. wanting to be a programmer and end up as a field computer technician) or 3) Never get an IT job at all no matter which area.
I have a COMPTIA A+ and NETWORK+ certification. I’m experienced as a Computer Technician and as a Support Analyst. I know programming languages and I how to build websites and I have a portfolio to prove it. Yet, in my long 30 life years, I was never hired or even given any chance to work as an IT professional.
If you want to succeed in this field, it is required that you are nothing less than exceptional.