If you have a good background in c#, java or javascript, solidity can be learned for week at the most. The language is very simple, it is used only for the smart contract and big part of the code for the apps (let say wallet, interactions with the blockchain, making the website or even apps like cryptokitties) are written in javascript and of course you can always use nuget packages (like nethereum) and write in c# which for me is the most intuitive language with maybe the best ide.
pp. i hate "go" and by default hyperledger and the private blockchains but for me this is the future for the big corporations and the governments, while the eth blockchain will remain for relatively small projects.