I'm still learning, so I'll give you my point of view on what's important.
- I suggest starting with a book, like Ritesh Modi's book. Understand how the blockchain works, why it was created, its purpose and needs, and how the cryptography behind it works.
This website helps understand the basics behind
If the cryptography part is too challenging for you, at least understand SHA-256, but I suggest learning more about RSA, digital signatures, and hashing.
- Dive deeper into blockchain: What are the different consensus (POW/POS/Other)? What is mining, and how does it work? How do validators work? What do you think is better to work with?
If you have the time and energy, consider becoming a validator/miner for some time to get more into the details of it.
You'll know you know "enough" when you can explain the concepts you've learned to a 4 year old child.
Ethereum and Smart Contracts
If you're specifically interested in learning about Ethereum and developing smart contracts, I suggest you follow these steps:
Start a course on developing with Solidity, Ethereum's programming language for developing smart contracts. I suggest you take Patrick Collin's course, a 27-hour-long course on YouTube, and he breaks the material great, and - it's completely free.
He shares his code's repositories on GitHub, where you can ask questions on the material learned, and people will usually answer within a day.
I suggest you take this course with great commitment and split it through several weeks.
If you prefer not to take a course, I suggest you go to CryptoZombies and learn Solidity coding by creating an army of zombies. It's a great way to learn, and I have combined it with Patrick's course & the book I mentioned earlier.
Another great option is Solidity By Example, a great guy who creates short videos explaining Solidity code by showing examples. He owns both a website and a YouTube channel (link to Solidity playlist).
Learn by doing - start your own project. Think of an idea you think is a good use of blockchain and smart contracts, and start writing.
As a start, you can use Remix editor, but for more significant projects, I suggest you learn Foundry and code on VSCode. Patrick teaches on Foundry, so you'll learn a lot about that platform by doing his course.
Participate in the community - there are many Discord channels for smart contract developers where you can learn from them and ask questions. When you've advanced a lot - try answering questions from people in StackExchange and other forums, and see if you can understand and answer them.
Contribute to projects! Select one or more projects you like (like OpenZeppelin), view their code, and make suggestions!
As for your question, it depends on what your goals are;
If you're planning to write a decentralized application and spread it - you'll definitely need to write some front-end code for your application so that other people can interact with your application.
I think it has value and is important for others to interact with the blockchain.
Good luck and happy coding!