You need a reasonable understanding of how Ethereum works (and blockchains in general). The primary language is Solidity, which is pretty simple but has some security gotchas to be aware of. Javascript is most important for writing UI. There's also an API for Go, so that can be pretty helpful. The main clients are written in Go, Rust, C++, and Javascript.
Write some open source code, blog about it, participate in the community, and if you impress people they'll come to you. Resources:
ethereum.org
https://github.com/ethereum/wiki/wiki/White-Paper
https://solidity.readthedocs.io/en/develop/solidity-in-depth...
https://github.com/ethereum/wiki/wiki/JavaScript-API
r/ethereum
r/ethdev
https://gitter.im/ethereum/home
ethereum.stackexchange.com
truffleframework.com
https://github.com/ConsenSys/smart-contract-best-practices
https://medium.com/@weka/announcing-the-winners-of-the-first...