My advice is, if you start learning it and like it, deep dive into it. It's a growing product and it does offer a lot of possibilities. As for the Development experience, it's getting better as time progresses. A few years ago it wasn't that good, but it's improving now.
Regarding your questions, I'll go one by one.
1) If you're a Java developer, you will easily get the grasp of Apex quickly. Fundamentally you will find Apex is exactly just like java but with 80% less classes and functionality, so it's easier to learn. On the other hand, since in Salesforce you only have to concentrate on very high level problem solving (no file handling, repository layer, etc.), it isn't a problem.
Version Control is probably the most inmature aspect of a Salesforce Development environment, but it's completely feasible. I work with git with my current team and we're all comfortable now. Just not as straight forward as with other technologies since for compiling and running tests, you do it remotely, not in your local env.
2) Apex is overall a VERY easy language. It's OOP, but it lacks features, so if you know C# or Java, give it a couple of weeks and you'll be fine. Nonetheless, Salesforce is not just Apex. You have Visualforce and the Lightning Components Framework for the frontend, which is more complicated. But then again, LCF is just like React, Angular or any of these new JS frameworks. The knowledge is not lost :)
3) Development in Salesforce using Version Control is not all that old, so no. You will find many repositories in Github, but it's not as common as other ecosystems like Java or Python. You would basically have to find whatever package you're interested in, clone the project and upload it to your Salesforce environment via the Metadata API. Again, this is starting to be very automated with the new SFDX CLI. Actually, Wade Wegner made a plugin for this exact purpose not long ago: github.com/wadewegner/sfdx-waw-plugin
4) What do I wish I had known? Probably to code efficiently. Salesforce is VERY hard on its limits. You can't execute more than 100 queries in a same transaction. You can't make more than 100 HTTP requests in the same transaction. You can't query more than 50k records in the same query... It basically enforces you to optimize code as much as possible. Eventually, once you learn, it's good knowledge tho!
5) As for the certifications, I recommend you start with the AppBuilder cert and then continue with the Developer I. There are many resources online though, so don't worry.
In any case, good luck with your new SF journey man! :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.