Cuál es el sueldo medio de un buen desarrollador iOS freelance?

La tarifa va a depender de:
1. Tu relación con el cliente
2. El área de especialización (aplicación de llamada a la API directa, diseño de juegos, modelado 3D, etc.)
3. Tu nivel de implicación (¿Te limitas a codificar un wireframe perfecto de píxeles? ¿O también defines el aspecto de la aplicación?
4. Tu nivel de experiencia

He visto que las tarifas en los EE.UU. tienen un promedio de $70/hora-$250+/hora dependiendo del área de especialidad.

Hay 2 maneras de abordar esto:

Por proyecto
Me gusta usar este enfoque cuando:
a. El cliente tiene un presupuesto fijo en mente
b. El proyecto es pequeño y tiene un buen alcance (wireframes, conjunto de características exactas, plazo realista)

Si una aplicación tiene un componente de servidor que's manejado por un equipo secundario o desarrollador, asegúrese de tener en cuenta esto en su línea de tiempo y contrato.

Una vez que tenga las características, comience a dividirlas en hitos. Idealmente, usted quiere tener los hitos divididos para que el primero realmente produzca algo que sea visible para su cliente (es decir, el hito 1 no debe ser 'configurar objetos del modelo'). Esto ayudará a mantener a su cliente feliz y comprometido.

También, tenga su estructura de pago dividida en:
1. Pago inicial (mínimo para iniciar el proyecto)
2. Hitos 1, 2, 3 (personalmente trato de evitar más de 4 si puedo evitarlo)
3. Pago de finalización (Esto puede ser la presentación a la AppStore)

Una vez completado, puede negociar opcionalmente un contrato secundario para el mantenimiento. Por lo general, me gusta hacer esto por separado, ya que tengo una mejor idea de la cantidad exacta de trabajo necesario para el mantenimiento después de que un proyecto ha terminado.

Por hora
Esto es más sencillo y es excelente para las aplicaciones en curso que son de mantenimiento o aplicaciones no cubiertas. Cuando proporciono hojas de tiempo, me gusta proporcionar un número exacto de horas trabajadas cada día y también referencias a los tickets (JIRA, Trello, etc.) que son visibles para el cliente/gerente de desarrollo para que sepan que no estoy jugando a Fallout mientras registro las horas.

¿Otra recomendación? Asegúrate de poner una cláusula de rescisión del cliente cuando negocies tu contrato. He tenido experiencias en las que he trabajado con un ingeniero de servidores en tándem, y los retrasos por su parte hicieron que mis hitos se retrasaran causando retrasos en los pagos y demás. No merece la pena el estrés. Por supuesto, hay maneras de evitar esto como el uso de clases simuladas en su código para simular las respuestas, pero se retrasa la entrega final y puede afectar a sus plazos para tomar en futuros proyectos.

Espero que esto ayude. No dude en enviarme un mensaje si desea más información. Estaré encantado de ayudarte.