Progress through projects

Reading about Solidity is... boring. Like any other programming language, the most efficient way to learn is arguably through projects.

Truffle pet shop

The Truffle team has a great tutorial which walks you through setting up their development tool to writing actual contract code.

This seems like a logical good first project.

https://truffleframework.com/tutorials/pet-shop

In-browser development

Just to expose you to different development tooling, this tutorial has you work right from your browser.

https://karl.tech/learning-solidity-part-1-deploy-a-contract/

https://karl.tech/learning-solidity-part-2-voting/

(There was supposed to be a third part but as of this writing it doesn't exist)

Afterward you'll hopefully have a good idea of what tooling you prefer.

Your own "Cryptokitties" game

Finally, another fun project could be writing your own Ethereum game.

https://medium.com/loom-network/how-to-code-your-own-cryptokitties-style-game-on-ethereum-7c8ac86a4eb3