Liferay thrives on the contribution and innovation from its developer community, and implementing a new idea ensures the continued evolution of the platform to meet the needs of its users. If you've never developed Liferay before, you should take some time to learn the code, and perhaps fix a few bugs to understand the process. Once you're ready, follow these general steps:
Consider whether your feature makes sense as a part of the Liferay codebase. Some features might be better implemented as plugins on the Marketplace, so if you're unsure, it's best to start a discussion on the Suggestions and Features forum to see if there is interest in your idea, and to identify potential helpers and core contributors that can help guide you.
Find a core contributor that can help you during your quest to contribute. This person will have experience developing for Liferay, and can give you tips along the way, including feedback on your idea, suggestions for how to structure your code, how to simplify your pull requests to ensure it is easily reviewable by the integration team, how to write testable code and how to implement tests, and so on. Avoid working in isolation and issuing a large pull request out of nowhere!
Implement the feature, any associated tests, and thorougly test and ensure it does what you (and the core contributor) thinks it should do. Issue pull requests as needed.