Muchos alumnos me preguntan siempre: después de aprender las bases de un lenguaje de programación que sigue? Realmente puedo obtener algún beneficio económico al invertir tantas horas de estudio en Python? Puedo crear productos reales que las compañías usen de verdad en sus procesos?
La respuesta es sí, y en este artículo te explicaré mi caso real.
Antes recuerda que puedes acceder a nuestro curso completo de “Master Django y Python” en esta URL:
https://www.udemy.com/course/python-universidad/?couponCode=112024
Soy un programador que trabaja para una empresa de lunes a viernes, pero en mi tiempo libre ocasionalmente recibo ofertas de pequeños/medianos negocios de mi comunidad para crearles páginas web dinámicas que les permitan entre otras cosas:
Tener una presencia online y hacer marketing de sus productos/servicios
Tener una aplicación web que les permite dar mantenimiento de sus productos en tiempo real, agregando, actualizando, descatalogando.
Mantener una base de datos de sus clientes para realizar campañas/ofertas de marketing
Integrar su portal web con redes sociales como facebook/instagram/whatsapp etc.
Realizar integraciones de pagos online con tarjetas de crédito o paypal.
Personalizar al 100% el portal web a los lineamientos o deseos del cliente, esto gracias al lenguaje de programación tan potente y versátil como Python.
Y otras mas…!
Usualmente los requerimientos que recibo para crear estas páginas varían, pero mi estrategia es siempre darles un desarrollo por fases, en una fase 1, hacer una página informativa y luego en las siguientes fases irle agregando muchas funcionalidades dinámicas, así ellos pueden ver un resultado real ya desplegado en internet, y yo también puedo darme una idea de sus objetivos y de lo que desean como resultado final.
Cuanto cobrar?
Esta es una buena pregunta, no entraré en detalles, no es bueno hablar de dinero tan libremente.
Para que te des una idea te explico mi último caso.
Hace una semana recibí un pedido de un cliente que está lanzando su compañía para vender casas, y claro a primera vista cualquiera pensaría que lo quiere es construir algo como realtor.com
Pero no, realmente lo que hace esta persona es comprar terrenos y construir y luego vender casas personalizadas,
Así que esta web solo necesita tener un buen diseño web, almacenar los productos, registrar los potenciales clientes e integrarse con el píxel de facebook, además de ser posible agregar una reserva de reunión para visitar la casa.
Como te dije, lo ideal en estos casos es desarrollar por fases, y aquí comenzaré en esta fase 1 solo por hacer la página informativa, desplegarla casi estática, enseñarle este mockup o prototipo online ya desplegado al cliente. Aún sin integraciones a ninguna base de datos ni mantenimientos avanzados.
Y por esta primera fase son 800 dolares.
Usualmente los clientes quedan contentos por este primer avance, les explico lo que sigue que es integrar sus servicios a un sistema avanzado de mantenimiento de productos y catálogo.
Y por cada fase se pagará una tarifa determinada.
En si no es vender una página informativa, si no el proyecto, por que paginas informativas cualquiera las puede hacer, inclusive personas sin ningún conocimiento técnico, pero el proyecto que tu ofreces es personalizado y trabajando sobre una plataforma python, y lo más importante customizado a las necesidades del negocio, cosa que otras herramientas que generan código muy difícilmente pueden hacer.
La oferta laboral para programadores web con Python es inmensa, y no sólo puedes crear tu propio negocio local, sino también trabajar como yo para otras compañías con un sueldo mensual.
Y que necesito para aprender a crear paginas web con Python?
Existe un framework que puedes aprender para crear aplicaciones, portales corporativos con Python, te presento a Django.
Desarrollo Web con Django
Como te mencione Django es un high-level Web Framework de Python que te permite crear robustas Aplicaciones Web, y lo increíble de esto, es que lo puedes hacer de manera rápida y eficiente! Veamos algunas de sus características más importantes:
Desarrollo Rápido: Django te entrega por defecto un código base que hace que los programadores desarrollen aplicaciones de manera fácil y rápida, no necesitas comenzar de cero, aquí Django te dará una estructura lista para que personalices la herramienta al 100% a los gustos de tu cliente.
Módulos Prediseñados: Django viene con una gran variedad de funcionalidades pre-construidas, por lo que no tienes que volver a inventar la rueda, módulos como Authentication, Mantenimiento de Bases de Datos, etc.
Comunidad de Programadores: La comunidad de programadores de Django es activa, puedes encontrar una gran cantidad de casos de uso, repositorios, documentación, paquetes utilitarios compartidos, que fácilmente puedes integrar a tus proyectos.
Versatilidad: Django puede ser utilizado en un gran espectro de aplicaciones, puedes construir desde Blogs hasta complejos e-commerces online.
¿Cómo trabaja Django?
Django sigue los principios del patrón de arquitectura Model-View-Controller(MVC), que en Django es referido con una variación como Model-View-Template(MVT), esto por que para el diseño de las interfaces gráficas se utiliza un template que representa un documento HTML dinámico incrustado con código python.
Veamos el Diagrama de la parte inferior para explicarte los componentes de una aplicación Django:
Models(M): Los modelos son clases de python que definen la estructura de los componentes de tu base de datos, en otras palabras es aquí donde defines qué tablas deberán crearse en la base de datos y que columnas, llaves primarias, foráneas tendrán cada una de ellas.
Toda esta comunicación entre clases Python y Tablas SQL se lleva a cabo gracias a la herramienta de Django llamada Object-Relational Mapping(ORM).
Views(V): Los componentes Views son responsables de procesar los HTTP Requests que envía tu cliente, y de retornar un valor en respuesta a este pedido inicial, técnicamente hablando son funciones de Python donde se escribe la lógica de negocio, de cada funcionalidad de tu aplicación web.
Templates(T): Los Templates son los encargados de la capa de presentación, aquí es donde mediante código HTML y CSS puedes crear, diseñar, personalizar las páginas web, pero lo más interesante de esto, es que soportan código dinámico, esto significa que puedes incrustar directamente código Python en su interior, por ejemplo si dentro de la página quieres renderizar un conjunto de records de la base de datos, simplemente llamamos a la función python encargada de esta tarea al interior de este código html.
URL Routing: Django usa un mecanismo de tipo Routing/Enrutador para mapear cada una de las URLS a una determinada función Python
Quieres saber mas de como crear Portales Web con Django y Python, aqui te dejo el curso “Django: Creación de Web Apps”, donde crearemos una aplicación completa con las herramientas de Django, Python y bases de datos SQL.
https://www.udemy.com/course/python-universidad/?couponCode=112024