You don't need to make account on other instances. The whole point of fediverse is that the instances are all interconnected. You can talk to people from anywhere and post anywhere too, and it will propagate to all the other instances. Like your account is on programming.dev, this post is hosted on lemmy.world, and I'm on lemm.ee, see? It's all interwoven together, that's the main strength of it. So you can have communities (sub alternatives) all over. Some will be doubled (like most instances have Main) but you can always see where it's hosted to know which is which. (sorry if I'm over-explaining it)
That means if you want to make a community about, for example, 6502 assembly, you make it where you are, and people who are interested in the topic will come and discuss, no matter where their accounts are hosted. It would make sense to have a 6502 assembly community on programming-focused instance but it's not mandatory. If I were to make a 6502 assembly community, I'd make an account on programming.dev and create the community there for consistency. And give my main account mod status.
I don't know if this is the "right" way to go about it but it makes sense to me. I'm happy to be corrected.