views:

193

answers:

7

Hi,

I am going to hire a c/c++ programmer and going to train him in Iphone and Ipad programming. I wanted some advice on how to train someone fast. I primarily want him/her to create basic to medium complexity apps. I dont want to take too much time training because people usually leave the job in 5-6 months. (We are basically a startup with about 8-9 people in our company).

So, I just wanted your opinion on the time it takes to train someone and what are the best ways to do that. Also, which questions should I ask him/her in the interview to make sure he/she is a good fit for iphone programming?

Thanks!

+3  A: 
e.James
+1, I second the SO comment. There's no better way to learn than teaching. It has definitely helped me.
jasongetsdown
Yes, I agree. Also, getting work done from others also teaches you a lot.
nishantcm
James, how do I set a deadline. I mean how to decide on a deadline. Actually I am not that comfortable with iphone coding. So is there any suggested way to set deadlines. Thanks for the help.
nishantcm
@nishantcm: If you are not comfortable with setting the deadline yourself, sit down with your developer and discuss it. This is (in my opinion) the best way to set deadlines in any case. The people who do the work are best equipped to determine how long a project will take. As an added benefit, your developer will probably be more motivated to meet a deadline that they have set themselves in order to prove that they understand and can handle their own time management.
e.James
Thank you. James.
nishantcm
+1  A: 

When I started developing for iPhone I was working on a real project too. I used to develop for Mac before, but it had no relevance for the game I worked(F.A.S.T). We had real tasks and the lead programmer made a short tutorial about the iPhone and for the rest of the project he helped us only when we had some problems. It was no real training there. Only questions/answers.

Felics
Thanks. Also, then theres always SO for your questions.
nishantcm
+6  A: 

Don't spend too much time on theoretical training. The best way to learn programming is to do programming. If the person is already familiar with C / C++ and have the ability to cope with new technology / language then it won't take much time to learn iPhone programming. At first just train the basics. Basics of Obj-C. Don't go into the details, just the basic syntax (method, class, property, init etc). There are many web resources for it. Just Google for them. Then go to the high level iPhone application architecture (what is the entry point for customization, how the app is started or terminated, event handling etc). Pay some time for MVC and delegate pattern which are widely used in iPhone app. Then some basic development (view controller, IB etc). Apple has excellent docs for the beginners. You can follow them.

And then start CODING, follow the SAMPLE CODES from Apple, GOOGLE when a problem occurred, ask SO.

And when he is familiar with the basics, pay some special time for memory management. Otherwise you may be in big trouble.

During the interview, you should make sure that he is familiar with general programming concepts, familiar with OOP, knows basic algorithms and data structure and must be familiar with memory management without garbage collector.

taskinoor
+1 especially for the note about memory management. Most of the Cocoa problems that I see on SO involve memory management
e.James
Yes, actually I am having a few problems related to memory management in my own paid app. Thats why I was looking at a helping hand. But theres really very few iphone devs where I live (I may be wrong, but the job applications seem to suggest that). What I was thinking was trying to go to the next level with some simple apps.
nishantcm
+2  A: 

If you have a startup you should either try to find a person to hire for the long haul, or contract out the work.

If you are really wanting to get iPhone work done on the cheap, hire a CS student to do it as a summer project.

Kendall Helmstetter Gelner
A: 

i think after study give them some old project code to study them;

Akash
A: 

Send them here.

Amorya
A: 

Contribute to open source projects. http://mtgr8.users.sourceforge.net/