Trying to get into ethereum development. Why is environment setup so difficult?

Edit: If anyone can introduce me to a good tutorial on development please let me know, thank you.
Hi. I'm trying to get into blockchain and ethereum smart contract development. I have some experience with java spring, node js, and python flask app dev. I am currently following tutorials on this guide:
The authoritative guide to blockchain development (freecodecamp.org)
One of my biggest issues is just setting up the environment to code. I try to setup truffle, cant get the right version to compile. Try to setup metamask to use web3 to simulate a smart contract, won't connect to a wallet.
Lately trying to set up Mist to connect to a blockchain i setup with geth, says wrong version of geth. Am I doing something inheritably wrong? Is it supposed to be this difficult? Nothing works for me.
Personal theory is alot of these tutorials are from 4+ years ago and maybe alot of things have changed software wise, but still I don't understand how I cant host a simple smart contract on web3.
submitted by /u/sriracha_Salad
[link] [comments]