I agree.. you need to code a lot, but it would help to know the following when coding :
For portlets you need to understand JSR 286 for custom portlet development, an understanding of Spring, Hibernate and axis would help. You will also need to understand how the service.xml in the liferay framework for back end and Service layer generation. you will need knowledge of the permissions framework in liferay as well if you want custom permissions.
other than that, there will come times you will need to expand on the liferay source. for minor adjustments (editing jsps or adding some extra steps in service methods) use liferay hooks. For major changes you will need to use the ext. To handle liferay hooks and ext you will need to understand Struts 1.0 as well as liferay MVC.
Axis would help for exposing services. you will definitely need to adjust the portal.properties in the ext using portal-ext.properties.
The ideal Application server for liferay is Tomcat and for IDE use eclipse and liferay plugins for it, or you can download the liferay developer studio (not sure if this is available to community users)
Portal source will help you extensively when extending and developing in liferay hooks and ext.
Regularly refer liferay's good forum and it's conversation.
connected with liferay current news and events,
"www.stackoverflow.com" is good website for sharing and increase knowledge about the liferay programming.
hope my reply is helping you.