Emprender como Programador: Consejos Esenciales para Impulsar tu Carrera

El mundo de la programación se basa en un continuo aprendizaje. Dedicarse al desarrollo de software requiere estar siempre pendiente de lo nuevo, de lo que está por venir. El conformismo y el dejar de aprender cada día aboca a los programadores al destierro laboral. Tarde o temprano llega.

Cualquier recién llegado al mundo de la programación debe ser consciente de ello. Dicho lo cual, todos nos hemos preguntado, en menor o mayor medida, si debemos reciclarnos como programadores. O de forma más drástica, si debemos salir de nuestra aparente zona de confort, es decir, aprender algo radicalmente nuevo o incluso intentar otra salida laboral. Plantearse esta pregunta cada cierto tiempo es fundamental.

A veces no nos damos cuenta de que la excesiva carga de trabajo nos impide valorar la calidad o el tipo de trabajo que realizamos. No vemos cómo han ido surgiendo otras tecnologías o paradigmas de trabajo. Programar es una tarea compleja. Debemos saber especializarnos en ciertos ámbitos. Saber de todo es imposible (sólo apto para unicornios o auténticos full stack).

Los años de experiencia son muy diferentes para cada programador. ¿El lenguaje que estoy usando es adecuado para la complejidad de los nuevos problemas? ¿La plataforma en la que programo sigue teniendo futuro (o incluso presente)? ¿Debería utilizar otras herramientas en mi día a día? ¿Voy a las suficientes conferencias o meetup de desarrolladores?

El anterior párrafo es sólo un ejemplo del aturullado pensamiento de cualquier programador que empieza a darse cuenta de que quizás deba reciclarse. Los programadores sufrimos, en cierta medida, una aparente zona de confort provocada por estar trabajando durante muchos años en un mismo lugar, incluso sin evolucionar de puesto. Siempre tratando con las mismas tecnologías, las mismas personas, los mismos procesos, etc. Seguimos aplicando en un bucle lo mismo sin aprender cosas nuevas.

Lea también: Ideas de Artesanías Rentables

Aunque es duro tomar la decisión, a veces el remedio para superar esa fase de duda es abandonar esa pequeña zona de confort lanzándose a afrontar nuevos retos profesionales en otra empresa. O incluso lanzarse a crear su propia startup. No es extraño encontrarse en el mercado laboral desarrolladores cambiando cada cierto tiempo de trabajo para no quedarse estancados. Practicar el desk surfing es una oportunidad de integrarnos temporalmente en otro equipo viendo cómo trabajan. Obcecarse con algo en concreto no es bueno.

En el cambiante mundo del desarrollo software es recomendable fomentar la empatía tecnológica. No sólo entre programadores sino entre otros perfiles implicados en la construcción de productos digitales. Llevar ciertos años programando no implica que no debas interesarte por otros temas. Por eso, es muy beneficioso intentar comprender fuera de tu ámbito cómo trabajan (según tu caso particular) los diseñadores, la gente de backend, frontend, de las aplicaciones móviles, de la base de datos, de sistemas, etc. Una buena forma de ampliar conocimientos y tomar mejores decisiones siendo programador es ver cómo trabajan otras personas.

El Autoaprendizaje y la Importancia de la Lectura

Ya no es necesario ir hasta la biblioteca de la universidad para coger prestado un vetusto libro de programación. Ni tan siquiera buscar en librerías técnicas el último libro de cierta tecnología. Amazon está dispuesta a enviarte el libro que quieras desde el lugar más recóndito. Pero no sólo eso, el conocimiento con internet se ha extendido y democratizado. Podemos consultar de forma gratuita una gran cantidad de documentación técnica, tutoriales, artículos, posts y libros online.

El autoaprendizaje requiere disciplina y saber extraer información relevante de distintas fuentes y organizarlas. Ya no es nada difícil obtener un título a través de Stanford sobre cualquier lenguaje de programación o clases magistrales sobre desarrollo de aplicaciones móviles. Por ejemplo, en Coursera podemos participar en cursos preparados por profesores universitarios y seguir un decente trimestre de un curso, con deberes incluidos. También podemos optar por otras plataformas como Codeschool más orientadas al aprendizaje desde cero de algunos lenguajes como Ruby o Javascript.

Es necesario afianzar la base de conocimiento leyendo a los “clásicos”: Martin Fowler, Kent Beck, Uncle Bob. La lectura para un programador no es simplemente entretenimiento. Constantemente toca bucear por la documentación de SDKs, librerías, frameworks, nuevos lenguajes. No hay que limitar esta lectura a encontrar simplemente la respuesta a una pregunta específica. El afán de búsqueda en plan recetario en StackOverflow no ayuda al crecimiento profesional. Sino que hay que comprender y aplicar lo que leemos. No sólo limitarse a libros sobre tecnologías concretas, ya que en un par de años quedan obsoletos.

Lea también: Negocios innovadores para jóvenes

Es necesario afianzar la base de conocimiento leyendo a los “clásicos”: Martin Fowler, Kent Beck, Uncle Bob, etc., libros más enfocados en las buenas prácticas y en la arquitectura del software. Hace un tiempo Carlos Blé publicó en su blog un listado de libros imprescindibles sobre programación. "No es suficiente sólo con ser mejor programador. Todo tiene que encajar con un proyecto a largo plazo con sentido", Antonio Leiva (DevExperto).

La Figura del Mentor y los Proyectos Personales

Cuando el autoaprendizaje es duro o aún no somos lo suficientemente maduros (profesionalmente hablando) surge la figura del mentor. Muchas empresas lo incorporan desde el primer día dentro de su proceso de onboarding en la empresa, pero cuando queremos evolucionar por nosotros mismos necesitamos contar con algunos profesionales más expertos. Existen distintas iniciativas, una de ellas es la llevada a cabo por Antonio Leiva desde Devexperto, una web con contenido enfocados en el crecimiento profesional.

Llegar a casa y seguir teniendo ganas de programar. Quizás en tu trabajo de oficina de 9 a 7 no tengas la suficiente oportunidad para aplicar tu creatividad. Por eso tener proyectos personales, side projects, puede ser una buena forma de tener una vía de escape. Incluso de probar cosas nuevas y aprender. Enfrentarse por ti mismo a un proyecto en que eres el único responsable y en el que puede poner pasión es una de las formas más aceleradas y divertidas de aprender.

GitHub es una herramienta estupenda. La naturaleza de tu side project puede ser muy diversa. Desde una pequeña aplicación móvil hasta una librería Open Source. Utilizando GitHub podemos encontrar un catálogo inmenso de código del que aprender. Además de ser el repositorio perfecto de software libre que te ayudará a tu side project o incluso unirte al de otros programadores colaborando en el desarrollo de software libre.

La Práctica y el Entrenamiento Constante

Como en cualquier disciplina, el entrenamiento nos hace ser mejores. Tanto si llevas años programando como muy poco y quieres empezar a perfeccionar tu técnica: lo mejor es practicar. Según vayas avanzando en aplicaciones más complejas te irás encontrando con problemas sobre los que tendrás que aplicar lo aprendido. Esas soluciones que vas evolucionando en tu programación hará que vayas absorbiendo más conocimientos.

Lea también: Oportunidades de emprendimiento industrial

El Debate entre Emprendedores y Programadores

En ningún momento, desde el inicio del debate, se trató de ahondar en diferencias, sino de buscar zonas comunes. David Bonilla, a quien tengo que agradecer su actitud constructiva en todo momento desde que entró en este debate allá por el año 2010 y que también ha publicado sus impresiones del evento de ayer, resaltó esas diferencias de percepción de los emprendedores (que, insisto, no son para nada las que yo veo en los proyectos con los que tengo relación o en proyectos de IE Business School que han pasado varias rondas de supervisión por expertos de todas las áreas), la especial idiosincrasia del trabajo de desarrollo, y comentó que los desarrolladores buscaban en realidad proyectos sólidos que les valorasen, que tuvieran sensibilidad hacia el trabajo de programación, y que les dieran un buen sueldo.

Pretensiones por supuesto interesantes, pero también en muchos casos alejadas de la realidad del emprendimiento, donde muchas veces hablamos de emprendedores con experiencia potente y que podrían estar cobrando sueldos importantes en empresas, pero que renuncian a su sueldo durante tiempo para poder desarrollar su idea. Es necesario un balance en las percepciones: no, ni los MBAs son «niños de papá a los que les pagan el master», ni pretenden «contratar monos pagando cacahuetes», porque eso va en contra de la sostenibilidad de su idea.

La idea del «empresario explotador», nos pongamos como nos pongamos, no tiene demasiado que ver con el escenario habitual en una startup. Al menos, en las buenas startups. Simplemente, no tiene sentido. Hablamos de cosas distintas.

Muchas, muchas intervenciones interesantes: Sebas Muriel (Tuenti), Luis Rivera (Okuri Ventures, Tetuan Valley y Startup Spain), Raúl Mata (FDI Internet&mobile), Raúl Jiménez (minube), Diego Mariño (Ducksboard), Agustín Cuenca (ASPgems), Nuño López-Coronado (coches.com), Pablo Rodríguez (Genializa y Betabeers), Pablo Almunia (business angel y fundador de UEIA), Daniel Brandi (etece.com) o Pablo Ruiz Múzquiz (kaleidos), entre otros, proporcionaron sus percepciones e ideas al respecto, y avanzaron ideas en torno a otros debates también muy interesantes, como el de la subcontratación con socio tecnológico externo frente al desarrollo interno.

Al final, muchas ideas, muchas propuestas de continuidad y, sobre, todo, muchos puntos de contacto en torno a puntos que creo que era necesario hablar para superar. Repito: como en todos los campos de toda actividad, hay profesionales buenos, malos y regulares; proyectos buenos, malos y regulares; y desarrolladores buenos, malos y regulares… y eso no quiere decir ni que los emprendedores sean unos payasos, ni que los programadores no existan, ni que los proyectos sean todos chorradas insustanciales. Lo que quiere decir es que hay que moverse más, conocer a más gente, buscar puntos de contacto y no pedir lo imposible.

Cómo Ser Programador Freelance en España

Si quieres ser programador freelance en España, hay muchas cuestiones que necesitarás atar antes de iniciar tu negocio. Y no nos referimos al hecho de encontrar buenos clientes, sino a tener claras cuestiones como bonificaciones de la Seguridad Social, tu alta en Hacienda, cómo tendrás que emitir las facturas a tus clientes… Se trata de un conocimiento básico para iniciar cualquier negocio, que te ahorrará muchos quebraderos de cabeza futuros.

El Epígrafe de IAE

El primer paso para ser programador freelance en España es saber qué epígrafe de IAE (Impuesto de Actividades Económicas) te corresponde. Este epígrafe te dirá cómo tributarás el IRPF y el IVA, así como qué podrás deducir y la manera en que tendrás que facturar. En tu caso, hablamos del Epígrafe profesional 763 - Programadores y Analistas de Informática, encuadrado en la Sección 2 de actividades profesionales.

Tendrás que encuadrarte en este epígrafe si entre tus servicios a tus clientes se encuentran alguna de estas actividades:

  • Programador informático, programador de software…
  • Instalación y desinstalación de programas informáticos.
  • Configuración de router, VLAN, de servidores.
  • Actualización de programas informáticos.
  • Informático técnico.
  • Analista programador.
  • Venta de aplicaciones informáticas para terminales móviles.
  • Diseñador de página web.

Al estar encuadrado en el epígrafe 763, tributarás tus ganancias por el sistema de Estimación Directa del IRPF, y declararás el IVA según las normas del Régimen General.

Tips para el Alta de Programador en Seguridad Social

Al tramitar en España tu alta de autónomo como programador freelance, hay varias bonificaciones de la Seguridad Social que puedes estudiar. Como seguro ya sabes la más importante suele ser la tarifa plana, sobre todo si es tu primera vez. Además, dependiendo de en qué comunidad autónoma estés establecido, o población, puedes conseguir:

  • tarifa plana ampliada.
  • tarifa plana rural.

Si vas a compaginar un trabajo por cuenta ajena con tu negocio como programador freelance, podrías plantearte acogerte a la bonificación por pluriactividad. Y si con tu negocio vas a ofrecer servicio a un único cliente, una opción laboral con la que cuentan muchos informáticos que han trabajado fuera y quieren volver a España, recuerda que también podrías serías autónomo dependiente.

Tips para el Programador Freelance en Hacienda

Como te comentábamos antes, para ser freelance también tendrás que tramitar tu alta en Hacienda, que pasa por registrarte en el Censo de Empresarios, profesionales y Retenedores. Importante en este paso: indicar bien tu epígrafe, como te comentamos en el primer punto del artículo.

  • Si ya tienes algún cliente y está ubicado en cualquier país de la UE, o has contratado herramientas ubicadas también en Europa, es conveniente que solicites también tu registro en el ROI.
  • Si vas a trabajar desde casa indícalo en tu alta en el Censo los metros cuadrados totales de tu vivienda y los que usarás como despacho en casa para trabajar. Piensa que así podrás deducir los suministros en concepto de IRPF. No será mucho dinero el que te ahorrarás, pero algo es algo.

Como te comentábamos antes, al estar incluido como profesional en el Epígrafe 763 del IAE, pagarás tu IRPF según las normas del Régimen de Estimación Directa Simplificada. Esto quiere decir que:

  • pagarás cada trimestre un 20% de tus rendimientos netos (ingresos menos gastos deducibles).
  • si quieres tener más liquidez cada mes, tienes el derecho a retener en tus facturas sólo un 7% como pago a cuenta de la Renta. Esto no quiere decir que vayas a pagar menos IRPF.
  • a la hora de registrar una factura de venta, tendrás que retener un 7% o 15% en concepto de pago a cuenta del IRPF, y por el tipo de servicios que venderás, la mayoría de tus ventas tendrán un 21% de IVA repercutido.

¿Qué Gastos Deducibles tiene un Programador Freelance?

Teniendo en cuenta los tipos de gastos que tendrás como programador, a continuación te resumimos los más comunes que podrás deducir y cómo:

  • ordenador y cualquier otro equipo informático.
  • herramientas online.
  • gastos de material de oficina.
  • cuota de autónomo.
  • cualquier servicio profesional que vayas a contratar, como una gestoría.
  • cursos que vayas a recibir, congresos a los que asistas, o si quisieras apuntarte a cualquier asociación, o suscripciones de revistas de tu sector.
  • publicidad.
  • seguros.
  • teléfono móvil.
  • traslados: aunque debido a tu actividad como programador no podrás deducir el 100% de la gasolina, u otros gastos del coche, sí podrás incluir en tus gastos dietas y viajes.

Recuerda estudiar si te conviene más trabajar desde casa o desde un coworking, teniendo en cuenta no solo tu disponibilidad económica, sino si tu casa es de alquiler, pues tendrás más problemas para deducir dichos suministros, ya que necesitarías factura por dicho alquiler.

Modelos Más Comunes en los Trimestres para un Programador

  • IVA: cada trimestre tendrás que presentar el modelo 303, para informar a Hacienda de tu IVA repercutido (el incluido en tus facturas de venta) y el soportado (el que puedes deducir). Y además cuando finalice el ejercicio fiscal, presentarás su modelo anual relacionado, el 390. Y si como te comentábamos antes compras o vendes en Europa, tendrás que presentar el 349.
  • IRPF: el modelo para informar a Hacienda de tus ingresos será el 130. No tendrás que presentarlo si más del 70% de tus facturas llevan retención de IRPF. Es decir, si vendes a otros profesionales o empresas, aplicarás retención, por lo que no haría falta que presentaras el modelo 130. Su declaración anual es la Renta.

Siguiendo con el IRPF encontramos el modelo 111, que te afectará cuando recibas facturas con retención de tus proveedores. Será tu obligación ingresar a Hacienda esta retención. No lo pierdas de vista porque es muy común. Si vas a trabajar en un coworking, o en un local alquilado, presentarás el 115.

Como ves hay muchísimos modelos y es importante estar familiarizado con ellos para presentar tus impuestos correctamente.

Otros Tips para Trabajar como Programador Freelance

  • Es siempre recomendable redactar un contrato comercial con tu cliente, en el que queden claras cuestiones como en qué consistirá el servicio, o los plazos de pago de las facturas.
  • No te olvides de buscar buenas plataformas para encontrar trabajo. En portales como Jobsora puedes encontrar muchas ofertas. Además, aprovecha al máximo las redes sociales para trabajar tu marca personal, aumentando así las posibilidades de tener más tus clientes.

Dominar varios lenguajes, reciclaje constante y proactividad, son algunas de las aptitudes que se buscan hoy en día de los programadores, según varios estudios.

Reciclarse y Convertirse en Programador: ¿Es Posible?

Sí, es posible reciclarse y convertirse en programador viniendo de otros ámbitos laborales, si la motivación es lo suficientemente fuerte para hacerlo. El proceso obviamente no es fácil, tienes que reinventarte como profesional (normalmente después de una crisis, primero profesional y luego personal o a la inversa), y encontrar la suficiente energía y fuerza de voluntad para afrontar el reto y romper con tus propios prejuicios ante todo.

El hecho de llevar más de 15 años trabajando en una empresa de desarrollo y nunca haberme encontrado con un perfil así me lleva a la siguiente reflexión: ¿Es posible reciclarse en programador cuando ya has superado la barrera de los 35-40 años de edad (o más)?

Consejos para Afrontar el Proceso de Reciclaje con Éxito

  1. Entenderse a uno mismo: Si de verdad te conoces sabrás si tu feliz idea de convertirte en programador de software viene porque de verdad te gusta y hay algo dentro de ti que te hace "tilín" cuando ves un software, y te preguntas sobre cómo estará hecho o cómo se relaciona la información, o si te paras en un vídeo de YouTube sobre programación, este tipo de cosas... Si por el contrario tu afán de reciclarte hacia la profesión del desarrollo de software es porque sabes que es un campo con mucha demanda laboral y crees que encajarás porque te gustan las pelis de hackers... El primer paso en el camino para convertirse en un desarrollador de software es entenderse realmente a uno mismo.
  2. Probar las aguas: El objetivo en esta fase no es que de verdad aprendas a programar, sino probar las aguas un poco. Lo que quieres en este punto es comprobar si eres capaz de avanzar un poco y asimilar ideas, y sobre todo si te gusta y te motiva. Abre una cuenta en GitHub y pon todos tus pequeños proyectos en tu perfil. Esto te ayudará a crear un porfolio y reflejará tu dedicación con el paso del tiempo. Es muy motivante ver tus creaciones todas juntas y analizar tus progresos al principio.
  3. Superar la edad: Claro que es un incordio tener que labrarse el camino laboral de nuevo entrando a optar a puestos con personas que son 10 o más años joven que tú, pero eso ya lo sabías... Bueno, eres "mayor", ¿y qué? Supéralo. Si no lo haces tú los demás tampoco, porque al final somos lo que proyectamos. Un puesto de principiante te da la libertad de fracasar. Sí, la mayoría de los desarrolladores sénior serán más jóvenes que tú. Al principio sentirás presión por el tema de tu edad y por verte empezando de nuevo. En esos momentos tienes que mantener la cabeza fría porque ya el tiempo juega a tu favor si has llegado a este punto. Te darás cuenta de que si cumples con tus funciones a nadie le importará tu edad lo más mínimo, porque así funciona el mundo laboral y lo sabes.
  4. Disfrutar del proceso: El desarrollo de software es una actividad que se desarrolla a un ritmo extremadamente rápido y la única forma de mantenerse al día es seguir disfrutando. Sigue haciendo cursos que sean divertidos, sigue haciendo proyectos que te mantengan despierto hasta la medianoche.
  5. Ser pragmático y curioso: Tienes que ser lo más pragmático posible y tener mucha curiosidad por aprender, y hacer las cosas con iniciativa propia, con proactividad. Esto es fundamental si quieres dar este paso con firmeza hasta el final. No va a ser fácil y te va a costar muchísimo esfuerzo. Conocerse bien es básico antes de emprender esta transformación.

La Programación como Oficio Exigente

Ser programador te ayuda a crear, a desarrollar, a diseñar, a pensar. La programación es un oficio muy exigente, necesitas usar todas tus capacidades y tienes que dar siempre el 120%, la cafeína es tu compañera de trabajo y aliada. Desconectar se hace muy difícil a veces imposible.

El tiempo es tu enemigo y el deporte tu salvación. Las vacaciones de un programador pueden ser horribles para las personas que lo acompañen, se asemeja mucho a las de cualquier empresario, sobre todo si trabaja por cuenta propia. Leer el correo electrónico diariamente, llamadas, supervisar proyectos, monitorizar, corregir errores mientras estás de vacaciones, porque recuerda aunque aparentemente todo funcione de forma correcta, sólo es cuestión de tiempo para que algo falle.

La Programación y el Emprendimiento

Todos los emprendedores que he conocido en los últimos años necesitaban los servicios de un programador. Muchos de los actuales emprendedores se han metido de lleno en el mundo digital o quieren hacerlo. ¿Y quién está detrás de todas las webs, aplicaciones, plataformas, sistemas? A cualquier programador como a mí, le gustaría tener más tiempo para dedicárselo a sus propios proyectos.

Beneficios de Ser Programador

Ser programador no es sólo ser programador. Te realiza como persona, aprendes cada día, te convierte en una persona en constante evolución, abierto a todo tipo de nuevas cosas, más propenso a adaptarte a cualquier situación, siempre pensando en mejorar, un poco en alerta constante. Te ayuda a controlar el miedo a lo desconocido. Te aporta sabiduría, llega un momento en el que crees saberlo todo, lo cual provoca que a veces puedan aparecer síntomas de arrogancia en algunos programadores.

tags: #emprender #como #programador