Here's a couple things you can do. Well, you, and anybody else who maybe wants to help but doesn't know where to start or is too intimidated to try and dig into a ROM...
1. Learn how to install ADB for your OS and add it properly to the path so you can run it from command line. ADB is your friend. Once you figure out the various commands (there aren't a lot), you can save yourself a lot of time and headaches. You can reboot and reboot to recovery or fastboot. Instead of re-flashing a ROM every single time a file is updated, it's infinitely easier to just adb push the file and fix it's permissions using adb shell. Conversely, you can dump the entire system and boot image using like three commands. And more important than that...logcat. Hell, it's so important, it can be number two.
2. Logcat. There's a reason it's in my signature. Once adb works, you can do two things that are pretty neat. A, you can do "adb logcat", and see a real-time show of what Android is doing as you do stuff. Open a program...you see it. Turn off the screen...you see it. Press a button...you get the idea. It also shows you crashes, and the reasons the system thinks something is happening. Once you know how to read what it's saying, you can usually figure out what's wrong.
Like for camera...I push a bunch of stuff. Watch the logcat. It doesn't boot, but logcat tells me that it's because cameraservice.so is trying to start and can't find libBeautyChat.so. Give it that lib. Reboot. Watch and see it also needs another lib. Reboot. Watch and see that now, it's complaining about having more than 2 cameras...which is how I knew to ask dude about it and have him tell me there's a patch for it.
And then you can do adb logcat > filename.txt and have it write that to a file so you can read it more closely. Then you get to see any other errors that may only happen on boot, and anything else that may be of interest.
Logcat...it's your friend.
3. Extract a ROM and look at what's iniside. They're not magical robot symbols that only the phone can read. Most of the stuff (aside from libraries and binaries) can be opened and edited. Using grep (or in my case, a windows clone of it) will let you search within the files for key words...like wifi, or camera, or carrier. Either way, having a general understanding of the filesystem structure will be beneficial not only as a developer, but as a tester as well.
4. If you really want to get crazy, get APKtool. I just download it and put it next to wherever I have ADB. This will let you decompile and recompile APK's and Jarfiles...which again lends a $hitload of insight as to what's doing what where.
5. Don't be afraid. Aside from mucking around with your low-level partitions (radio, recovery, hboot...), there isn't a lot you can do that will outright brick your phone. Keep a nandroid handy, think twice every time you do something, and you should almost always be able to recover should you break something.
6. Get BEYOND COMPARE. It's a diff tool that lets you load up two folders side-by-side, then show which files are different and which are the same. You double-click, and it loads files up and gives you a line-by-line comparison. You can copy, edit, or remove anything you can see...
7. Notepad++. It has syntax highlighting for most everything you can think of, which is pretty damned helpful when dealing with code.
So yeah...there's another novella for you today. Sorry if I'm saying stuff you guys already know...but the above is literally the majority of what I use to do what I do. Download a ROM you want to port or edit. Download another ROM that has what you want. Decompile the frameworks you need (telephony-common.jar, framework.jar, framework2.jar, services.jar, framework-res.apk) for both ROMS, load em up in Beyond Compare, and start looking. Make changes. Recompile. Adb push. Cross fingers...Logcat. Repeat.
That's it. Two years ago, I knew zip about android. One day, I got pissed at another dev because I (as a noob) tried to make a contribution to HIS rom and he didn't like that. So, I took and learned how to make my own port...and here we are.
Whew...