Fundamentally, no. But it obviously depends on the experience of the developer in question.
Solidity's syntax is partly inspired by JavaScript and a frontend developer will quickly notice a lot of similarities, which helps digest basic examples.
Learning the language itself is one thing but Solidity (plus smart contracts and blockchains in general) introduce new paradigms that require a shift in approach.
For instance, smart contracts on Ethereum have unique addresses, like a web page has a URL. However, smart contracts deployed to a blockchain are immutable: once they are deployed to an address there is no way to change their code without deploying a new version to a new address. Smart contracts can also be stateful so you need a way to upgrade the code without losing the state.
This feature is a chief concern when designing your smart contract architecture and can be challenging to grasp initially.
Due to the transactional nature of smart contracts, a lot of the complexity of Solidity is in the security concerns that a developer must be aware of - but you don't need to be fully versed in this until you want to deploy a contract in production.
I've written an article about building smart contracts that may help you get started: blog.jaak.io/crossing-over-to-web3-smart-contract…