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.
Check out the Ideas page if you've got the desire to contribute but don't have any good ideas. There is an unending collection of small and large ideas that you can contribute!
File a new feature request in the appropriate Feature Area on the Ideas page to record your idea. Mention in your comment you're going to start working on it. Socialize your idea (e.g. Tweet about it) to garner attention and interest.
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.