And I don't mean "I learned how to do textbook RSA in college", I mean more of, "Can tease a previously undiscovered cache-timing side-channel out of a crypto library". (For example, the recent libgcrypt advisories.)
If the words "padding oracle" or acronyms like AEAD sound strange and foreign, that person is not qualified to fill that role.
I would wager most developers lack the background to make a messaging service that is actually secure. (To anyone reading this: Please don't let this fact magnify any sense of impostor syndrome you may have. You're far from alone. Even the experts won't embark on this endeavor without peer review.)
https://github.com/WhisperSystems/libsignal-protocol-c
https://github.com/WhisperSystems/libsignal-protocol-java
More generally (i.e. not for messaging apps), libsodium is great for application-layer cryptography:
https://download.libsodium.org/doc/bindings_for_other_langua...