Examinar autor: Alberto Pat

SQL vs NOSQL. Conoce sus diferencias y cuando utilizarlas

Diferencias de SQL vs NOSQL

Los lenguajes de programación que manejan información necesitan de un lugar donde se almacenen los datos. En concreto una base de datos es un conjunto de información organizado en distintos formatos para su posterior uso. Las bases de datos van más allá de sólo utilizar MySQL el cual entra en la categoría de una base de datos relacional.

Base de datos SQL

Structured Query language (SQL) o lenguaje de consulta estructurada, utiliza un estándar para manipular el contenido de las bases de datos relacionales. Cuenta con su propio lenguaje para consultar, insertar, actualizar y eliminar registros de la base de datos.

Se compone de una o varias tablas y cada tabla puede contener múltiples relaciones. En el siguiente elemento pongo como ejemplo en como está estructurada una sencilla base de datos por medio de tablas.

Eventos deportivos por medio de una base de datos relacional

Las tablas representan la entidad de cada modelo de datos. Las relaciones permiten garantizar la persistencia de datos, evita la duplicidad de datos y controla la eliminación en cascada. Para ingresar un nuevo nuevo evento, bastaría con ingresar un nuevo registro en la tabla events.

SQL cuenta con un lenguaje de alto nivel que permite manipular la base de datos casi de cualquier forma. Por su manera de operar ayuda a mantener la integridad de los datos. Por ejemplo:

Para obtener la lista de todos los deportes

SELECT id, name FROM sports

Ingresar varios registros a la tabla categoría

INSERT INTO categories VALUES (Varonil, Femenil, mixto)

Su uso es mas frecuente es en sistemas donde se necesite cuidar la integridad de datos como los bancos, sistemas de ventas, hospitales, CMS como WordPress.

Ejemplos de sistemas de gestión de base de datos son: MySQL, MariaDB, PostgreSQL.

Base de datos NoSQL

También existen otros mecanismos de almacenamientos alternativos a las base de datos relacionales que se definen por tablas. Este tipo de base de datos, se apoyan en otros formatos. Los NOSQL son más adecuados para aquellos que manejan grandes volúmenes de datos. Es por eso que empresas como Facebook, Google, Amazon, Twitter, entro otros han popularizado estos tipos de base de datos.

Esas empresas tenían que enfrentarse a grandes desafíos motivados a la alta demanda de internet. Donde surge la necesidad de proporcionar información de grandes volúmenes de datos e indeterminado número de usuarios en el menor tiempo posible. Esas compañías se dieron cuenta que podían sacrificar la consistencia de los datos que garantiza una base de datos relacional para poder obtener un mejor rendimiento y ofrecer soluciones en tiempo real.

Los puedes usar en soluciones donde requieres interactuar con datos en tiempo real como en un chat, para análisis estadísticos donde procesas mucha información o incluso en blogs.

Algunos tipos de bases de datos NoSQL incluyen diferentes tipos de almacenamiento, por ejemplo: con columnas, documentos, key value store, gráficos, objetos (JSON), XML y otros modos de almacenamiento de datos.

¿Qué hace diferente SQL vs NOSQL?

Una de las diferencias más relevantes entra una NOSQL a una base de datos relacional, es por su forma de almacenamiento no estructurada.

¿Cuál podría ser apropiada para mi proyecto?

Depende mucho de la solución y cuales son los puntos fuertes que necesites ofrecer en tus gestión de información. Ambos tienen sus pros y sus contras. Puedes elegir entre la consistencia (SQL) o la alta disponibilidad (NOSQL). En la mayoría de mis proyectos apuesto por la consistencia porque los proyectos no requieren una disponibilidad en tiempo real de los datos.

¿Qué te pareció el artículo? Quedo al pendiente para tus comentario o cualquier duda. Si te pareció interesante, no dudes en compartirlo.

Crea tu primer sitio web con WordPress

Crear tu primer sitio web con wordpress

Hoy en día montar un sitio web es más fácil que hace una década. Con el surgimiento de los gestores de contenidos, mejor conocidos como CMS, es posible tener un sitio web informativo con un diseño profesional sin conocimientos técnicos avanzados. Incluso existen servicios de hosting que permiten montar tus sitios en cuestión de algunos clics. Así que no existen pretextos para crear tu primer sitio web con WordPress.

¿Porqué WordPress?

WordPress, en los últimos años, se ha convertido en uno de los CMS más populares cuando de sitios web se trata. Inicialmente fue creado para crear blogs, pero gracias a su creciente comunidad fue adaptado para crear sitios web de cualquier temática.

Primeros pasos con WordPress

Existen dos formas de crear un sitio web con WordPress. La primera a través de su plataforma comercial wordpress.com o través de wordpress.org donde podrás descargar su código fuente para instalarlo directamente en tu hosting.

Se requiere un poco de conocimiento básicos sobre como crear una base de datos y acceso a FTP por medio de un cliente como Filezilla.

1. Descarga wordpress

Accede al sitio wordpress.org y da click en el botón Descargar WordPress para obtener los archivos del gestor de contenidos.

Página para descargar wordpress

Vale la pena recalcar que dependiendo el idioma de tu contenido, descargues la versión correspondiente por cuestiones de SEO. Sin embargo, puedes atender ese inconveniente sobre la marcha.

2. Instala los archivos

Descomprime y copia los archivos dentro de la carpeta donde deseas cargar tu sitio web

Directorio de sitio web con wordpress

3.1 Crea la base de datos con phpMyAdmin

Para poder usar tu versión de WordPress, necesitas crear una nueva base de datos. Si tienes acceso a phpMyAdmin, entras a la pestaña de base de datos. Crear el nombre de la base de datos, yo usaré Mexlike como nombre.

Crea la base de datos de mexlike con phpMyAdmin

3.2 Usa un cliente para crear una base de datos

Existen muchos clientes para conectarse a la base de datos como Navicat, Workbench, Sequel Pro, etc… En mi caso particular utilizo Sequel Pro porque no requiero un software tan completo como Navicat.

Crear Base de Datos Mexlike con Sequel Pro

Solamente necesitas entrar a la conexión donde deseas instalar tu base de datos, le das a la opción en elegir base de datos, añadir base de datos y desplegara una ventana donde podrás ingresar el nombre de la base de datos Mexlike.

4. Configura tu sitio web

Ya tienes los archivos en el directorio de tu sitio web y una base de datos activa que servirá para poder completar la instalación. Ahora necesitas configurar tu sitio web con WordPress con el instalador que viene incluido.

Elegir el idioma de tu wordpress

Como mencioné anteriormente, es recomendable que uses el idioma que vaya de acuerdo al contenido de tu sitio. Es hora de agregar los datos de la base de datos que creaste previamente. Ingresa los datos que configuraste previamente de la base de datos mexlike.

Configurar datos de acceso de MySQL en wordpress

El formulario se llena según la configuración de tu hosting:

  • Nombre de la base de datos: Base de datos que creaste
  • Nombre de usuario: Según los datos de acceso
  • Contraseña: Según tu datos de acceso
  • Servidor de la base de datos: Regularmente es localhost
  • Prefijo de la tabla: Puede ser personalizable

Estamos a un paso de terminar. Llegamos a la pantalla que nos dice que estamos listos.

Correr la configuración de base de datos de wordpress
Para finalizar, ingresamos los datos de acceso para fines administrativos.

Ingresar datos para el wp-admin de WordPress

5. Resultado Final

Con esos datos, ya tienes instalado WordPress en tu servidor. A partir de este momento tienes un sitio totalmente a tu control que lo puedes personalizar a través de templates libres, de pago o personalizados.

Sitio web inicial creado con wordpress

Con esto terminamos la primera parte de este tutorial. En el próximo post configuraremos nuestro sitio web con un template libre.

Espero que este post haya sido de tu agrado. Para cualquier duda o sugerencia quedo abierto a través de la caja de comentarios.

¿Te preocupa tu privacidad?

¿Te preocupa tu privacidad?

Realmente ¿Te preocupa tu privacidad? ¿Te imaginas los medios que utilizan los servicios que utilizas para obtener información tuya? Un reciente descubrimiento determinó de que nuestro móvil nos escucha. Sin embargo, no es la única forma de recolectar nuestros datos personales que terminan en una base de datos para utilizarse con fines publicitarios.

Hace unos días circulaba un video del youtuber Mitchollow donde demostró a través de un experimento, que nuestro móvil nos escucha. En su prueba usó la palabra clave Dog Toys. El objetivo es resaltar esa palabra clave en una conversación normal con su teléfono para probar su hipótesis.

Para su sorpresa, el resultado de ese test fue impresionante. Justo después de grabar esa conversación, los anuncios de las páginas que visitaba, mostraban publicidad sobre la clave Dog Toys que intencionalmente había resaltado.

¿Debería sorprendernos una situación así?

En realidad no, porque no es la primera situación que se ha prestado a esas intenciones. En el año 2013, un consultor de TI, llamado Jason Huntley contactó a la empresa LG porque detectó que su Smart TV estaba ofreciendo publicidad de acuerdo a sus preferencias de programación, palabras claves, búsquedas habituales, entre otros.

Smart TV LG 49''

Aquí puedes ver los detalles del descubrimiento

Si bien, eso parece normal. A la empresa no le bastaba con solo “espiar” su comportamiento frente al televisor. Lo más grave de ese experimento, es que escaneaba la información de los dispositivos externos por medio del USB.

Otra situación similar sucedió en 2015 con la empresa Samsung, que incorporan reconocimiento de voz para facilitar el cambio de canales o volumen a través de la voz. Al parecer, alguien hizo algo increíble, leer las políticas de privacidad y para su sorpresa se encontró con lo siguiente:

Samsung podría recoger información y su dispositivo podría capturar comandos de voz y textos asociados para evaluar y mejorar el reconocimiento de voz. Por favor tenga en cuenta que si sus palabras habladas incluyen información privada o sensible, esa información podría ser transmitida a empresas de terceros.

Smart TV Samsung

En otras palabras, cuida lo que dices porque seguramente alguien más lo estará escuchando. Pero ¿que tan ético podría llegar a ser? En ese aspecto deja mucho que desear cuando se trata de un negocio. Además en la cuestión legal, han podido protegerse muy bien.

Parece una movida inocente, porque esta información no saldría de esas empresas o sus afiliados. Al menos eso fue lo que pensamos hasta que sucedió lo siguiente.

La era Snowden

Desde que Edward Snowden filtró información sobre como operaba la Agencia Nacional de Seguridad de Estados Unidos, conocida como NSA. Descubrieron que muchas de las empresas donde depositamos nuestros datos personales, proporcionaban información al gobierno de USA.

En México existió un caso de la violación de privacidad. Por medio de la compra de un software espía conocido como Pegasus. El uso que le dieron fue para perseguir opositores políticos, activistas sociales o periodistas.

A raíz de esas situaciones donde descubrieron que el gobierno tenía convenios bajo el agua con las empresas. Los usuarios empezaron a ser más precavidos obligando a las empresas ofrecer sistemas de encriptación punto a punto.

Implicaciones de la privacidad en la actualidad

Tal vez no deberíamos sorprendernos que con ayuda de la IA, las empresas no solamente puedan ofrezcernos respuestas en relación a los que escribimos o decimos. Es probable que también nos proporcionen soluciones en base a como nos sentimos cuando necesitemos algo. Ya tuvimos nuestro primer encuentro con la ahora extinta Cambridge Analytica.

Debido a los acontecimientos que surgen, las políticas de privacidad de los servicios que utilizamos van evolucionando. Un hito que marco aun antes y después, fue cuando Apple que se negó a entregar información confidencial de uno de sus usuarios que ayudaría a resolver la masacre en San Benardino. En este comunicado reafirmó el compromiso con sus usuarios.

Postura de Apple sobre la petición del FBI sobre datos de sus usuarios

Sobre si las micrófonos están abiertos todo el tiempo. Es algo muy difícil de comprobar. Incluso en servicios como Ok Google, Siri o Alexa cuentan con mecanismos internos donde solo almacenan pequeños periodos de tiempo (5 a 10 segundos) suficientes para activar el micrófono con una simple palabra clave.

Después de activar con esos comandos, es posible que lo que digas después quedará en el historial para conocer mejor tus necesidades y ofrecer mejores respuestas para ti. Lo que debería sorprendernos realmente es como un tercero nos puede conocer incluso mejor que nosotros mismos.

¿Que debo hacer para proteger mi privacidad?

Si buscas una solución radical, deberías desconectar tu dispositivo de internet, no salir de casa, ni hablar con nadie. Fuera de relajo, pienso que se puede vivir en este nuevo ecosistema donde todos los servicios están basados en la nube.

Al igual en como hablas con un grupo de personas, en internet las cosas no cambian en lo absoluto. Es recomendable cuidar lo que decimos o como nos expresamos porque una mala acción puede tener consecuencias negativas. Sino, pregunta a un conocido como le fue cuando escribió en sus redes sociales que odia su trabajo. Las reglas con la realidad son las mismas, pero la tendencia es que nuestras expresiones tengan mayor alcance gracias a la tecnología.

Mi intención es evitar esas falsas especulaciones. Que si bien falta mucho por matizar, no debería alarmarnos debido a los avances tecnológicos. Se trata de un tema que puede generar un debate más profundo. Espero tus comentarios para complementar un tema tan interesante como este.

Espero esta información haya sido de tu agrado. Te estaré muy agradecido si me ayudas a compartir.

¿Debo usar un CMS o desarrollar desde cero?

Debo usar un CMS o desarrollar desde cero

Tienes un proyecto que te gustaría desarrollar, ya sea viniendo de una idea de negocio o por requerimiento de un cliente. La primera pregunta que se nos viene como desarrolladores es el stack a utilizar. Para que el proyecto avance de una manera efectiva, deberíamos quitarnos la bandera de puristas y ser más objetivos en nuestras decisiones.

Como desarrollador entiendo el sentimiento de querer controlar todo, conocer cada parte de la maquinaria. Además, queremos cumplir el reto para resolver algoritmos más complejos. Sin embargo, cuando se trata de crear soluciones, una buena decisión te puede ahorrar muchos dolores de cabeza.

¿Cuáles son los motivos para considerar si debo usar un CMS?

Para empezar, definamos el verdadero propósito de un CMS (Content Management System) también conocido como Sistema Gestor de contenidos. Su función principal proporcionar herramientas que permitan crear, editar y organizar información, de tal manera, que tengamos un sistema totalmente funcional desde un principio.

Lo primero que deberías tomar en cuenta es estudiar los requerimientos del proyecto, con ello podrías trazar una ruta de tiempo, identificar los módulos que son must have y responder cual será tu función como desarrollador para generar valor a través del proyecto.

Además existen factores que deberías considerar en las buenas prácticas en el desarrollo de software:

  • Tiempo de desarrollo: Cuando creas un nuevo proyecto, deberías mucho énfasis en el tiempo. Usa inteligentemente tu tiempo y utiliza los recursos a tu favor.
  • Mantenimiento: Es inevitable tener ciclos iterativos en el tiempo de vida de un sistema sino queremos caer en la obsolescencia programada. Evalúa que tipo de mantenimiento estaríais haciendo en el software una vez liberado.
  • Seguridad: Por lo general, en las comunidades de desarrolladores cuidan mucho ese aspecto.
  • Flujo del proyecto: Evalúa si los módulos son a la medida de acuerdo a los procesos internos de la empresa o proyecto. No es lo mismo implementar un sistema donde generas contenido que un sistema de reclutamiento.

Casos Prácticos

Debo aclarar que no existe una receta de cocina a la hora de tomar una decisión. Pero puedo compartir, en mi experiencia, en que situaciones los CMS son mejores de acuerdo a los puntos anteriores:

Caso 1

Un cliente me pide un sitio web con el contenido editable, pero a la vez quiere integrar sus webinar con una campaña de email marketing.

  • Bajo esas circunstancias tomaría la opción de usar WordPress.
  • Desarrollo un plugin para gestionar el webinar en caso de que no existiera alguna otra solución estable
  • Con ese mismo plugin, podría encargarme de notificar al gestor de email marketing los eventos que sean necesarios

Como te darás cuenta, me apalanqué en el trabajo de la comunidad de WordPress para las cuestiones de contenidos y enfoque mi experiencia en soluciones más enfocadas.

Caso 2

Una startup me pide que desarrolle un sitio con dos páginas de aterrizajes. La primera debe permitir obtener información del prospecto para después mandarles información de su servicio. La segunda página de aterrizaje es un carrito de compra donde ellos ofrecen sus ebooks y camisetas.

  • Para generar contenido, usaré un CMS.
  • Tengo dos opciones: La primera sería usando Prestashop o Magento porque su principal aplicación es la creación de tiendas de comercio electrónico. La otra opción podría usar WordPress apoyado de un plugin de eCommerce.
  • Me decantaré por la segunda opción porque investigando más a fondo con los fundadores, ellos están en un proceso de validación de su producto y por lo tanto no necesitan un sistema tan complejo como prestashop que fue creado para gestionar una gran cantidad de productos. Además su modelo de negocio de ellos va mas por el servicio y la consultoría.
  • Como ellos usan mailchimp para gestionar sus campañas de email marketing, usaré un plugin que permita al cliente recabar información de sus prospectos. Toda la gestión lo hacen con la plataforma
  • Por último, como mencioné antes, usaré un plugin gratuito de eCommerce, usaré WooCommerce porque cuenta con una comunidad muy activa de tal manera que tengo soporte casi garantizado. Ademas, es fácil integrar PayPal y los cobros por tarjeta.

A pesar de que esta solución aparentaba ser mas compleja, tomamos la decisión de usar soluciones estables que cubrían todas las necesidades de los fundadores.

Caso 3

Una agencia especializada en reclutar personal de seguridad me pide que le desarrolle un sistema para gestionar su personal. Además, el cliente me proporciona la información que necesita del reclutado, el estricto proceso de reclutamiento y la documentación que valide todo ese proceso.

  • No conozco un CMS que se acerque a lo que necesita este cliente. Si intentara usar uno e intentara adaptarlo, podría generar una crisis en el mantenimiento.
  • En estas situaciones podría apalancarme a través de un Framework. Donde tenga resulta la autenticación  y tenga definido algún patrón de desarrollo. De esa manera no sacrificó la seguridad y aún estaría creando soluciones completas pero con un desarrollo simple.
  • Diseño las estructuras de datos para almacenar los datos del reclutado, su documentación, proceso de selección y los registros de asignación. Para darle un seguimiento a su rendimiento con el cliente.
  • Módulo para generar y editar información.
  • Sección para asignar registros de entrevista.
  • Herramienta para subir la documentación al sistema.
  • Funcionalidad para registrar la asignación del personal a un cliente.
  • Defino las información que se necesita descargar.

La solución es mas compleja que la descrita anteriormente, pero intento justificar en esta situación de porque no pude usar un CMS. La ventaja es que cualquier cambio en el proceso interno de la empresa, el software permite que sus cambios sean rápidos porque no estamos ante una solución genérica como en caso de los CMS.

Como conclusión

Los CMS cuentan con herramientas que nos pueden ahorrar mucho trabajo y permiten que ofrezcamos valor con retos más enfocados. Su principal función es enfocarse en soluciones muy demandadas, sus módulos llegan a ser muy genéricos. Para propósitos específicos nos juegan como un arma de doble filo.

Mi objetivo es poder generar un debate, porque en el desarrollo no existen las soluciones correctas. Entonces esto corre a criterio según la experiencia de cada programador. Me gustaría saber tu opinión ¿De que manera lo resolverías tú?

10 recomendaciones para gestionar mejor tu tiempo

10 recomendaciones para gestionar mejor tu tiempo

Hace un tiempo escribí un artículo sobre cómo tu tiempo puede valer menos comparado a los demás. Ahora quiero compartirte algunos tips para que ese tiempo sea más productivo para ti.

1. No trabajes duro, sino inteligentemente

Busca mecanismos que te permitan automatizar algunas funciones que realizas durante el día. Detecta cuales son los patrones comunes de cada actividad. Invierte tu tiempo en educarte, te puedo ahorrar más tiempo de lo que imaginas.

Si los que trabajaran más, tuvieran un mejor estilo de vida, los mineros vivirían en la gloria.

2. Aprende a delegar

Previamente había mencionado la importancia de poder delegar. Deberías aprovechar la ventaja de poder usar las habilidades de los demás. Esto te permitirá explorar nuevas áreas de oportunidad mientras los demás te ayudan en conseguir tus objetivos. Trata de emplear la mayor parte de tu tiempo en actividades que sean retos para ti. Evita meterte en áreas que no domines, apaláncate con el conocimiento de los demás.

3. Mejora la comunicación

Caemos en el engaño de que mientras mas reuniones tengamos, somos más productivos. Apóyate de herramientas colaborativas e intenta disminuir gradualmente el tiempo de reuniones. Las reuniones presenciales deben tener un objetivo muy concreto. Al final de cada reunión evalúa la calidad de la misma.

Cataloga tus herramientas de comunicación por tiempo de respuesta, desde el email hasta una llamada. Las comunicaciones de tiempo real deben ser usados en situaciones de urgencia, de lo contrario, es recomendable usar otro tipo de medios que puedan distraer a los demás.

4. Organízate

Hacer una buena organización de tus actividades, te permite anticiparte a los eventos. Una excusa muy común es: «tener este tipo de hábitos nos consume tiempo». Sin embargo, es preferible invertir unos minutos de tu valioso tiempo en registrar tus actividades que pagar el costo de la falta de disciplina. La falta de disciplina se paga muy caro. Mi consejo es manejar listas semanales, de tal manera que te permita hacer un seguimiento diario. Nuestra primera actividad al inicio del día debería para planificar nuestro día.

5. Dimensiona correctamente tus actividades

Para poder llegar a este nivel, deberías haber atendido la fase de la organización. Procura que tus tareas sean lo más específicos posibles. No es lo mismo atender una actividad tipo: “Redactar un ensayo sobre el impacto ambiental de las plataformas petroleras” que atender actividades más específicas como:

  • Búsqueda de fuentes confiables
  • Obtener datos que puedan ser relevantes para tu análisis
  • Redactar la introducción
  • Redactar el desarrollo del tema
  • Plasmar la conclusión del tema desarrollado
  • Revisión de ortografía
  • Cuidar fuente, interlineado y formato
  • Legibilidad del texto

De esta manera es más fácil detectar que actividades pueden ser más relevantes y que te pudieran llevar más tiempo en atenderlo.

6. Prioriza

Cuando logras dimensionar correctamente, es más fácil priorizar, tu objetivo será ordenar lo que requieres atender primero. Una recomendación es procurar atender primero las tareas que más tiempo consumen. Tiene que ver con un tema más psicológico porque el tiempo usado es el mismo, pero tengo compañeros que atienden una tarea grande y otra pequeña por lo cual se sienten cómodos.

7. Enfócate

Es un reto desarrollar y aumentar los niveles de concentración en un mundo donde se incentiva la multitarea. Tu misión es evitar todo lo que no te deje valor y dedicarte a las actividades que te permitan cumplir tus objetivos de manera exitosa.

Trata de manejar un orden más fluido en lo que haces, evita en la medida que puedas saltarte de un área en otra. En mi experiencia un cambio de canal, requiere tiempo para volver a adaptarse.

8. Relájate

Para mí esta es la parte más importante de todas. Vale la pena desconectarte de todo lo que estas haciendo en ese momento y toma un tiempo libre. Trata de salir un rato con la familia, amigos y evita pensar en lo que te hace falta. Si te fuiste con un problema que aún no puedes solucionar, evita pensar en ese problema. ¿Has ido al campo a relajarte? ¿Sabes como se siente después de estar ahí? Las mejores cosas no tienen precio porque cada lugar nos da la oportunidad de explorarlo.

9. Desconéctate de cualquier distracción

La procrastinación es el peor enemigo de la productividad, también es el devorador del tiempo más peligroso que puede existir. ¿Te perdiste alguna serie? ¿Dejaste algún pendiente en Whatsapp? ¿Leyendo las noticias de hoy? Usa tu tiempo inteligentemente, recuerda que para hacer todo eso, tienes mucho tiempo libre.

10. Detecta en que horario tienes mejor rendimiento

No todos somos iguales. Existimos personas que somos más activas en las mañanas, otras en las tardes y aunque suene difícil de creer, hay personas que se desempeñan mejor en las noches. Identifica en que horario eres más productivo y en cuanto tiempo puedes estar trabajando sin afectar tu rendimiento. Es recomendable tomar lapsos de tiempo para descansar, salir a comer o distraerse por unos momentos.

Como conclusión

Realmente estas claves, que te ayudarán a gestionar mejor tu tiempo, no son nada de otro mundo. Todo se puede concluir que con una mejor organización en conjunto con una disciplina constante, podemos obtener ventaja de nuestro recurso más valioso que es el tiempo.

Me gustaría saber tu opinión sobre que te parecieron estas recomendaciones, me dará gusto poder leer y responder tus comentarios. Si te pareció útil este artículo, te agradecería mucho si me ayudas a compartir.

Porque deberías delegar en tu negocio

El trabajo en equipo es esencia para obtener mejores resultados.

Desde que me levanto, tengo la costumbre de revisar mis pendientes del transcurso del día. Un día me di cuenta que podía delegar ciertas actividades que no requieren mi atención, de ahí fue que me surgió este tema. Cuando vi pasar a mi vecino, cayó como anillo al dedo para poder explicar la importancia de porque deberías delegar.

Tengo un vecino que se llama Pablo, él se dedica a la pesca, se levanta desde la madrugada para aprovechar la luz del sol. Él se despide de su esposa y le dice que la verá en tres días.

Pablo se ha comprado una lancha semi nueva después de haber trabajado algunos años en la pesca, entonces se encargó de expedir los permisos para que pudiera pescar legalmente, la tortura terminó al fin después de toda la burocracia, porque así funciona en México.

Llegó la temporada de tiburón, era su oportunidad de estrenar su lancha. Así que decidió poner en marcha su nueva aventura. Él pensaba que cuando se trabaja con menos personas, las ganancias llegan a ser más. En la siguiente infografía demuestro porque estaba equivocado.

Pablo estaba confiado de sus habilidades subestimando a las demás personas. Si hubiera confiado en la experiencia de otras personas donde el no dominaba, las pérdidas hubieran sido mucho menores

Pasa hasta en las mejores familias

He llegado a conocer a clientes que prefieren hacer todo ellos mismos, con el argumento de que otras personas no lo harían tan bien como ellos. Es natural que piense eso porque nadie conoce tu empresa mejor que tú. Sin embargo, ¿qué pasaría si te dedicaras a capacitarlos? Otro argumento que pesa mucho en estas decisiones es la confianza en la que depositas en un tercero.

Razones de porque deberías delegar

  1. Apaláncate con el conocimiento de los demás. Te imaginas cuando les costó capacitarse para especializarse en un área que tu requieres.
  2. Pueden surgir nuevas ideas. No dudes que en el trabajo te sugieran mejores alternativas para trabajar. Que mejor que recibir consultoría gratis por parte de tu equipo.
  3. Mejora constante. Recuerda que cuando crece tu negocio, es difícil controlar todo. Tu mismo equipo te ayudará a mejorar ciertas áreas que dominen.
  4. Cada persona aporta valor en tu equipo. Si eliges bien a tu equipo, tienes una alta probabilidad de éxito

¿Qué opciones tenemos para delegar?

Contratar personal

¿Preferirías llevar la contabilidad tú mismo o dejar que un contador te ayude con la experiencia que venga de otra empresa? Ellos pueden tener conocimiento de algunos beneficios fiscales que tu desconozcas totalmente. Te pueden ayudar a tener una mejor gestión en tu empresa

Servicio externo

En ocasiones existen departamentos se pueden manejar de manera externa, no necesariamente requieres tenerlos en tu nómina. Por ejemplo, una consultoría legal a través de un despacho de abogados o una empresa de marketing que te darían mejor presencia de la empresa trabajando mano a mano con tu equipo interno.

Servicios digitales

Existen aplicaciones como Slack que permiten comunicar a tu equipo en tiempo real o servidores en la nube como Dropbox, Drive, iCloud que cuentan con una gran infraestructura de almacenamiento. Atrás de esos servicios, existen personas experimentadas para que solo te enfoques en la operación de tu negocio. Esta es la manera más fácil para empezar a delegar.

Como conclusión

No esperes saber todo, busca enfocarte en tus áreas de oportunidad y evita distracciones. Evita buscar ser protagonista todo el tiempo y dale la oportunidad a otras personas de hacer las actividades que tu haces, les permitirás aprender y te ayudarán a impulsar tu proyecto. No tengas miedo en enseñar lo que sabes hacer, todo lo contrario, te ayudará a reafirmar lo que ya sabes.

¿Cuánto vale tu tiempo?

¿Cuánto llega a valer tu tiempo?

Hace unos días conversaba con unos amigos en una de nuestras salidas. Uno de los temas que surgieron es sobre que hacemos con nuestro tiempo libre. De ahí me surgió la pregunta de ¿cuánto vale nuestro tiempo?

Solo para poner en contexto, Leonardo trabaja en las mudanzas, el tiempo que dedica a su trabajo es bajo demanda. Hay días que son muy agitados, en otros días puede que no hayan pedidos, sin embargo, me comenta que le va muy bien. José trabaja como Mesero en un bar de playa, gana el salario mínimo pero su principal incentivo son las propinas. Y Juan a quien considero como una gran persona, trabaja en una empresa de abarrotes como almacenista.

Conociendo su entorno laboral

Lo que me llamó mucho la atención es el salario que perciben por el esfuerzo que demanda su trabajo. Describiendo mejor en como le va a mis conocidos en su jornada productiva:

  • Leo, se asoció con un amigo que tiene una camioneta. Cuando les va bien, tienen días de trabajo donde les salen de dos o más mudanzas. Su jornada laboral es de 10:00 a 6:00 de la tarde, aunque entre cada trabajo tienen tiempos muertos que lo dedican en otras actividades. Ellos están en sus respectivas casa, si en ese horario les surge algún trabajo, el amigo de Leo pasa a buscarlo a su casa para atender a su cliente. Entre cada mudanza pueden ganar de 50  a 100 dólares cada uno.
  • José lleva varios años trabajando en un bar de playa, su salario es de 85 dólares quincenales sin embargo, su principal fuente de ingresos son las propinas. Dependiendo la temporada, puede llevarse desde 10 a 50 dólares al día. Le va mejor en sus propinas que al resto de sus compañeros por su grandiosa atención al cliente. Si alguna vez van a Isla Mujeres y quieren tomarse una copa en la playa en el Bar Caribbean Queen, pregunten por Bosh, no se arrepentirán.
  • Juan trabaja en una tienda de abarrotes donde gana un salario de 150 dólares a la quincena, con prestaciones conforme a la ley y un horario fijo de 7:00 a 3:00 de la tarde. Por cada hora extra que trabaja, le pagan dos dólares.

En la siguiente gráfica, puedes ver como les fue a mis amigos en estos últimos cuatro meses.

Como podrás observar, a Leonardo le fue mejor en Enero y Febrero, mientras que a José le fue mejor en Marzo, porque Leonardo cayó enfermo por varios días. Sin embargo, ¿Qué fue lo que pasó con Juan? Sus ingresos han sido muy constantes a pesar de haberse enfermado por una semana, aun así ha podido ganar un total de 1206 al mismo tiempo que mis otros dos camaradas.

Es una forma más clara de ver quienes obtienen mejores ingresos a pesar de que dedican casi las mismas horas en sus respectivos trabajos. La tendencia de ingresos de Leonardo y José es superior al salario que percibe Juan.

¿Cual sería la causa de que Juan gane menos?

La verdad pueden ser muchos factores, pero hay una regla que prevalece en el entorno productivo. A mayor riesgo, más posibilidades de ganancia. Si Leo y José se llegan a enfermar, dejarían de percibir ingresos. En sus inicios, Leo empezó ganando mucho menos que Juan y estaba a punto de dejar el negocio de las mudanzas para buscar un empleo que le permitiera recibir un salario estable.

Juan, por su parte, percibe el mismo sueldo. Dada su situación actual, sólo tiene dos alternativas de poder percibir mayores ingresos:

  • Dedicando más horas laborales de trabajo
  • Solicitar un aumento de sueldo

¿Entonces cuanto gana en promedio cada uno de los tres?

La muestra de sus ingresos representa 3 meses y medio de trabajo, calculamos el ingreso por medio por hora en dólares.

Como te darás cuenta, el costo por hora de Leo como de José es aproximadamente lo triple de lo que gana Juan. Sin embargo, los dos primeros corren más riesgos:

  • Juan cuenta con un seguro por parte de la empresa. Si tuviera un accidente el seguro lo tiene cubierto a él y a su familia en caso de no poder seguir laborando. Por su parte Leo y José tendrían que contratar un seguro y contar con ese egreso.
  • El clima es un riesgo para Leo y Juan, en un día les podría ir tan bien o muy mal dependiendo la situación.
  • Leo tendría que cubrir el gasto de combustible y el mantenimiento del vehículo.
  • A José se le han escapado varios clientes sin pagar, hay días que incluso a puesto de su bolsa para poder cubrir sus ventas de ese día.

Entonces, ¿Cuánto vale tu tiempo?

Aún con todas esas situaciones, debes estar dispuesto a asumir algunos riesgos si realmente buscas obtener mejores ingresos. Todos contamos con un recurso valioso, se llama tiempo. La decisión de como aprovechar tu tiempo sólo depende de ti.

Estas son unas claves que me ayudaron a gestionar mejor mi tiempo:

  • Dedica tu tiempo en lo que consideres que te pueda hacer más productivo. Si haces una lista de todo lo que debes hacer durante el día, te ayudaría a priorizar mejor.
  • Capacitate. Dedica al menos unos minutos al día en aprender algo nuevo. El conocimiento se valora mucho.
  • Evita caer en la zona de confort. Juan se siente cómodo con lo que sabe hacer, pero las empresas solo verán su beneficio y podría ser reemplazado fácilmente.
  • Busca ser mejor que antes, nunca dejes de aprender.
  • Explora otras oportunidades en la misma empresa u otra. Puedes considerar emprender si te sientes listo psicológicamente.

¿Qué tal te pareció esta entrada? ¿Te gustaría compartir algo más? Agradecería tus comentarios o si crees que a alguien más le podría servir esta información, no dudes en compartirla.

Que es un crawler o robot web y como funciona

En español se les conoce como arañas web, su función es rastrear todas las url que puedan encontrar a través de hipervínculos. Leen el contenido de los enlaces para después ir agregando las URLs a una lista según el algoritmos de cada robot. Los crawler, son creados frecuentemente por buscadores como: Google, Bing, Apple, MSN, Facebook, Twitter, entre otros.

La periodicidad para que el crawler visite tu sitio es proporcional a la frecuencia que actualizas o generas nuevo contenido.

Los crawlers siguen ciertas reglas de indexación

Existe un archivo llamado robots.txt donde le indicas cual sería el contenido que los buscadores deban tomar en cuenta. Con la información obtenida de tus sitios, los servidores crean un indice en su bases de datos. El uso que cada empresa le dé, depende mucho de su modelo de negocio.
Como funciona un crawler o araña web
Flujo de las arañas web

Los crawlers más frecuentes

Todas cumplen un objetivo similar, indexar información actualizada constantemente

Googlebot

Su función es descubrir nuevas páginas o contenido actualizado de ellas. Googlebot, utiliza un algoritmo para medir la frecuencia de rastreo en todo el universo web al que pueden tener alcance. La forma en que hace el rastreo es a través de enlaces provenientes de sus páginas indexadas.
 
Google maneja políticas de rastreo, el primer paso es indexar para después dar una calificación del valor del contenido. Si quieres que Google indexe más rápido tu contenido, debes crear contenido de calidad de manera constante y periódica.
 
Si deseas medir la frecuencia de rastreo, puedes consultarlo en Google Search Console para ver este tipo de resultados:
Estadística de rastreo de la araña web de Google
Frecuencia de rastreo de un crawler

Como te podrás dar cuenta, Google Webmaster Tools solo almacena datos históricos por hasta 90 días. Pero esto deberías proporcionarle toda la información necesaria para descubrir los hábitos de rastreo de Google relacionados con tu sitio. En este caso, tenemos un promedio de rastreo de 7 páginas por día.

Bingbot

Funciona de la misma manera que Googlebot, también se puede controlar las tasas de rastreo por hora con su propia herramienta de rastreo.
Estadística de rastreo de la araña web de Bing
Estadística de rastreo de Bingbot

Applebot

Hace unos días, estaba revisando las peticiones que se realizan a Mexlike en el analytics de Cloudflare. Me llamó la atención de que existiera un bot llamada Applebot.

Analytics de Cloudflare donde muestra los crawler que indexan tu sitio
Analytics de Cloudflare

Según el sitio oficial de apple, es un agente de búsqueda utilizado para  mejorar sus servicios a través de Siri y Spotlight. Aunque han surgido algunas dudas de su uso, porque apple ha solicitado sus búsquedas en índices de BingWolfram Alpha. Solo podría deducir que apple siempre busca enriquecer su ecosistema de servicio con la calidad que los caracteriza sin depender de terceros.

Como Recomendación

Si quieres controlar lo que deseas que vean en tu sitio, te sugiero que sigas los estándares de robots.txt, así evitarás mandar información innecesaria que al final podría afectar tu reputación.

Espero haberte ayudado con esta información. Para cualquier alguna duda o sugerencia, quedaré al pendiente de tus comentarios. Agradecería mucho si me ayudaras a compartir esta información si crees que le podría servir a alguien más.

DNS 1.1.1.1 de Cloudflare que protege tu privacidad

DNS 1.1.1.1 de Cloudflare
1.1.1.1 y 1.0.0.1 de Cloudflare

Debido a escándalos que han surgido por medio Cambridge Analytics, empresas como Facebook y Google han estado en la mira por la cantidad de información que tienen en su poder. Sobre todo porque su principal modelo de negocio es el manejo personal de nuestros datos para después ofrecernos publicidad cualificada.

Cuando no pagas por algo, entonces tu eres el producto.

Google el servidor de DNS

Cuando buscamos opciones por un servicio de DNS público y gratuito, lo primero que nos viene a la mente es usar los DNS de Google 8.8.8.8 y 8.8.4.4.

Entre sus ventajas son:

  • Mejor velocidad de respuesta al momento de resolver cualquier petición.
  • Dado que cuenta con la infraestructura de Google, tenemos garantía de que no se saturarán nuestras peticiones por sobrecarga.
  • Es global: Permite mejorar los tiempos de respuesta.
  • Indexa a la mayoría de todos los sitios webs del mundo.

Su principal desventaja

  • Aprende los hábitos de navegación de quienes las usamos.

Los DNS 1.1.1.1 de Cloudflare protegen tu privacidad

Cloudflare ha anunciado que a partir del 01 de Abril ofrecerán una nueva opción con sus DNS 1.1.1.1 y 1.0.0.1, las opciones más rápidas hasta ahora. Para los que usen el protocolo IPv6 estas son las direcciones: o2606:4700:4700::1111 y 2606:4700:4007::1001.

Aquí podemos ver una gráfica de DNS Performance Analytics.

El DNS 1.1.1.1 de cloudflare lidera en velocidad de respuesta
Listado de servidores de DNS más populares

Como podemos ver los DNS de Cloudflare lideran en velocidad superando a los populares DNS de Google. Cloudflare es una empresa que acelera y protege millones de sitios web en el mundo. También cuenta con una gran infraestructura y la experiencia en optimización de velocidad. Además, ellos han prometido proteger la privacidad de los usuarios como su principal objetivo.

Cloudflare me ha convencido, se ha convertido en mi proveedor de servicios siendo una gran alternativa para los que usábamos OpenDNS, antes de que fuera propiedad de Cisco Systems.

Me gustaría saber tu opinión acerca de este gran lanzamiento por parte de Cloudflare. ¿Le darías una oportunidad?

 

Metodología Kanban: Ideal para la gestión de tu startup

Metodología Kanban con Trello
Tesla, Inc. con la metodología Kanban

La naturaleza disruptiva de las startups

Las Startups, buscan resolver problemas complejos a través de la innovación, desarrollar soluciones con la tecnología y simplificar procesos. Para llevar a cabo sus objetivos, una startup requiere ser gestionada de la manera más organizada posible pero sin que eso implique usar procesos de gestión demasiados complejos.

La comunicación con el equipo llega a ser crucial para el crecimiento acelerado ante la competencia brutal contra las empresas grandes. La metodología Kanban nos proporciona herramientas que faciliten esa gestión.

Los equipos que usan el desarrollo ágil pueden aprovechar las ventajas que nos proporciona Kanban. Con la metodología Kanban, cuentas con opciones de planificación más flexibles, resultados más rápidos, un enfoque más claro y existe transparencia en todo la ejecución.

Entre las oportunidades que podemos encontrar de Kanban es:

  • Facilita una comunicación de tiempo real de los actividades el cual nos permite visualizar mejor la cantidad de tiempo a la capacidad de trabajo total.
  • Fomenta el trabajo en equipo. Podemos ver cuales son las actividades asignadas a cada quien, fechas de finalización  departamentos.
  • Puedes dividir grandes tareas en pequeños bloques donde puedes analizar de manera más eficiente el rendimiento particular del equipo.
  • Definimos procesos. Nosotros manejamos la tradicional: To Do, In Progress, Review y Done.
  • Priorización. Sin necesidad de realizar juntas, el equipo puede conocer el orden de prioridad de acuerdo a sus objetivos.
  • Evita que hagamos cambios que puedan impactar negativamente en tiempos de entrega o afecte los objetivos principales del negocio.

Caso práctico

Para poder entender mejor su funcionamiento, pondré una empresa x cuyo nombre se llamaría Tesla. Sería una empresa sustentable de coches eléctricos que buscará consolidarse en el mercado como el líder indiscutible de coches autónomos.

Tablero en Trello de la metodología Kaban de Tesla

La empresa cuenta con seis departamentos que están comunicados entre sí para llevar a cabo sus objetivos:

  • Energía renovable: Son los encargados de obtener fuentes naturales virtualmente inagotables que a la vez contribuyen y cuidan al medio ambiente.
  • Pruebas: Realizan las pruebas QA que verifican que todo el departamento de producción cumplió con todas las medidas aprobadas por la junta directiva.
  • Innovación: Busca añadir valor con las nuevas tecnologías e investigaciones en energías renovables.
  • Sistemas: Manejan todo lo relacionado a las IT como son: las bases de datos, software, Inteligencia artificial, etc.
  • Producción: Área relacionada a la fabricación y distribución de todos los prototipos
  • Comunicación: Su función es ser voceros a través de conferencias, redes sociales y medios de comunicación. Dan a conocer las decisiones de la empresa.

Lo tendré plasmado en Trello ya que es la herramienta de facto, pero puedes plasmarlo en algún otro software como jira o incluso en una pizarra con post-it. Todos los departamentos llegan a interactuar unos con otros, la intención es ser lo más explícito posible.

Procesos de ejecución

Backlog

Según la teoría, se elaboran las necesidades que van surgiendo después de una reunión con el equipo o puede derivarse de alguna otra actividad. El equipo puede agregar las tareas que considere necesarias sin que esto afecte el flujo actual de trabajo.

Recomiendo que las tareas a realizar deberían responder preguntas como: Que quiero hacer, Que debería hacer y que necesito hacer.

To Do

Esta sería la primera fase de ejecución, para no romper el estándar. Los planes pueden ser semanales, quincenales o mensuales, sin embargo, mientras se definan objetivos de menor tiempo es más sencillo realizar cambios en un futuro. Yo prefiero objetivos de una semana.

In Progress

Tener un mapa de donde estamos trabajando en estos momentos, te deja tomar decisiones aún cuando ya estés trabajando en un objetivo semanal. No olvidar que la ventaja del kanban es su flexibilidad ante pequeños cambios de último momento

Review

Como en cualquier trabajo, siempre debe haber una fase de revisión antes de que el producto final vea La Luz. Si en esta fase de revisión se detecta alguna anomalía, puedes regresarla a una fase anterior In Progress o To Do. Este proceso es el más importante porque el equipo revisor confirmará que los objetivos se llevaron a cabo conforme lo planeado. He estado en situaciones donde una empresa liberó un carrito de compras que le costó mucho dinero al cliente por un error que nunca validaron.

Done

Todo lo que ha llegado aquí se da por finalizado. Si tu equipo hizo las pruebas de calidad correctamente en el proceso de review los incidentes llegan a ser mucho menores. A la vez, los demás integrantes del equipo se da por enterado lo cual les permite tomar decisiones.

Criterios de evaluación

Quiero manejar este ejemplo donde requiero detallar mis pruebas de velocidad, la listas ayudan a ser más explícitos manejando en estas actividades.

Criterio de evaluación para la prueba de velocidad del Hyperloop

Es muy útil cuando una tarea requiere de más tiempo de ejecución. Si seguimos el ejemplo de Pruebas de velocidad en el Virgin Hyperloop One, necesito dividir esa evaluación en 3 etapas, puesto que en cada una de ellas, debo ir a varios puntos.

La metodología Kanban en cualquier sector

Como podemos ver, la metodología Kanban llega a ser bastante eficiente en cuanto a organización operacional. Esto permite que pueda ser implementado en cualquier tipo de startup. Su uso llega a ser muy común en la fabricación de productos, agencias o equipos de desarrollo de software.

Me gustaría saber tu opinión acerca del tema, ¿en que otras actividades puede ser empleada? ¿Usas alguna otra metodología que te haya resultado más efectiva?