Alguna gente aprende Python por pasión o hobby. Otros muchos hacemos de él nuestra profesión. Cualquiera que sea tu caso, el poseer habilidades de programación y conocimientos de Python te brinda la posibilidad de ganar dinero.
Te cuento en este artículo diferentes formas en las que puedes ganar dinero programando en Python. Algunas de ellas te permitirán vivir de este fantástico lenguaje de programación o, al menos generar algunos ingresos extra.
Las distintas maneras de hacer dinero con Python pasan por la venta de productos y servicios, la generación de contenidos y la explotación propia de las habilidades de programación. Las principales formas de monetización son la contratación, la venta, la afiliación y la publicidad.
Aviso: algunos enlaces de este artículo son enlaces de afiliado. Esto quiere decir que si haces click en ellos y contratas algún servicio de los que yo recomiendo personalmente, puedo llevarme una pequeña comisión sin ningún coste extra para ti.
- Cómo ganar dinero programando en Python
- Encuentra empleo como desarrollador Python
- Conviértete en desarrollador freelance
- Crea y vende tu propio software
- Proporciona soporte a tus usuarios
- Haz web scraping
- Crea y vende ropa y accesorios print on demand
- Crea un blog o website
- Ofrece clases particulares
- Escribe un libro
- Crea y vende un curso
- Crea un canal de YouTube
- Entrena y vende modelos de Inteligencia Artificial
- Crea apps móviles
- Desarrolla videojuegos
- Crea y vende APIs
- Crea un SaaS
- Corrige bugs
- Participa en competiciones de programación o hackatones
- Haz de tutor o mentor
- Crea un podcast
- Compraventa y flipping de webs, software y servicios
- Consideraciones finales
Cómo ganar dinero programando en Python
Tanto tu destreza con Python como las habilidades adquiridas y potenciadas por ser desarrollador pueden proporcionarte múltiples beneficios. En concreto, aquí hablaremos de los económicos.
Te voy a presentar a continuación un extenso listado de alternativas para obtener ingresos gracias a Python. Te las presento sin ningún orden concreto, pues pienso que no existe un orden que satisfaga a todo el mundo.
Lo que sí es cierto es que se clasifican en unas pocas categorías como son, principalmente, la creación de contenidos, la venta de tus servicios y la explotación propia de tu código y habilidades.
En algunas de las formas que estás a punto de leer, el flujo entrante de dinero es evidente, como la venta directa de productos o servicios, pero en otras no tanto. Por eso quiero dejarte aquí resumidas algunas maneras de monetización no evidentes si no estás muy al tanto del mundo de la generación de contenidos. Las mencionaré aquí y allá a lo largo de todo el artículo y quiero que sepas a qué se refieren. Estas son esas principales maneras de monetización:
- Afliación. Se trata de recomendar productos de terceros. Si alguno de tus usuarios o visitantes hace click en un enlace de afiliado y compra un producto o servicio, tú te llevas una comisión sin coste extra para tu visitante. Existe una multitud de programas de afiliados diferentes, siendo uno de los más conocidos el de Amazon, en el que puedes recomendar cualquiera de sus productos y ganar dinero cada vez que alguien compre algo.
- Publicidad. Consiste en la colocación de anuncios con compañías como la que se utiliza en este blog, The Moneytizer, o Google Adsense, por citar algunas de las más conocidas.
- Patrocinadores. Es algo parecido al punto anterior, de publicidad, pero en este caso, tú contactas directamente con tu patrocinador y no a través de otra compañía. Aunque también puedes utilizar el famoso programa de patrocinadores Patreon.
- Contenido privado. Si generas contenido, puedes crear una suscripción de pago o membresía que permitan el acceso a una parte de privada de dicho contenido.
Bueno, y con esto en mente, ya podemos entrar en materia. Espero que alguna de estas ideas (o varias) te hagan "click" en la cabeza.
Y no olvides de revisar antes de irte la última sección de este artículo, "Consideraciones finales", con algunos consejos extra para ti. 🙂
Encuentra empleo como desarrollador Python
Puede parecer evidente, pero no debo dejar pasar la oportunidad de hablar de la principal fuente de ingresos con la que cuenta la mayoría de desarrolladores Python. Sobre todo porque hoy en día las cosas están cambiando un poquito.
Si tienes las habilidades necesarias y la experiencia suficiente que te avale (ojo, para muchos puestos no es necesaria experiencia) la primera opción es buscar un empleo de desarrollador.
No me voy a extender mucho más porque poco puedo decir aquí, pero sí quiero proponerte dos alternativas para que veas que hay más opciones fuera de tu ciudad o de tu entorno para encontrar un empleo. Sobre todo teniendo en cuenta que el trabajo remoto y flexible está tomando cada vez más impulso y fuerza.
La primera de las opciones me parece maravillosa. Se trata de Turing, una compañía muy joven que está cosechando mucho éxito en este ámbito. Su misión principal es conectar a empresas top y start-ups de Sillicon Valley y Estados Unidos en general con posibles trabajadores del resto del mundo.
Para ello hacen una preselección de los candidatos con diversas pruebas técnicas que después emparejan con empresas mediante un sistema basado en inteligencia artificial.
Pero lo más interesante es que todos los puestos de trabajo ofrecidos son 100% remotos, para realizar desde casa (o desde donde quieras), con todos los beneficios que eso implica.
Te envío todos los días un consejo para que cada día seas mejor en Python.
Siempre sobre Python y programación.
Más de 2500 personas como tú los reciben cada día.
Día que estás fuera, consejo sobre Python que te pierdes.
Antes de suscribirte consulta aquí la
Finalidad de recogida y tratamiento de datos personales: enviarte boletín informativo de Python y comunicaciones comerciales.
Legitimación: tu consentimiento.
Destinatarios: no se ceden a terceros. Los datos se almacenan en los servidores de marketing (GetResponse).
Derechos: podrás ejercer tus derechos de acceso, rectificación, limitación y supresión de datos en info @ codigopiton.com así como presentar una reclamación ante una autoridad de control.
Más información: política de privacidad, encontrarás información adicional sobre la recopilación y el uso de tu información personal.
Es decir, Turing representa una oportunidad fantástica para poder optar a trabajar en una empresa estadounidense te encuentres donde te encuentres, ya seas de España, Latinoamérica o Islandia.
Además, no solo se ofrecen puestos de desarrollo para Python, así que, si dominas otras tecnologías, no dejes pasar esta oportunidad. Puedes consultar aquí, como ejemplo, un listado de todos los puestos disponibles para desarrolladores de LatAm.
Si te interesa, no dudes en hacer click en el botón y registrarte para aplicar. Puede ser una gran oportunidad.
Otra posibilidad que también debes considerar si estás buscando trabajar desde casa es Flexjobs. Es un sitio de búsqueda de empleo remoto y flexible nacido en el año 2007, es decir, un sitio que ya cuenta con gran experiencia.
Tienen un gran catálogo de ofertas de trabajo de casi 6000 compañías diferentes, todas ellas revisadas manualmente y de alta calidad, desde niveles de iniciación hasta roles ejecutivos.
Una diferencia respecto de la anterior alternativa es que el registro no es gratuito, sino que hay que pagar una cuota para poder optar a los puestos de trabajo anunciados.
La otra gran diferencia aquí es que no está destinada solo a trabajos tecnológicos, sino que son más generales y se ofertan puestos de todo tipo, aunque, por supuesto, no escasean los puestos de desarrollador Python.
En cualquier caso, es otra opción que debes probar, pues creo que merece mucho la pena.
Conviértete en desarrollador freelance
Te explicaba en otro artículo cómo contratar a un programador de Python en plataformas de freelancers. De la misma manera que puedes pagar por servicios en este tipo de plataformas, tú también puedes registrarte para ofrecer tus propios servicios.
Existen múltiples plataformas pero mi recomendación es que comiences con Fiverr, por sencillez y alcance. Una vez que te registres podrás dar de alta los servicios que consideres. Así, tus posibles clientes podrán encontrar estos servicios y contratarte.
Una vez realizado el trabajo, ganarás lo que hayas estipulado para tu servicio menos la comisión de la plataforma. Si dejas satisfechos a tus clientes y te dan buenas puntuaciones y reseñas, atraerás a más clientes. Puedes llegar a ganar un buen dinero en estas plataformas.
Además, aquí tienes dos opciones. La primera de ellas es la de crear servicios de desarrollo en Python, que pueden estar relacionados con cualquier temática, como optimización de programas, machine learning, data science, web scraping o incluso, clases online, por ejemplo.
En la segunda opción se trata de aplicar un poco la picardía. Puedes ofrecer servicios que no involucren directamente el desarrollo en Python pero que tu ofrecerás aplicando Python.
Me explico. Muchos servicios ofrecidos por freelancers tratan de la realización de tareas repetitivas como pueden ser el procesamiento de datos, añadir marcas de agua a imágenes, renombrar ficheros en masa, y cualquier otro tipo de tareas que pueden automatizarse.
Puedes ofrecer este tipo de servicios y resolver las tareas que se te encarguen aplicando Python, consiguiendo así resolver esos trabajos de manera muy rápida y automática y casi sin necesidad de invertir tiempo. Se trata de trabajar inteligentemente.
Es posible que las primeras veces tengas que programar y mejorar tus scripts para resolver estas tareas, pero poco a poco invertirás menos tiempo cada vez.
En cualquier caso Python te abre una gran mundo dentro de las plataformas de freelancers.
Crea y vende tu propio software
La venta de software no deja de crecer a nivel global. El mundo es cada vez más tecnológico y no paran de surgir nuevas necesidades. Y siempre hace falta software.
15 conceptos fundamentales que necesitas conocer para aprender y dominar Python
Te voy a hacer cuatro regalos (no uno, no dos, no tres, cuatro) que hablan de estos 15 conceptos fundamentales de Python: mi Tutorial Básico Interactivo de Python, una cheat sheet de Python en español: La Hoja de Referencia de Python, una guía de ChatGPT y Python y 30 ejercicios de Python (es un reto para ti).
Estos regalos son exclusivos para los suscriptores de Código Pitón.
Puedes plantearte el desarrollo de tu propio software que resuelva una necesidad específica. Una vez desarrollado lo puedes poner a la venta en plataformas de comercio electrónico.
Algunas de las plataformas más conocidas para que abras tu propia tienda de software son Shopify y Sellfy. Ambas te brindan todas las herramientas necesarias para que puedas abrir de manera sencilla tu tienda online (de software o de cualquier otro producto). Sellfy es perfecta para principiantes mientras que Shopify es algo más avanzada, aunque no deberías de tener problemas con ninguna de las dos.
De todas formas, si quieres evitar estas plataformas de terceros (y sus comisiones) puedes promocionar y vender tu software a través de tu propia página web. Mas adelante te cuento cómo crear la tuya propia.
Una vez tengas tu producto listo para su compra por parte de tus clientes, puedes anunciarte en directorios de software tan importantes como Capterra para ganar clientes.
Proporciona soporte a tus usuarios
Si ya has vendido algún software una buena forma de hacer dinero extra es ofreciendo soporte de pago.
Esto funciona muy bien si, además, el software es gratuito. Es decir, el software no lo vendes, es un producto gratis de descargar y gratis de usar, pero el soporte es de pago. Es un modelo de negocio diferente y que utilizan muchas compañías.
Ahora bien, ¿por qué los usuarios iban a necesitar soporte?
Pues puede ser que no sepan como usar alguna característica, o que no logren exprimir todo el potencial de tu producto.
También puede ser que se topen con algún bug, error o fallo, y necesitan que lo arregles lo antes posible.
Aquí es donde entra en juego el soporte. Debes establecer una vía de comunicación por parte de los clientes contigo. Por ejemplo, correo electrónico, WhatsApp, Telegram, etc.
Además, tendrás que establecer algún mecanismo de pago de tipo puntual (te pagan por cada consulta) o de tipo membresía (te pagan recurrentemente una cantidad cada semana o cada mes, por ejemplo). Eso da derecho a tus usuarios para comunicarse contigo y recibir el soporte que necesitan.
Una vía habitual de soporte en el mundo de software son los sistemas de tickets. En estos sistemas los usuarios "abren un ticket" cuando tienen un problema o una consulta y el equipo de soporte (o tú) las va resolviendo según les van llegando.
Existen muchos sistemas de soporte basados en tickets. Algunos de los más conocidos son Freshdesk y Zoho Desk.
Haz web scraping
Si lo tuyo es el web scraping y dominas herramientas como Beautiful Soup o Scrapy tienes múltiples maneras de hacer dinero.
Es una técnica que consiste en obtener de manera automática, mediante un script o programa, los datos contenidos en páginas web.
Más allá de las consideraciones éticas que pueda acarrear, el web scraping me parece una herramienta maravillosa. Casi mágica. Y, por tanto, cualquiera que sepa realizarlo tiene un superpoder, en mi humilde opinión.
¿Quieres tener ingresos extras aplicando este tipo de técnicas?
Puedes ofrecer tus servicios como freelance como experto en esta técnica.
Día que estás fuera, consejo sobre Python que te pierdes.
Antes de suscribirte consulta aquí la
Finalidad de recogida y tratamiento de datos personales: enviarte boletín informativo de Python y comunicaciones comerciales.
Legitimación: tu consentimiento.
Destinatarios: no se ceden a terceros. Los datos se almacenan en los servidores de marketing (GetResponse).
Derechos: podrás ejercer tus derechos de acceso, rectificación, limitación y supresión de datos en info @ codigopiton.com así como presentar una reclamación ante una autoridad de control.
Más información: política de privacidad, encontrarás información adicional sobre la recopilación y el uso de tu información personal.
También puedes vender directamente los datos a quien los necesite.
Si lo que prefieres es usar los datos en tus propio beneficio, es decir, explotarlos tú mismo, puedes hacerlo. Piensa en la cantidad de información que se mueven cada día en internet.
Te doy una cuantas ideas de las aplicaciones típicas:
- Obtención de datos para el entrenamiento de modelos de inteligencia artificial.
- Seguimiento de precios de productos y servicios.
- Realización de auditorias SEO (search engine optimization).
- Seguimiento y monitorización de resultados deportivos.
- Inversión financiera automática.
- Monitorización del clima.
En fin, un montón de cosas, seguro que a ti se te ocurren muchas interesantes, pon a trabajar tu imaginación.
Crea y vende ropa y accesorios print on demand
Sí, sé que puede parecer raro, pero en el mundo de la moda y los accesorios hay cabida para todo tipo de temáticas. La programación, el desarrollo del software y Python son algunas de ellas.
El modelo de negocio print on demand (POD, por sus siglas en inglés, impresión bajo demanda) se basa en que cualquier persona puede crear diseños y venderlos en forma de ropa, como camisetas o sudaderas o accesorios como pegatinas, tazas o cojines.
Se trata, solamente, de realizar el diseño mientras que es otra empresa la que se encarga de imprimir o estampar tus diseños en sus productos y realizar la distribución. Es un modelo de negocio enorme con todo un mundo detrás y que puede resultar muy lucrativo.
Aquí te muestro, por ejemplo, una taza y camisetas con temática de Python. Pretty cool, huh?
Existen multitud de servicios con los que iniciarte en el mundo de la impresión bajo de manda. Por su sencillez te voy a recomendar RedBubble, pues no necesitas tener un servidor aparte para montar tu tienda. Pero existen otros muy importantes, de los que probablemente has oído hablar, como Printful o Printify.
Ten en cuenta que, además, puedes usar tus habilidades en Python para crear diseños automatizados así como cargar de manera automática estos diseños a las plataformas de venta. Esto te dará una ventaja competitiva sobre otros diseñadores que realizan estas tareas de forma manual.
Crea un blog o website
Se estiman que hay más de 600 millones de blogs en el mundo.
Con estas cifras es indudable que se trata de un medio de comunicación muy importante y que cada vez va tomando más fuerza, en contra de lo que muchos cuentan.
Crear un blog te sirve para alcanzar a mucha gente que está interesada en el tema sobre el que versa el mismo.
En el caso de Código Pitón, el blog que estás leyendo y que orgullosamente escribo, miles de personas todos los meses aprenden algo sobre Python.
Puedes monetizar un blog de muchas maneras para hacer algo de dinero. Las más habituales son las que ya te he contado al principio de este artículo: afiliación, publicidad y patrocinadores.
De todas maneras, una de las grandes ventajas de tener un blog o web propio es poder promocionar y vender tus propios servicios sin plataformas de terceros o intermediarios.
Efectivamente, tener un blog puede ser un canal fantástico para vender tus propios servicios o cursos relacionados con Python o con la programación.
La creación de un blog es un proceso muy sencillo y que requiere de una inversión inicial mínima. Solo necesitas comprar un dominio, contratar un alojamiento (hosting) e instalar WordPress, que es el sistema de referencia gratuito para la creación de blogs.
Existen muchos servicios de alojamiento, cada uno con sus pros y sus contras. Yo, después de mucho investigar, me incliné por el alojamiento de LucusHost, por su buen rendimiento, su buen soporte al usuario y su buen precio. Desde solo unos pocos euros al mes tendrás un hosting de calidad. Además, te regalan el dominio si te registras con ellos. Puedes probarlos 15 días sin compromiso.
Algo que me gusta mucho de LucusHost es que te permite instalar fácilmente una aplicación web Python con Django o Flask, otra cosa que muchos alojamientos no facilitan.
Si crees que crear un blog puede ser lo tuyo, ¡no lo dudes más! En mi caso, es una de las mejores cosas que he hecho en mucho tiempo.
Pero claro, la creación de un blog no está exenta de responsabilidades. Tendrás que aprender sobre WordPress, SEO (search engine optimization) para atraer a gente a tu web, marketing para vender lo más posible, plugin y herramientas y diversa índole, etc.
No obstante, por experiencia propia, es una actividad muy gratificante.
Ofrece clases particulares
Si ya tienes una cierta soltura con Python no lo dudes más. Puedes enseñar a otros a aprender o a mejorar su habilidades con Python.
Puedes poner un aviso en algunas plataformas de anuncios ofertando tus servicios como profesor de Python.
Además, existe plataformas especializadas para ofrecer clases. Aquí te recomiendo una que siempre me ha funcionado bien a mí y a bastantes personas que conozco, con independencia de la materia a impartir. Se trata de Tus Clases Particulares, donde podrás registrarte de manera totalmente gratuita y conseguir tus primeros alumnos de manera sencilla y rápida.
Otra plataforma de la que tengo buenas referencias es SuperProf. Échale un vistazo también. El registro como profesor también es gratuito.
Además, puedes ofrecer clases presenciales u online, con lo que se te abre mucho tu público objetivo.
En caso de querer impartir clases particulares online, las opciones son casi infinitas, pues puedes utilizar plataformas como Zoom, Jitsi Meet, Google Meet o Microsoft Teams.
Escribe un libro
Si tienes suficiente experiencia en Python puedes optar por escribir un libro y ponerlo a la venta.
Por suerte, podemos contar con la autoedición en nuestros días y no tener que depender de ninguna editorial. Así, solo tienes que encargarte de escribir y ponerlo a la venta en alguna plataforma.
Mi primera recomendación es usar el servicio gratuito de Amazon Kindle Direct Publishing que te permite vender tu obra en formato digital y/o en formato papel. Como te puedes imaginar el alcance de tener publicado tu libro en Amazon puede ser enorme.
Otras posibles plataformas a considerar son Bubok y Lulu. No dejes de consultarlas.
Mi recomendación final es que no intentes escribir un libro de carácter general, pues será muy difícil competir contra grandes libros ya establecidos como el Curso Intensivo de Python (con más de un millón de copias vendidas) o Fluent Python, dos libros que te recomiendo muchísimo, por cierto (el segundo es un poco más avanzado).
Así, puedes optar por escribir una obra sobre un tema particular de Python, como puede ser web scraping o creación de bots, por ejemplo. De esta forma tendrás más visibilidad en tu nicho y mejorarás las probabilidades de vender.
Crea y vende un curso
Otra buena opción, que bien gestionada puede dar muchos beneficios, es la creación de un curso.
Se trata de diseñar y grabar un curso completo de programación en Python, o de una librería concreta, o de cómo desarrollar aplicaciones web con Django. Cualquier cosa vale. También tendrás que diseñar y crear materiales complementarios para los vídeos, como PDFs de ejercicios, tests, ejemplos, etc.
Una vez grabado tienes dos opciones. La primera es subir tu curso a una plataforma de terceros, como pueden ser Udemy o Hotmart, las cuales se encargarán de gestionar los cobros, promocionar y hacer todas las gestiones adecuadas con tu curso, a cambio, claro está de una comisión.
La segunda opción sería la de crear tu propia academia online. Para ello necesitas un sitio web propio como ya te conté antes.
Además del hosting para tu web necesitarás otro para alojar tus vídeos. Puedes usar YouTube, que es gratuito, estableciendo tus vídeos como privados. No obstante, las opciones de seguridad son pocas en este caso, por lo tanto te recomiendo que uses cualquier otra plataforma, como la conocida Vimeo.
Otro aspecto a considerar es el uso de un sistema LMS (learning management system), que son sistemas para la gestión de contenido de aprendizaje. Echar un ojo a los siguientes, que son plugins de WordPress. LearnDash, que incorpora todo lo necesario para crear tus cursos y venderlos y Sensei LMS, que tendrás que integrar con otros plugins para la venta, como WooCommerce.
Crea un canal de YouTube
Relacionado con el anterior punto, pero diferente en muchos sentidos es la siguiente idea: crear un canal de YouTube.
YouTube es una vía fantástica para difundir contenido sobre programación. De hecho, existen unos cuantos canales muy interesantes sobre esto, cada uno con sus particularidades y estilo propio. ¡Y hay sitio para más!
Aunque el tipo de contenido y la manera de promocionarlo es muy diferente a la de un blog, las maneras de monetizarlo son similares.
La manera más directa e inmediata es promocionar productos y servicios mediante afiliación.
La otra manera evidente es mediante publicidad. El problema aquí es que, para que YouTube muestre publicidad en tus vídeos, tienes que cumplir unos requisitos mínimos, que son:
- Cumplir la normativa de YouTube.
- Acumular 4000 horas de visualización en tus vídeos en los últimos 12 meses.
- Tener al menos 1000 suscriptores en tu canal.
Otra posibilidad es obtener ingresos directamente de tu público creando un programa de suscripción con Patreon, una alternativa muy popular, en donde puedes ofrecer a quien se suscriba a cambio de una cuota mensual, contenido exclusivo.
En cualquier caso, tendrás que estudiar un poco acerca de cómo optimizar tus vídeos y canal para lograr aparecer en las búsquedas, es decir, SEO de nuevo, esta vez orientado a YouTube.
Existen 5 factores claves a la hora de posicionar tus vídeos en las búsquedas:
- Número de comentarios
- Nuevos suscriptores tras ver un vídeo
- Longitud del vídeo
- La tasa de clicks que recibe el vídeo en la página de resultados
- Y la relación entre los "me gusta" y los "no me gusta" del vídeo.
De todas maneras, dominar el SEO en YouTube es todo un mundo, aunque muy asequible si recibes la formación adecuada.
Si piensas que crear un canal de YouTube es para ti, te dejo un curso recomendado para que puedas incrementar lo máximo posible tu probabilidad de éxito. Se trata del curso Inicia y crece tu canal de YouTube con ÉXITO realizado por Iryna Fedchenko, youtuber con más de 800000 suscriptores en la actualidad.
Entrena y vende modelos de Inteligencia Artificial
Vamos a cambiar un poco de tercio y a meternos en algo un poco más novedoso y que, ahora, está mas de moda que nunca.
Si lo tuyo es la inteligencia artificial (IA) y el aprendizaje máquina y dominas tecnologías y librerías como Keras, PyTorch o TensorFlow esto es algo que definitivamente tienes que probar.
Se trata de que crees tus propios modelos de IA ya entrenados y los subas a alguna plataforma o marketplace que te permita vender dichos modelos.
¿Qué modelos puedes crear? Los que se te ocurran, ya sean clasificadores, predictores, correctores, etc.
Puedes conseguir conjuntos de datos para la creación de modelos en webs como Kaggle o UCI Machine Learning Repository. También puedes obtenerlos tú mismo aplicando web scraping, por ejemplo.
Los marketplaces para vender modelos de IA están floreciendo ahora mismo. Te dejo aquí tres recomendaciones que puedes estudiar:
Puedes navegar por el catálogo de estos tres sitios para obtener ideas para tus propios modelos.
No dejes de pensar seriamente en esta posibilidad, pues esto va a dar mucho que hablar los próximos años (aunque ya lo está dando en la actualidad).
Crea apps móviles
Aunque Python no está considerado como uno de los lenguajes oficiales por ninguno de los dos mayores sistemas operativos móviles, que son Android e iOS, dispone de varios frameworks que se pueden utilizar para este cometido.
En concreto, los dos más populares son BeeWare y Kivy. Ambos son cross-platform, es decir, desarrollas una vez y se generan productos para iOS, Android, Linux, Mac y Windows, pero hay algunas diferencias entre ellos.
- BeeWare utiliza los componentes nativos de cada sistema operativo, de forma que la apariencia de tus apps estará perfectamente integrada con el sistema operativo de destino. Es decir, si generas la app para iOS, esta tendrá el aspecto definido por iOS. Lo mismo para Android.
- Kivy, sin embargo, utiliza componentes propios. Esto quiere decir que el aspecto de tus apps diferirá del aspecto típico de las aplicaciones del sistema operativo en cuestión. No obstante, tendrás una ventaja añadida y es que tu aplicación lucirá igual con independencia del sistema operativo de destino. Es decir, tu app tendrá exactamente el mismo aspecto en Android que en iOS.
Creo que este es un punto a tener en cuenta a la hora de elegir un framework para desarrollar tu aplicación.
En cualquier caso, existe una aproximación diferente a la creación de aplicaciones móviles con Python. Es la creación de aplicaciones móviles que traten sobre Python. Es decir, se trata aquí de desarrollar la aplicación con los frameworks oficiales de Android y/o iOS pero la temática de estas se centrará en alguna faceta de Python.
En la actualidad existen varias aplicaciones que permiten, entre otras cosas, el aprendizaje de Python, la edición y ejecución de código Python en el smartphone, etc.
Una vez realizada tu aplicación podrás venderla o monetizarla mediante publicidad en Google Play o en la App Store de Apple. Eso sí, ten en cuenta que tendrás que pagar una pequeña cuota para darte de alta como desarrollador. En el momento de escribir este artículo la cuota para App Store es de 99 $ anuales, mientras que la de Google Play es un único pago de 25 $.
Por supuesto, y con independencia de las plataformas que uses, tendrás que promocionar tus apps. Para esto te puede venir bien crear un blog o una web.
Desarrolla videojuegos
Si lo que quieres es desarrollar, otra posibilidad es la creación de videojuegos.
Es cierto que Python no puede competir contra motores de videojuegos muy establecidos como Unity o The Unreal Engine, pero cuenta con motores y librerías propias que nos permiten realizar videojuegos muy solventes.
La librería más conocida para la creación de juegos en Python es pygame, que encapsula y extiende la librería SDL (Simple DirectMedia Manager), que proporciona acceso cross-platform a los componentes hardware multimedia del sistema operativo.
Otro framework más moderno es Arcade, totalmente orientado a objetos y que soporta OpenGL. Incide en la separación de la lógica del juego y de la vista (como veíamos en este artículo sobre cómo hacer una calculadora en Python) y posee un motor de física para juegos top-down y de plataformas.
Si quieres prescindir de los gráficos y moverte hacia lo más clásico, la librería adventurelib te permite hacer aventuras conversacionales (¡cómo me gustaban de pequeño!).
Y si a la aventura le quieres incorporar gráficos y realizar un juego del estilo novela visual, cuentas con el fantástico Ren'Py una herramienta basada en PyGame que te permitirá hacer verdaderas maravillas.
Optes por lo que optes, puedes hacer un juego para smartphones y ponerlo a la venta como app móvil (o monetizarlo mediante publicidad) o, si prefieres desarrollar un juego de escritorio, puedes utilizar algún marketplace de juegos como Steam.
Crea y vende APIs
¿Te gusta el desarrollo backend? Entonces debes saber que puedes desarrollar una API (Application Programming Interface) en Python y venderla. Sí, solo una API.
Para el desarrollo tienes varias opciones siendo las dos principales las siguientes:
- Flask. Puedes utilizar el framework de desarrollo web Flask para desarrollar APIs junto con la librería flask-restful. Esta librería permite agilizar el desarrollo de una API RESTful en Python.
- FastAPI. Es un framework creado para construir APIs de alto rendimiento con Python (3.7+) basado en las anotaciones de tipado (type hints) de Python.
Una vez que tengas decidido qué tecnología quieres usar, tendrás que optar por algún sistema para alojar tu API. Te propongo aquí, nuevamente, varias alternativas:
- Usar un alojamiento web. Como un API no deja de ser una aplicación web (sin capa vista, solo nos entrega datos en su lugar), un alojamiento web te puede servir para este propósito. Ten en cuenta que el alojamiento que elijas tenga la capacidad de ejecutar aplicaciones web Python, como es el caso del que ya te he recomendado anteriormente, LucusHost. Ten en cuenta que si tu API va a recibir miles de peticiones por minuto, tal vez un alojamiento web tradicional se te quede corto. Mira las siguientes propuestas.
- AWS Lambda y API Gateway. Nuevamente, Amazon. Esta vez con su ecosistema de cloud computing. AWS Lambda se utiliza para aplicaciones del tipo FaaS (Function as a Service). Este servicio almacena funciones que son disparadas a través de uno o varios eventos definidos por el desarrollador, dentro de los cuáles se pueden incorporar peticiones API. Estas peticiones debe definirses en API Gateway.
- Heroku. Es una plataforma basada en contenedores para desplegar, gestionar y escalar aplicaciones modernas. Soporta cualquier lenguaje, con lo que también se puede utilizar Python. Proporciona gran cantidad de productos y servicios para desarrolladores por lo que es una opción adecuada para desplegar tu API.
Una vez tengas tu API desplegada puedes empezar a cobrar por su uso. Para ello te recomiendo el servicio Hub de RapidAPI, que te permite definir diferentes planes de precios en función de la cantidad de peticiones que tu API sirva.
Además, te recomiendo que uses RapidAPI para buscar ideas y temas para la creación de tus propias APIs.
Crea un SaaS
Aunque el término SaaS (Software as a Service) puede resultar relativamente nuevo, la verdad es que internet está plagado, desde hace mucho tiempo, de aplicaciones web que en realidad son servicios software.
Sin ir más lejos, GMail, Trello o Dropbox (click aquí para conseguir 2.5GB gratis en DropBox) son grandes ejemplos de SaaS.
Pues bien, tú puedes crear tu propio SaaS y ganar dinero con ello. Solo necesitas una idea, un hosting y crear tu servicio. Después podrás empezar a promocionarlo y a recibir ingresos.
Con todo lo que ya te he contado en este artículo ya estás en disposición de empezar tu creación.
Aquí, una idea que me parece maravillosa, es crear un SaaS a partir de una API de terceros. Es decir, puedes buscar una API que te dé una determinada funcionalidad (puedes buscarla en RapidAPI como te dije antes) y crear tu servicio realizando llamadas a dicha API. Es una manera muy interesante de aumentar la velocidad de desarrollo, porque parte del backend no tendrás que desarrollarlo tú.
Corrige bugs
¿Sabías que existen desarrolladores y servicios que se dedican a localizar los bugs y vulnerabilidades del software que crean otras empresas?
La verdad es que yo lo descubrí hace poco. Y me parece una oportunidad de negocio estupenda. Si lo tuyo es la seguridad informática, sigue leyendo...
En general, las empresas ofrecen recompensas a quien detecta estos problemas, pues les pueden ahorrar mucho dinero y quebraderos de cabeza. A esto se le denomina programas de bug bounty.
Existen plataformas que se encargan de publicar las peticiones de búsqueda de bugs y de reunir a los llamados hackers éticos para buscar vulnerabilidades.
Lo interesante aquí es que tú también puedes registrarte en estos servicios para la búsqueda de bugs. ¡Y te pagarán por ello si encuentras vulnerabilidades!
Y te preguntarás que qué tiene que ver Python en todo esto. Pues muy fácil. Python te ayuda de dos maneras diferentes:
- Si has desarrollado aplicaciones web en Python estarás al tanto de buena parte de los problemas de seguridad y privacidad que hay que tener en cuenta en este tipo de aplicaciones. Esa experiencia es fundamental a la hora de buscar problemas en aplicaciones de otras personas.
- Puedes utilizar Python para automatizar la búsqueda de forma que no tengas que hacer tantas operaciones manuales. A mayor velocidad de búsqueda, mayores hallazgos de bugs y, por tanto, mayores recompensas.
En el libro Bug Bounty Bootcamp: The Guide to Finding and Reporting Web Vulnerabilities, su autora, Vickie Li, te cuenta cómo identificar y explotar vulnerabilidades en páginas web, y cómo escribir informes técnicos correctos para comunicar dichas vulnerabilidades. Además, te explica cómo navegar por los programas de búsqueda de bugs que proponen las compañías. Es un gran punto de partida si te interesa este tema.
También te recomiendo este curso de hacking ético en español para iniciarte en las técnicas necesarias para realizar con éxito lo que aquí te propongo.
Existen múltiples plataformas de bug bounty. Dos de las más conocidas son HackerOne y BugCrowd. Tienen gran cantidad de información interesante. Además, podrás registrarte en ellas para empezar a buscar vulnerabilidades. Echa un vistazo y ¡suerte!
Participa en competiciones de programación o hackatones
Otra manera fantástica de ganar dinero con Python es participar en competiciones de programación.
La idea aquí es muy sencilla. Regístrate en una competición, participa y, si quedas en los primeros puestos, ganarás premios en metálico.
Al margen de los beneficios económicos que las competiciones puedan brindarte, lo más interesante es que son muy divertidas y que aprenderás, no mucho, sino muchísimo.
También son una buena manera de establecer relaciones.
Una alternativa a las competiciones son las hackatones, donde un conjunto de programadores compiten para generar el mejor producto o solución para unas reglas dadas propuestas por compañías.
Si te interesa este mundo, te dejo tres alternativas altamente recomendables para que empieces a indagar un poco y, ¿por qué no?, tal vez te registres en algún concurso de los ofrecidos:
Es importante saber que en muchas competiciones y hackatones, además de los posibles premios, es habitual que reclutadores de diferentes empresas contacten con aquellos participantes que hayan logrados mejores resultados con el fin de ofrecerles un puesto de trabajo. Tenlo en cuenta.
Haz de tutor o mentor
A muchos aprendices de Python les gusta poder contar con alguien que les pueda hacer de tutor o mentor. Porque, ¿quién no ha necesitado consejo alguna vez durante su proceso de aprendizaje o que le resuelvan las dudas que vayan surgiendo por el camino?
Pues bien, esto es muy sencillo, ofrece tus servicios de tutorías como tutor o mentor para que otros puedan contar con tu ayuda.
Existen múltiples maneras de llevar esto a cabo. La idea básica ya te la conté, pues esto es algo muy similar a impartir clases online. Aunque con una diferencia fundamental: en las clases tú guías al alumno, como mentor sirves de apoyo.
De todas maneras, existen plataformas específicas para realizar tutorías y mentorías y que, además, facilitan la tarea de trabajar sobre el código proporcionando con una herramienta colaborativa.
Como ya te esperas, existen diversas plataformas que ofrecen este tipo de servicios. Aquí te voy a recomendar dos de ellas. Una es TutorMe, en la que Python es una de las materias más populares. Otra buena opción es Preply, que además está adaptada al español.
Nuevamente, también puedes utilizar una plataforma de freelancers general para ofrecer tus servicios de tutorías y hacer uso de cualquier herramienta de videoconferencia para realizarlas.
Crea un podcast
Si te gusta hablar, charlar, la radio, las tertulias y las entrevistas, quizá lo tuyo sea realizar un podcast.
Existen podcasts muy buenos ahí afuera que versan sobre programación. ¡Y tienen muchos seguidores!
Solo necesitas un buen micrófono (USB para conectar directo al ordenador), algún software grabación y edición como Audacity (gratuito), grabar tus programas, alojarlos en algún servicio de podcast hosting y publicarlos en uno o varios directorios.
Como todas en las alternativas de generación de contenidos que te he presentado en este artículo, necesitarás un servicio de alojamiento, pero en esta ocasión, debe ser específico para podcasts. Una buena opción para principiantes es Buzzsprout que tiene un plan gratuito si no vas subir mucho contenido al mes.
Otra posibilidad un poco más avanzada y que cuenta con todas las herramientas que puedas necesitar es Captivate.
Ambas opciones te permitirán cargar tus podcasts en los principales directorios: Spotify, Apple Music, Deezer, etc.
Para monetizar tus podcasts puedes optar por publicidad o afiliación, por ejemplo. Nuevamente, lo interesante aquí es que es una manera de poder obtener ingresos recurrentes.
Compraventa y flipping de webs, software y servicios
¡Haz flipping! Por si no lo conoces, el flipping es una estrategia de inversión inmobiliaria que consiste en comprar un inmueble, renovarlo o mejorarlo, y venderlo por un precio superior al de compra para conseguir un beneficio.
Y tú dirás, ¿qué tiene que ver esto con Python?
Y yo diré: ¡mucho!
Lo interesante aquí es extrapolar la idea a los ámbitos de las páginas web, el software y los servicios digitales.
Mucha gente vende sus blogs y páginas webs, o su software, porque ya no quieren seguir manteniéndolo o porque ya no es rentable para ellos.
Aquí es donde entramos nosotros. Podemos adquirir una de esas aplicaciones o web, estudiarla, mejorar y venderla a un precio superior al de adquisición. Es decir, hacer flipping, pero digital.
Un aspecto a tener muy en cuenta es que muchas de las webs que se venden son webs que están funcionando y que ya generan beneficios, así que la compra de una de ellas ya puede constituir en sí un paso muy interesante.
De entre todas las plataformas que existen para la compraventa de este tipo de productos digitales te voy a recomendar dos.
Por un lado, un peso pesado, la que yo creo que es la más conocida: Flippa. En Flippa puedes comprar y vender blogs, sitios web de afiliados (son sitios que monetizan mediante afiliación), negocios SaaS, servicios digitales, tiendas de Shopify, apps, dominios, bueno, un poco de todo.
Otro sitio muy interesante, mi segunda recomendación, es Codetester, donde podrás comprar y vender código y scripts en múltiples lenguajes, aplicaciones, plugins e, incluso, gráficos.
Ten en cuenta que vender en estos sitios implican pagar una pequeña cuota periódica o una comisión por cada venta. No obstante, la cantidad de gente y público que mueven los hacen sitios muy atractivos.
Consideraciones finales
¿Has llegado hasta aquí! ¡Gracias por leer! Te cuento algunas cosillas que puedes tener en cuenta.
Este artículo ha quedado un poco largo, son cerca de 7000 palabras. Podría extenderme más porque cada una de las ideas aquí comentadas son un mundo entero, pero eso haría que el artículo ya se fuera hacia el infinito. No es la idea. Solo quise darte unas pinceladas para que veas el potencial de cada idea y algunas pistas para comenzar. Ahora te toca a ti el trabajo de investigación.
No te quedes solo con una idea. Prueba con varias de ellas. Es muy interesante tener varios proyectos activos a la vez que generen dinero, aunque sea poco. Es lo que se llama "diversificar las fuentes de ingresos". Así, si una falla, te quedan las otras. Además, si ves que alguna destaca sobre las demás y genera mayor beneficio podrás prestarle más atención para que crezca todavía más.
Mi recomendación particular es que te centres en aquellas que pueden proporcionarte ingresos de manera recurrente. Por ejemplo, vender una membresía a través de tu propia web. O monetizar con afiliación recomendando aquellos productos por los que puedan darte comisión de manera recurrente, que normalmente son servicios software de pago mensual o anual. Si cada vez percibes un pellizco y poco a poco vas haciendo crecer esto, imagina... Generalmente, aquellos modelos de negocio que implican la generación de contenidos suelen generar ingresos recurrentes de manera pasiva siempre que los contenidos sean evergreen, es decir, que no pasen de moda y tengan vigencia durante algunos años por lo menos.
Toma todas estas ideas y combínalas entre sí como te apetezca. Ya ves que no son perfectamente disjuntas ni excluyentes, es más, a veces unas dependen o se apoyan en las otras. Por ejemplo, para vender tu software y tus cursos lo puedes hacer a través de tu propia web.
Aunque este blog que estás leyendo se centra en el lenguaje Python, todas estas ideas (o casi todas) son extrapolables a otros lenguajes de programación. Evidentemente, aquellas librerías o tecnologías concretas de Python de las que hablo aquí tendrían que ser sustituidas por otras.
Mi idea es ir actualizando este artículo poco a poco y añadiendo más recursos y recomendaciones, así que no lo pierdas de vista.
Y nada más por mi parte, feliz programación y ¡mucha suerte con tus proyectos!
Algunos de los enlaces de este artículo son de afiliado, lo que quiere decir, como ya sabes, que si adquieres algún producto o servicio a través de ellos yo recibiré una pequeña comisión y sin ningún coste extra para ti. Esto me viene muy bien para mantener el servidor y el blog, con lo que podré seguir escribiendo artículos de Python para ti. ¡Muchas gracias por hacer uso de ellos!
Te envío todos los días un consejo para que cada día seas mejor en Python.
Siempre sobre Python y programación.
Más de 2500 personas como tú los reciben cada día.
Día que estás fuera, consejo sobre Python que te pierdes.
Antes de suscribirte consulta aquí la
Finalidad de recogida y tratamiento de datos personales: enviarte boletín informativo de Python y comunicaciones comerciales.
Legitimación: tu consentimiento.
Destinatarios: no se ceden a terceros. Los datos se almacenan en los servidores de marketing (GetResponse).
Derechos: podrás ejercer tus derechos de acceso, rectificación, limitación y supresión de datos en info @ codigopiton.com así como presentar una reclamación ante una autoridad de control.
Más información: política de privacidad, encontrarás información adicional sobre la recopilación y el uso de tu información personal.