Learning about porting is good and the right time. To start with porting mobile games, you will need some resources like 2 or 3 mobile models to start with and good knowledge about J2ME. First of all, develop an application/game with the help of emulator and then try sending the same to the mobile. Usually try it in mobile models of different manufacturers. Only then you will understand the difficulty and the pain in porting.
Simply speaking "Porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed". Actually for a well designed and intelligent game engine which can adopt to any screen sizes, and memory capabilities there isnt much pain during porting. But inorder to get good efficiency most games are developed for specific screen sizes. Where the initial game will be developed for a purticular screen size and then during porting they changes the resuorces and tune the game to work on different screen sizes.
During Game development in our company we develope the game for 176x208 screen and then once the game is working good on emulator and tested for all features, we start porting to different screensizes.
Other than screen sizes, keypad codes and resource formats (sound etc) there are other difficuilties where some devices have some bugs native APIs to achieve good speed. Once you try out making a game run on a particular device you will learn what are the difficuilties.