1. Introducción
¡Hola!
Si estás leyendo esto, supongo que: estás empezando a trabajar como freelance (o quieres hacerlo) o simplemente estás buscando algunos consejos sobre el proceso en sí. Actualmente, llevo más de 6 años trabajando como freelance y la intención de este artículo es tratar de guiarte a través de los diferentes aprendizajes que obtuve a lo largo de esos años.
Honestamente, no me puedo quejar de las cosas que obtuve a lo largo de esos años. Comencé principalmente por la experiencia (pero no voy a mentir que el dinero extra siempre se sintió genial) y terminé con un montón de aprendizajes diferentes además de la experiencia: desde desarrollar un montón de ideas diferentes hasta comunicarme mejor con los clientes e incluso aprender cosas que no tuve la oportunidad de poner en práctica.
Para mí, estos son los mayores atractivos para el trabajo independiente.
2. Primeros pasos: clientes
En primer lugar, tenemos que aprender un poco sobre los clientes. Aquí tenemos tres temas importantes que cubrir:
- Encontrar y asegurar
- Negociando
- Asuntos legales
Encontrar y conseguir clientes
Empecemos por repasar el primero: encontrar y conseguir clientes. Esto puede ser bastante difícil. Cuando empecé a trabajar como freelance no tenía ni idea de dónde encontrar un cliente, así que empecé a entrar en sitios web como Workana y Fiverr .
¿Funcionó? No. No solo nunca conseguí un cliente de ese tipo de sitios web, sino que, para ser honesto, ese tipo de sitio web siempre me hizo sentir que el trabajo que estaba haciendo al crear software era barato y descartable. Para ser justos, hay un montón de desarrolladores que realmente ganan dinero con esto, así que, tal vez, fue solo una desgracia de mi parte.
Después de eso, comencé a contactar a mis amigos para ver si alguien conocía a alguien que estuviera buscando un desarrollador y en menos de 2 días tuve mi primer cliente que me pedía un sitio web, no un amigo directo, sino un amigo de un amigo. Después de terminar el trabajo con este primer cliente, sintió que el trabajo era realmente bueno y corrió la voz; desde entonces nunca he estado sin un trabajo freelance.
Mi primer consejo es el siguiente: no ignores el boca a boca y el alcance orgánico. ¡Son tremendamente poderosos y pueden llevarte muy lejos! Pregunta a tu red y, muy pronto, la gente comenzará a encontrarte. ¿No tienes una red? Comienza a crear una ( aquí tienes una referencia para que comiences y puedas probar esos sitios web mientras aún no esté listo).
¿Un segundo consejo? No aceptes necesariamente la idea de tu cliente. Ellos piensan que les gustaría una aplicación, pero tal vez, la persona estaría más preparada para una aplicación web. Tú eres el especialista, usa tu experiencia (o contacta a otros para determinar mejor esto) y decide cuál es la mejor opción en este caso.
Negociando
¡Finalmente sucedió! ¡Encontraste un cliente y quiere tu software! ¡Felicitaciones! Ahora pasamos a la segunda parte, que es la negociación. Esta es una habilidad crucial que debes adquirir como ingeniero de software (si deseas aprender más, puedes encontrar más contenido sobre comunicación aquí ).
Cada fecha límite que usted tendrá que cumplir estará influenciada por la capacidad de negociación suya y de las personas por encima de usted, en un mundo corporativo.
Por lo general, cuando hablas con un cliente, quieren una idea de presupuesto lo más rápido posible, y aquí es donde las cosas van mal, el tiempo del software es DIFÍCIL de estimar, por lo que, si te apresuras, solo hay dos resultados posibles: si excedes el presupuesto y al cliente no le gustará, o si lo subestimas y vas a trabajar gratis.
Además del presupuesto, también quieren saber fechas y tiempos, porque no tienen idea de si su proyecto va a durar una semana o un año y el ciclo se repite, solo hay dos resultados posibles, o lo van a acortar, teniendo que trabajar mucho más de lo previsto o van a dedicar demasiado tiempo para que el cliente se sienta cómodo.
Tu trabajo aquí es uno solo: simplemente tranquilizar a esa otra persona ansiosa con la que estás tratando. Ella quiere saber cosas y quiere saberlas rápido, solo tienes que recordarle que este es un proceso de ingeniería y que tendrás que hacer algunos ajustes antes de llegar a los presupuestos y las fechas con precisión.
A veces, encontrarás algunos clientes que están especialmente ansiosos por querer saber cosas. En este caso, si has trabajado como freelance antes, puedes intentar calcular un rango a ojo para que se tranquilicen. Si nunca has trabajado como freelance y sientes que este cliente es un caso extremo, pregúntale a alguien con experiencia en el trabajo freelance cuánto deberías cobrar y te ayudará.
Aspectos legales
Esto es bueno si tu cliente te conoce de alguna manera: ¡probablemente no vas a profundizar en los aspectos legales! Pero, honestamente, al menos alguna idea contractual es generalmente necesaria: todos son buenos para exigir cosas, pero no todos son buenos para pagar lo que exigen. ¿No has hecho un contrato y tu dinero no llegó? Bueno, eso es malo, al menos aprendiste algo. La implementación más divertida de una solución a este problema en mi opinión es esta:
También es importante que conozcas un poco las normas de tu país en materia de impuestos y empleos informales como este. No es necesario que investigues en profundidad al principio, pero basta con que aprendas un poco sobre cómo funcionan las cosas y qué impuestos, si es que debes pagar alguno.
3. Gestión de proyectos e ingeniería
Ahora que hemos cubierto los aspectos básicos de la búsqueda de clientes y la gestión del aspecto comercial del trabajo independiente, profundicemos en el núcleo de lo que hace que un ingeniero de software independiente tenga éxito: prácticas de ingeniería y gestión de proyectos eficaces. Como trabajador independiente, no solo eres responsable de escribir código; también estás a cargo de administrar todo el ciclo de vida del proyecto. Esto incluye varios aspectos clave:
- Comprender y definir los requisitos del proyecto
- Creación de estimaciones precisas de tiempo y costos
- Dividir los proyectos en tareas manejables
- Utilizando herramientas y metodologías de gestión de proyectos
- Mostrar el progreso semanalmente o de forma recurrente
Por lo general, mientras estamos en la universidad, tenemos una disciplina completa de seis meses para aprender sobre los procesos de ingeniería de software y cómo hacerlo precisamente. ¿No tienes seis meses? Aquí tienes la versión resumida:
- Divida todo el proyecto en un conjunto de hitos principales
- Divida esos hitos en funciones para hacerlos posibles.
- Profundice en esas características y conozca lo que quiere su cliente.
- Intente estimar esas características en horas/días de trabajo.
- Si tienes personas con experiencia cerca, pídeles que revisen tus estimaciones teniendo en cuenta TU nivel de habilidad.
POR FAVOR, planifique las cosas. Un estudio reciente concluyó que los proyectos que tenían requisitos claros antes de comenzar el desarrollo tenían un 97 % más de probabilidades de tener éxito que aquellos que no los tenían.
Después de calcular las características, agregue algo de tiempo adicional para el caos del mundo, los errores o las revisiones. Esta práctica ayuda a gestionar las expectativas del cliente y garantiza que tenga espacio para entregar un trabajo de alta calidad; este es el objetivo, ya que es lo que impulsará su alcance orgánico.
Recuerda: siempre es mejor prometer poco y entregar mucho, no al revés.
4. Creé una herramienta para ayudar: Founders Kit
A lo largo de los años que llevé a cabo como freelance, probé muchas herramientas diferentes para organizar mi proceso. Me costó mucho ensayo y error, pero me di cuenta de que ninguna se adaptaba perfectamente a mis necesidades: en algunos casos, eran demasiado complejas y aportaban muchas funciones que no utilizaba; en otros, no tenían algunas cosas esenciales.
¡Lo mejor de todo es que soy ingeniero! Por eso, durante el último mes trabajé mucho para crear una solución que ayude a gestionar el aspecto comercial de esto. Se llama Founders Kit y me encantaría que nos ayudaras en Product Hunt y la probaras ;D
5. Conclusión
¡Hola! Has llegado hasta el final. Espero que hayas empezado a darte cuenta de que trabajar como freelance en ingeniería de software puede ser una carrera profesional gratificante y desafiante, que puede hacerte ganar dinero extra y brindarte experiencias realmente interesantes.
Si sigue las pautas descritas en esta guía (desde cómo encontrar y conseguir clientes hasta cómo negociar eficazmente, gestionar proyectos y utilizar herramientas como Founders Kit), estará bien equipado para comenzar su trayectoria como profesional independiente.