I don't want to sound rude, really... but there are literaly whole university degree courses that revolves around software engineering. There's no way a question so vague can get a proper, deep and satisfying answer.
Ranjeet Kasture
Freelance Full Stack Developer
Xiao Meng
Digital nomad
Put it simply: