I don't mind programming and in fact would prefer it over using a GUI that just tries to do everything for me. When first starting out with iPhone development I found myself stuck messing around with these ridiculous .nib files and dragging lines all over the place till I was able to actually get down to some code and start getting stuff done. My sincere recommendation to anyone starting out with iPhone programming that has a background with programming would be to just ditch Interface Builder altogether. The following are a couple steps to take before starting your project that will get free from Interface Builder.
1. Create a new project in xCode. Select View-based Application and name it whatever you'd like.

2. Delete the two .xib files from the Resources folder as well. You will not be needing thess since you are not using Interface Builder.

3. Navigate to your application's .plist file which is located in the Resources folder. Delete the whole line that says "Main nib file base name". This tells your application that there is no main nib file to look for.

4. In the Other Sources folder open up your main.m file. This is your main run loop and launches your application. In here you will need to tell it what class to look at. In almost all cases you will want this to be your application delegate and is done like so.
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
//where AllCodeAppDelegate will be your application delegate class
int retVal = UIApplicationMain(argc, argv, nil, @"AllCodeAppDelegate");
[pool release];
return retVal;
}
5. Add the following two lines of code to the didFinishLaunchingApplicationWithOptions: method in your App Delegate file. You need to do this because it will allocate and initialize the objects interface builder would have for you.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//takes the place of the nib files
window = [[UIWindow alloc] initWithFrame: [UIScreen mainScreen].bounds];
viewController = [[AllCodeViewController alloc] init];
[window addSubview:viewController.view];
[window makeKeyAndVisible];
return YES;
}
6. Open up your view controller's .m file that just got created and uncomment the viewDidLoad method. Add a line which makes the view a solid color so that we can test to see if everything is working when we build our project.
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor redColor];
}
7. Build and run your project in the simulator. If everything had been configured properly you should see a completely red screen. Now you can start coding using all of Apple's awesome UIKit tools.

Having gone through this process many times I finally figured out a way to create a template which does this for you. This post discusses how you can create your own templates or install some that I have already created and am providing.
