Although our software knowledge is high, when we do not think about the structure of Bitcoin, can our software knowledge pave the way for these thoughts, is it enough to just work on software? To be able to create something.
to create what? calling it "cryptocurrency software" is too broad and it is impossible to say what you need to know.
for example creating a price widget is also a "cryptocurrency software" and you don't need to know anything about bitcoin, cryptocurrency or anything like that. all it needs is to know how to make API calls and how to create a UI that shows the result!
or creating a block explorer again doesn't need that much bitcoin knowledge, just how to work with JSON RPC and how to create a database (indexing) on top of another database.
whereas creating a new cryptocurrency requires a lot of knowledge about cryptography, bitcoin and a lot more.
so tell us what do you want to create?