Consejos y herramientas para hacer home office

¿Qué pasaría si de pronto aparece un virus mortal y las empresas tienen que cambiar sus hábitos y su forma de operar?

No te vuelvas loco, a continuación, te comparto algunos tips básicos para hacer home office de manera exitosa y productiva.

Debido a la situación actual del país y del mundo es de esperarse que los ejecutivos y empresarios quieran aportar su granito de arena evitando la propagación  del virus, así, una de las medidas más efectivas es practicar home office (trabajo desde casa), claro, no aplica para todas las empresas, por ejemplo, para una empresa de logística es imposible que el operador de la unidad practique home office, o para un operario de una línea de producción etc.

Bien, lo primero que debes saber es que cuando el home office o cualquier otra metodología de trabajo se da de forma repentina o forzada, va a fracasar.  No hay que asustarse, si siguen estos tips sus posibilidades de tener éxito aumentan considerablemente.

Contrato:

Lo primero es tener un contrato de trabajo en casa y no nos referimos a tenerlo con la empresa necesariamente, si no con tu familia, con las personas con las que vives. Debes y deben de tener muy claro que estás trabajando, que en tus horas de trabajo no puedes ir a la tienda por el garrafón de agua, no puedes ir a un “mandadito”. Tengan muy en claro eso. Comienza respetando tus tiempos.

Lugar de trabajo adecuado:

Es de suma importancia que el lugar de trabajo no sea la cama, el sofá, el baño etc. El lugar de trabajo tiene que ser una mesa o escritorio con su silla. Adicional se debe de tener todo el equipo necesario para operar:

  • Computadora.
  • Audífonos con micrófono (también funciona tener audífonos y micrófono por separado).
  • Internet estable.
  • Libreta, lápiz y lapicero.
  • Monitor extra si se requiere.
  • Cámara para video llamadas (ya sea externa o propia de la computadora)

Cualquier herramienta con la que se esté acostumbrado a trabajar tiene que estar ahí. Algo que no se debe pasar por alto es que nosotros también debemos de estar en óptimas condiciones, es decir, hay que cambiarse no es bueno quedarse con pijama todo el día, el cambiarse también te hace entrar en razón de que se está trabajando.

Comunicación colectiva:

Este es un punto fundamental puesto que la buena comunicación tanto en equipos presenciales como remotos es indispensable. Hay varias herramientas que queremos recomendarte en base a nuestra experiencia, se van a dividir en herramientas para compartir archivos, documentos y hacer chat y en herramientas para conferencias y video llamadas.

Herramientas para comunicación tipo chat y compartir archivos.

  • Slack: Es una herramienta muy útil sobre todo para equipos técnicos, debido a que ofrece la posibilidad de enviar recursos(código, imágenes, diseños, etc.) de una forma mas efectiva que otras herramientas. Se pueden hacer grupos de trabajo y llamadas.
  • Discord: A pesar de que es una herramienta considerada “gamer” ofrece un paquete completo ya que se puede hacer transferencia de archivos, video llamadas, live, chat, la ventaja de discord ante las otras herramientas es el performance tal alto que tiene, es decir es una herramienta muy fluida y que consume poco recurso.
  •  Dropbox: Herramienta para compartir archivos de manera colectiva, que se puede sincronizar con tu dispositivo móvil y computadora. (Esta herramienta solo es para compartir archivos)
  • Google Drive: Esta herramienta al ser de la familia de google la mayoría de los colaboradores pude que estén relacionada con ella, es de uso exclusivo para la transferencia de archivos y se sincroniza con tu correo.
  • Whatsapp: Dentro de las herramientas que recomendamos whatsapp tiene que ser tu última opción, aunque si es muy útil muchas de las veces se olvida la formalidad dentro de esta aplicación. Está en este top debido a que si aplicarás home office de manera repentina es la herramienta que la mayor parte del equipo sabrá utilizar, sin olvidar que mas pronto que tarde se tiene que migrar a otra herramienta.

Herramientas para video llamadas y conferencias:

  • Google Hangouts: Al ser una herramienta de google es necesario contar con una cuenta de google, da la opción de compartir pantalla y crear un grupo para una conferencia o video llamada uno a uno. La desventaja de esta herramienta es que para grabar una sesión es algo complicado.
  • Microsoft Teams: Es una plataforma que ofrece múltiples herramientas y una de ellas es Skype empresarial para poder realizar conferencias y video llamadas con miembros del equipo, si manejas tecnologías de Microsoft está herramienta es la ideal debido a que se enlaza con office 365 y más tecnologías de la empresa.
  • Zoom meeting: Es una plataforma para videoconferencias donde pueden participar hasta 100 personas de manera simultanea y gratuita. Permite compartir pantalla, grabar la sesión, ceder el control de tu computadora a otro compañero que se encuentre en la conferencia y ofrece hasta 40 minutos por sesión, si requieres mas tiempo se tendrá que pagar un licencia de 15 dólares aproximadamente.

Trabajo en equipo y eficiencia:

Ahora seguimos con las herramientas de productividad, estas ayudan a los lideres de equipos, encargados y ejecutivos a dar seguimiento en tiempo real, administrar tareas proyectos y medir eficiencia entre otras funciones de manera remota.

  •  Trello: Esta herramienta es muy útil para organizar los pendientes de manera visual (tableros,listas,tarjetas) organizándolos por prioridad y equipo. Para comenzar es una buena herramienta pero no ofrece seguimiento en tiempo real, ni estadísticas de eficiencia. Es una herramienta que se puede utilizar de complemento.
  • Monday: Es un software de gestión de proyectos para facilitar el trabajo en equipo que puede mostrar en diferentes colores con etiquetas personalizables los flujos de trabajo y colaboración entre los colaboradores. Esta herramienta no cuenta con seguimiento en tiempo real ni eficiencia.
  • Notion: Es una herramienta que permite comunicación es decir, abrir comentarios y discusiones, permite la colaboración en tiempo real (aunque no da seguimiento en tiempo real de los colaboradores), otra característica es la de documentos compartidos en donde los colaboradores pueden hacer transferencias de archivos y por ultimo tiene un apartado de gestión de proyecto.
  • Time Doctor2: Es una herramienta de uso colaborativo en donde se puede configurar las funciones según sean necesarias para cada empleado, algunas funciones con las que cuenta son: seguimiento de tiempo, capturas de pantalla, monitoreo de chat, reportes, alertas de uso de tiempo, y algunas integraciones con otras plataformas.
  • Time Camp: Esta herramienta resuelta muy útil al momento de hacer home office pues que en cierta parte da un tranquilidad a los encargados debido a la robustez de funcionalidad que ofrece,  algunas de sus funciones son: Informes (Detallados, por días, personalizados). Gestión de proyectos (se puede integrar con múltiples plataforma de gestión de proyectos). Seguimiento en tiempo real (tiempos ausentes, actividades, cronología, trabajo por objetivos, eficiencia, estadísticas de usuario). Informes presupuestarios eh integración con múltiples plataformas como: GitLab, Asana, Monday, Trello, entre otras.

Estos han sido algunos de nuestros tips y herramientas para poder hacer home office exitoso, confiamos en que te serán de utilidad  y ustedes como nosotros optarán por aprotar ese granito de arena.  

Eduardo Martínez
eduardo@girasolo.com
www.girasolo.com
www.ThinkBigPink.com

Algo que puedas hacer solo

Hoy te quiero contar una historia, o mejor dicho parte de una historia sobre mí, hace algunos años sufrí una serie de ataques de ansiedad, quiénes han pasado por ello, saben que los ataques de ansiedad son parte de un proceso, o mejor dicho, es una parte evidente de un proceso más grande: depresión, recuerdo mucho la fecha en que me dieron de alta, fue una fecha feliz, obviamente, fue un día con muchas dudas, y la más obvia era: ¿Qué puedo hacer para no volver a estar aquí? La respuesta de la Dra. Tello fue algo mucho menos complicado de lo que imaginaba: Busca algo que puedas hacer solo, un hobbie donde no necesitas a alguien más, porque si por ejemplo, tienes ansiedad y tu hobbie es jugar fútbol necesitas mucha gente y no podrás descargar tu ansiedad, generalmente, las actividades artísticas son un gran hobbie, pintar, tocar un instrumento, etc.

El consejo de la doctora parece algo trivial, sin embargo, me ha ayudado mucho más de lo que imaginé, y te lo cuento hoy porque en medio de la mayor crisis de salud que me ha tocado vivir, la principal recomendación que dan los científicos y médicos del mundo es el aislamiento, recomendación que por sí misma, puede tener una serie de efectos secundarios que no imaginamos, por ejemplo, en Wuhan China (lugar donde se cree inició el problema sanitario) la taza de divorcios va en aumento y es que la sobre-información, así como el aburrimiento y la tensión pueden generar también una crisis de ansiedad.

Es verdad (para quienes pueden hacerlo) que trabajar desde el hogar es algo sumamente tentador e interesante, sin embargo, una vez que has terminado tu periodo laboral ¿Qué sigue? no puedes ir al súper, al gimnasio, al restaurante… ¡Te tienes que quedar en casa! Y la mejor forma de abordar esta rutina es: Buscando algo que puedas hacer solo, sí, porque te enfadarás de tu roommie, de tu esposa, de tu novia, de tus hijos y hasta de ti; a continuación te dejo algunas de las actividades que puedes realizar por ti solo:

  1. Dibujar: (mi preferida) sé que si no lo haces seguido te costará mucho trabajo, pero creeme una vez que empiezas no puedes pasar, libera tu ansiedad con este hobbie, existen muchos cursos en línea (personalmente soy fan de los cursos de Puño), pero puedes buscar alguno más, si ya dibujas, da el siguiente paso, aprende a pintar, (acuarela por ejemplo).
  2. Tocar un instrumento: (nunca logré y vaya que lo intenté), igualmente, hay infinidad de cursos en internet, además, podrás descargar aplicaciones que te ayudarán a mejorar tus habilidades, desde un afinador, hasta un metrónomo, además, podrás encontrar bastantes cursos en Youtube o en Udemy.
  3. Aprender un idioma: Uno de mis sueños, era aprender italiano, para mí, la mejor opción fue con Babbel, pero, puedes encontrar muchas soluciones diferentes (además, quién sabe, cuando termine el periodo de aislamiento, podrás ascender de puesto).
  4. Aprender otra habilidad: programar o editar, (por ejemplo), existen muchas plataformas, para programar, me gusta mucho una app que se llama Mimo, también recomiendo FreeCodeCamp (además, como dice su nombre, es gratis) , o los cursos de platzi, si ya eres pro, puedes iniciar tu proyecto de videojuegos o aplicaciones.
  5. Escribir: seguro es que tienes una historia en mente, aprovecha tu tiempo extra para iniciarla si no sabes como escribir, también hay cientos de páginas que te pueden ayudar (en lo personal, considero que haber tomado un curso de escritura creativa ha sido una de las mejores decisiones profesionales que he tomado), pero cuidado: All work and no play makes Jack a dull boy, o como decimos en español: Sin televisión y sin cerveza, Homero pierde la cabeza.
  6. Bordar y tejer: hay veces, (muchas) en que le envidio a mi novia esta habilidad (pueden hacer reuniones zoom para que se junten a tejer como se hacía antes), además, puedes combinar técnicas de dibujo con bordado y woow, sé que ella tiene varios libros, algo padre para iniciar es Pïcapau.
  7. Leer: puedes darte tiempo para por fin leer ese montón de libros que compraste y no más acumulan polvo, mejorarás tu ortografía, y de paso, aprenderás también a expresarte de mejor forma, si tienes un kindle, puedes buscar su servicio de suscripción, así, no gastarás tus ahorros.

No temas aislarte dentro del aislamiento, es decir, no todo el rato deben convivir quienes están adentro, respeta y busca tu intimidad.

PD. No olvides ejercitarte, aunque no puedas correr, o no puedas ir al gimnasio ejercitarte será un punto crucial para que no pierdas la cabeza, te recomiendo visitar a Ángel y HolixLab para conocer algunas rutinas adaptadas para ti.

Como lo ves, no es casualidad que muchos de los grandes artistas de la historia, hayan sido personas solitarias, hoy más que nunca, aplica el consejo de la Dra. Tello, hoy más que nunca Girasolo: Busca algo que puedas hacer solo.

@ChenBrimac
chen@girasolo.com
www.girasolo.com
www.ThinkBigPink.com

Nueva Página Girasolo

Así es, actualizamos el sitio web de Girasolo te quiero platicar un poco sobre la tecnología, proceso y desarrollo de este proyecto.

Después de un par de años con nuestro sitio web, decidimos actualizar nuestro sitio web, entre las razones para hacerlo se encuentran: 1. Dar mayor frescura y facilidad de uso, esto debido a la incursión al mundo digital de la compañía (tenemos una división exclusiva para el desarrollo de productos digitales: BigPink). 2. Dar un énfasis a nuestro portafolio que se visible, fácil de identificar y de verificar. 3. Cambiamos parte de nuestra imagen (aunque no cambiamos el logotipo, sí cambiamos su forma de uso, y sus colores de acompañamiento).

Main de nuestro sitio web, se buscó un diseño sencillo pero llamativo y poderoso, crentrándonos en lo importante. visita: http://www.girasolo.mx

El diseño del sitio web corrió a cargo de mis compañeros, quienes me entregaron versiones desktop y mobile de la página, para poder traducir a web sus propuestas utilicé diferentes tecnologías y herramientas, a continuación te platico un poco al respecto.

Utilicé el sitema de regillas bootstrap un framework CSS y JavaScript diseñado (por Twitter) para la creación de interfaces con un diseño responsive es decir, un diseño que puede adaptarse a diferentes pantallas de manera más rápida e intuitiva.

Además, se utilizó JavaScript ya que permite realizar todo tipo de aplicaciones cliente/servidor, tambien es utilizado para crear efectos visuales que dan dinamismo a los sitios web y ofrece la psoibilidad de interactuar con este, para crear una sensación de comunicación entre el sitio web y el usuario.

Extracto de nuestro sitio web.

Debido a que somos una empresa de desarrollo utilizamos GitLab para llevar un control sobre el desarrollo, así, es posible versionar el sitio y mantener una mejor calidad entre cada actualización (este sistema, es utilizado para todos los desarrollos internos de Girasolo / BigPink), esto, nos da la posibilidad también de mantener respaldos de ellos.

Algunos aspectos a destacar de Gitlab son:

  • Alojar proyectos de forma gratuita.
  • Facilita la manera de compartir proyectos (dentro y fuera de la comunidad).
  • Reduce al máximo errores humanos que se pueden presentar durante el desarrollo, además, de que te permite detectar fallos más grandes de una manera rápida y sencilla.
  • Ofrece todos los beneficios de sistema controlador de versiones GIT, pero además cuenta con herramientas extras.

Para que un sitio web sea seguro, y funcione de manera óptima el hosting es crucial, nuestro sitio está alojado en AWS plataforma en la cuál somos expertos, algunas de las ventajas de AWS son:

  • Facilidad de uso: AWS está diseñado para permitir que los proveedores de aplicaciones, proveedores de software independientes y distribuidores, puedan hospedar de forma rápida y segura su aplicación.
  • Flexibilidad: Puedes seleccionar desde el sistema operativo, el lenguaje de programación, plataforma de aplicaciones web, hasta base de datos y otros servicios que llegues a necesitar.
  • Rentable: Pagas por lo que necesitas, sin plazos ni compromisos forzosos.
  • Seguro: aplica un enfoque integral para proteger y reforzar tu infraestructura, incluye: medidas físicas, operativas y software.

Desde el punto de vista comunicación nuestro sitio cuenta con herramientas avanzadas de google y facebook.

Desde diseño, se da un enfoque mayor al portafolio, además, es un sitio seguro (certificado SSL).

Te invito a concoer el nuevo sitio de Girasolo.

Milton Ventura – UX BigPink
milton@girasolo.com
www.girasolo.com
www.ThinkBigPink.com

¿Qué es un design system? Y si estudias diseño ¿Por qué deberías saberlo?

El manual de identidad es para los estudiantes de diseño la culminación de su carrera, muchos de los proyectos finales en la carrera de diseño gráfico son precisamente el entregar manuales de identidad, sin embargo, existe un nuevo concepto que está ganando popularidad entre los que realizan diseño y es el design system, pero, ¿Qué es un design system y para qué sirve? para responder esta pregunta, primero abordaremos qué es un manual de identidad.

¿Qué es un manual de identidad?

El manual de identidad es un documento en el cuál se señalan las guías de imagen de una marca, compañía o producto; en él, se especifican colores, formas, tamaños, guías, tipografías de acompañamiento, ejemplos de usos gráficos (papelería, medios digitales, envases y empaques, etc.), también, el manual de identidad declara las prohibiciones y los usos incorrectos.

Página del manual de identidad de nuestro branding.

Entre las ventajas que brinda tener (y respetar) un manual de identidad se encuentran (como su nombre lo dice) ayudar a que la marca sea coherente e identificable y por lo tanto, genere en el usuario una afinidad y reconocimiento, un buen manual de identidad, ayudará a que se realicen decisiones que tienen que ver con imagen de una manera más rápida, ayudará a que todos los puntos de contacto con usuario final apoyen a la labor de reconocimiento y por lo tanto ayudarán al posicionamiento de marca.

Entonces: ¿Qué es un design system?

Para entender qué es un sistema de diseño primero, debemos comprender que es un Ecosistema Vivo, es decir: un proceso iterativo, a diferencia de un manual de identidad, el sistema de diseño puede cambiar todos los días,

¿Qué contiene un sistema de diseño?

  • Guías de estilo; son guías acerca de cómo hacer las cosas para generar coherencia entre diferentes productos o dispositivos; colores, fotografías, animaciones, formas, tamaños, tipografías, etc., en resumen, todo lo visual, pero, además, deberá componerse también, de una guía de estilo sobre contenido y tono (comunicación).
  • Pattern libraries (Librerías de patrones); está formada por elementos de diseño de interfaz de usuario; es decir son elementos de diseño que aparecen continuamente en un producto digital como pueden ser: botones, formas, íconos etc.
  • Component libraries (Librerías de componentes); está compuesta por todos los elementos y componentes de un producto digital con su código, estás librerías tienen como objetivo ayudar a los diseñadores y programadores de una manera más eficiente.
Mailchimp es un gran ejemplo de design system, sencillo y efectivo: http://ux.mailchimp.com/patterns/buttons

Se puede entonces, definir el design system como un sistema que ayude a agilizar el proceso de diseño de productos digitales, pero a su vez, ayude a mantener la coherencia gráfica entre diferentes dispositivos.

Extracto de Design system Shopify: https://polaris.shopify.com

Por lo tanto: ¿Es el design system un manual de identidad para productos digitales?

No, el principio de un design system es el de facilitar la colaboración y comunicación entre quienes desarrollan productos digitales, es decir: entre desarrolladores (programadores), y diseñadores, de manera que se establezca un lenguaje y metas comunes.

Además, el design system contiene aquellos elementos que se repiten durante el diseño de un producto para que puedan reutilizarse de manera ágil, y que se pueda eficientizar el desarrollo.

IBM es un gran sitio de inspiración para crear design system: https://www.carbondesignsystem.com

El manual de identidad, debe formar parte del design sistema (en la guía de estilos).

¿Por qué debería saber sobre design system?

La respuesta es sencilla, puesto que cada vez se desarrollan más productos digitales (desde páginas web hasta software y apps), conocer y alimentar sistemas de diseño será una ventaja competitiva para diseñadores y desarrolladores.

Muchas compañías tienen abierto al público sus sistemas de diseño para que conozcas qué puede contener y te inspires a armar el propio, te dejo el link de algunos.

@ChenBrimac
chen@girasolo.com
www.girasolo.com
www.ThinkBigPink.com

Un lugar llamado Pacueco

“Al otro lado del puente de La Piedad Michoacán…” Muchos hemos escuchado la canción del Perro Negro, y la asociamos a La Piedad Michoacán y ¿Cómo no hacerlo? Si así empieza, pero en realidad, hace referencia al otro lado del puente, a Santa Ana Pacueco ¿PA’ QUÉ? PA-CUE-CO…

Un poco de historia, La Piedad Michoacán llegó a ser reconocida como la capital del cerdo, y es que, en algún momento de la historia, fue el mayor productor de cerdos en el país, la realidad es que Santa Ana Pacueco y La Piedad, siempre han ido juntos y en la producción de cerdos también fue lo mismo, había muchos cerdos en La Piedad, pero también, había muchos en Santa Ana, muchos de niños nos preguntábamos ¿Qué significa Pacueco? Y nuestra conculsión de niño era simple: Pacueco igual a pa’ Puercos; hoy en día las cosas han cambiado, ahora es tan fácil ir al Google y preguntarle ¿Qué significa Pacueco? Pacueco es una palabra purépecha y significa: donde corva (da vuelta) el río, el río Lerma, el río que separa y une a Michoacán y a Guanajuato, el río que separa y une a medio país (dato curioso, en La Piedad existen varios puentes que comunican a Santa Ana con La Piedad uno se llama: Michoacán y otro Guanajuato).

Cuando yo era un poco más joven, y estudiaba fuera me preguntaban ¿De dónde eres? Respondía de La Piedad, y cuándo me preguntaban ¿Dónde está eso? Decía, “Si ves un mapa con división política, La Piedad se encuentra donde se juntan Michoacán, Guanajuato y Jalisco”; a principios de este año, las oficinas de Girasolo se mudaron de La Piedad a Santa Ana, Santa Ana Pacueco, es una pequeña población que pertenece al municipio de Pénjamo Guanajuato, a principios de este año, también decidimos separar a Girasolo en dos divisiones: Girasolo todo lo relacionado a comunicación y BigPink todo lo relacionado a tecnologías de la información.

Captura de pantalla de la página http://www.brimalog.com (en producción).

Mientras hacíamos investigación para un proyecto nuevo, encontré que varias páginas y plataformas, en el footer decían “Made with love in NY” y surgió una idea ¿Por qué no poner un “Hecho con amor en Pacueco Mx” como firma a todos nuestros desarrollos?

Captura de pantalla de propuesta web para el proyecto de Safe-T

Pero ¿Por qué elegir Pacueco para firmar? Pues bien, más allá del significado literal  de Pacueco, Pacueco para mí significa esa unión (Guanajuato y Michoacán), pero representa también una palabra física, para darle nombre a ese espacio donde se unen diseño y programación, comunicación y funcionalidad, Pacueco, representa pues, un montón de sueños.

Y hablando de sueños, aprovechamos para desearte de parte del equipo de Girasolo y BigPink un grandísimo año, que sea el año para tus sueños. ¡Felicidades!

@ChenBrimac
chen@girasolo.com
www.girasolo.com
www.ThinkBigPink.com

Buenas prácticas de programación en BigPink

La mayoría hemos escuchado sobre la importancia del trabajo en equipo, cómo aumenta la eficacia y calidad de los resultados, cuando trabajas en equipo con programadores que tienen distintas habilidades y talentos, es de suma importancia buscar que la forma de programar se estandarice y no se convierta en una complicación innecesaria; para ello, es recomendable establecer y seguir una serie de buenas prácticas.

A continuación, te platicaré algunas de las buenas prácticas que implementamos en BigPink.

  • Legibilidad en el código.

La legibilidad es muy importante, debes escribir tu código, pensando que cualquier programador lo pueda comprender, además, ten en cuenta que entre más complejo sea tu código, más difícil resultara dar mantenimiento en el futuro.

  • Leer código fuente.

Escribir código fuente es mas fácil que entender el código escrito por otros, muchas veces nos encontramos con código desordenado, o con la documentación de código incompleta, por eso, leer código fuente te ayudará a entender la diferencia entre código de buena o mala calidad, también, te ayudará a mejorar tus habilidades de programación.

  • Estructuras de control e indentado.

Con tu equipo de trabajo, deberán acordar un estilo de sangría en su código, para tabular o delimitar bloques de código, con esto harán que su código sea más fácil de leer.

  • Valores fijos.

Cada vez que tengas un valor concreto en tu código, el valor debe ser almacenado en una constante, así, ayudarás a reducir el mantenimiento ante cualquier modificación que afecte la estructura.

  • Comentarios en el código.

Los comentarios en el código, deben ser para favorecer la comprensión del código y no para introducir mayor complejidad en su entendimiento, realiza los comentarios por bloques, cuando consideres importante reflejar la importancia de alguna línea en tu código, puedes agregar comentarios al final de esta.

  • Caracteres únicos del español.

Procura escribir código en inglés y que tu teclado esté configurado en este idioma, ya que caracteres como la ñ o las tildes pueden generar errores al no ser caracteres ASCII.

  • Testear el código.

Siempre debes estar realizando este paso, incluso, después de haber realizado un pequeño cambio en tu código, de esta manera, evitarás frustraciones futuras al momento buscar un error.

  • Tamaño del código.

La longitud de un método no debe exceder 100 líneas de código sin causa justificada, recuerda que siempre puedes hacer uso de un método dentro de otro. Por línea, evita la incorporación de más de una instrucción que rebase los 80 caracteres.

  • Compartir.

Compartir conocimientos ya sean técnicos o profesionales con tus compañeros, motiva a que se puedan ayudar mutuamente a mejorar y logra que el trabajo en equipo funcione mejor.

  • Investigar cosas nuevas.

Es muy importante que te intereses en los temas a aprender, que tengas inquietudes al respecto y que, fundamentalmente disfrutes programando. Existen muchas herramientas y plataformas que te pueden ayudar a expandir y mejorar tus conocimientos, siendo productivo(a) y de una forma divertida, sin generar estrés y aburrimiento.

La programación requiere de paciencia y resistencia a la frustración, tal vez, el trabajar con código ajeno o tratar con datos desactualizados puede dificultar tus tareas asignadas, pero debes perseverar y seguir adelante.

Andrea Adriana Hernández
www.girasolo.com
www.ThinkBigPink.com

Importancia de GIT

Dentro del desarrollo de software existen distintos tipos de herramientas que nos ayudan a solventar alguna necesidades específicas, las cuales facilitan la parte de desarrollo, implementación, despliegue, documentación, o testing. El día de hoy yo les hablaré de una herramienta para desarrollo de software profesional que nosotros internamente usamos en cada uno de nuestros proyectos, GIT.

Pero para poder hablar de git, primero tenemos que saber qué es, de dónde surge y cuál es su función.

Git es un sistema de control de versiones, el cual es distribuido, es decir, que bajo un mismo proyecto múltiples programadores pueden trabajar y desarrollar en conjunto. Es de código abierto así que es totalmente gratuito, se puede adaptar fácilmente a un proyecto pequeño así como a uno grande, cuenta con una gran documentación en la web y es muy usado por los programadores, es una herramienta muy útil a la hora de hacer correcciones a bugs y documentación de proyecto ya que cuenta con una línea del tiempo de desarrollo.

Git es un sistema multiplataforma, lo que quiere decir que podemos usarlo con Windows, Linux o Mac OS. Git también cuenta con plataformas de desarrollo colaborativo, o también llamadas red social de los desarrolladores, donde se alojan los repositorios, el código se almacena de forma pública pero se puede hacer privado con una cuenta de pago, algunos ejemplos de esto son github.com o gitlab.com.

En el caso de nuestra empresa, nosotros usamos git y lo combinamos con el uso de gitlab ya que este nos ayuda a hacer CI/CD (continuous integration / continuous delivery) que son terminos muy utilizados en el DevOps.

Para ponerlos un poco más en contexto CI es un proceso en donde cada cambio que realizamos en nuestro código debe ser testeado y verificado por las pruebas que hemos escrito con anterioridad.

CD es el mismo proceso anterior, solo que de una manera más automatizada y además nuestros tests de aceptación o acceptance tests deben ser de una gran calidad. Porque Continuous Delivery se asegura de que cada cambio realizado esté listo para ser lanzado a producción.

Para trabajar eficientemente con git es necesario tener un gitflow eficiente pero, ¿qué es un gitflow?, según la pagina oficial de Github https://github.com/doapps/software/wiki/Gitflow.

Gitflow es un flujo de trabajo de basado en git que fue publicado y popularizado por Vincent Driessen. El flujo de trabajo de Gitflow define un modelo de ramificación estricto, diseñado en torno a la versión del proyecto. Esto proporciona un marco robusto para la gestión de proyectos grandes.

¿Por qué usar Gitflow?

Por los siguientes motivos:

  1. Desarrollo Paralelo
  2. Colaboración
  3. Área de puesta en escena de la versión
  4. Soporte para reparaciones de emergencia

Nuestro gitflow es uno de los más estándares, comenzamos con dos ramas principales que son máster y develop, la rama máster está protegida y nunca se sube nada directamente a ninguna de estas cuando se va a realizar una nueva funcionalidad. Nunca se trabaja sobre ninguna de ellas lo que se hace es posicionarse en develop, actualizar con el repo remoto y después crear otra rama en la que se trabajará con el prefijo feature, una vez terminas la funcionalidad se sube esa nueva rama al repo remoto para ser revisada por medio de pipelines, y de ser aprobada, se integra con develop.

Cuando se va a corregir un bug el proceso es bastante parecido, solo que en lugar de feature se usa el prefijo Hot-fix, cuando el proyecto esté listo para mandarse a producción se hace un merge entre develop y máster para crear la primer versión o relace esto se repite conforme a los relace que son lanzados.

Como pueden ver, git es una herramienta muy útil para los desarrolladores que cuando es manejada debidamente, acorta tiempos de desarrollo y ayuda con la gestión de software, en el siguiente enlace les dejaré algunos de los comandos que son más usados en git por si les interesa.

https://github.com/miguel199529/Notas/blob/master/GIT.md

Miguel Ángel López
www.girasolo.com
www.ThinkBigPink.com

¿Qué es DevOps?

¿Alguna vez has escuchado hablar sobre DevOps? existen varios puntos de vista sobre el término DevOps ( Develop / Operations ), pero la gran mayoría coinciden en que es una cultura que promueve la comunicación entre el departamento de desarrollo (Development) y el departamento de Administración de sistemas (Operations). 

La cultura DevOps tiene como objetivo acelerar la entrega de software de manera ágil asegurando la calidad del software, todo esto, por medio de buenas prácticas, herramientas de integración de código, pruebas automatizadas, administración de infraestructura, etc.

Las prácticas más populares de la cultura DevOps son las siguientes:

Infraestructura como código: Infraestructura como código es un método de automatización que está basada en prácticas de desarrollo de software. Los cambios realizados a los sistemas y sus configuraciones específicas son bien definidas y capturadas en archivos de configuración (scripts, playbooks, manifests, módulos).

Integración continua ( CI ): La integración continua es una práctica de desarrollo de software mediante la cual los desarrolladores combinan los cambios en el código en un repositorio central de forma periódica, tras lo cual se ejecutan versiones y pruebas automáticas.

Entrega continua ( CD ): La entrega continua es una práctica de desarrollo de software mediante la cual se preparan automáticamente los cambios en el código y se entregan a la fase de producción.

Herramientas DevOps más populares: Red Hat Ansible, Jenkins,Terraform, Chef, Docker, GIt, GitLab, Kubernetes, Nagios, Puppet.

DevOps en BigPink

Nosotros en BigPink adoptamos una cultura DevOps que va desde la configuración de los proyectos, testing y pruebas de integración de código hasta entornos automatizados con despliegue continuo ( continuous delivery ), para ello, implementamos las siguientes practicas y herramientas:

Configuración de proyectos: Todos los proyectos son configurados con GIT como sistema de control de versiones de software, así como el uso estricto de linters para detectar errores de estilo y mantener el código limpio.

Infraestructura como código (IaC): Toda la infraestructura la manejamos como código por medio de configuración de plantillas cloud formation para Amazon Web Services. 

Integración continua (CI): Para la integración del código utilizamos GitLab como plataforma de repositorios privados en donde por medio de Pipelines ejecutamos varias pruebas (build, linters, testing, etc.) para asegurar la calidad antes de que el código sea integrado en el repositorio central.


Entrega continua (CD): Para lograr la entrega continua se automatiza el despliegue de nuestros proyectos por medio de Pipelines programadas en GitLab que se conectan a nuestra infraestructura previamente montada en Amazon Web Services, una vez pasadas las pruebas de integración del código.

Edgar Leyva
www.girasolo.com
www.ThinkBigPink.com

La paradoja de la creatividad

Cuando pensamos en alguien creativo, pensamos en alguien capaz de ir más allá, alguien que no tiene límites, alguien, incluso, que no tiene reglas, parece pues ilógico que, para generar ideas, sea necesario tener una frontera, marcarnos ciertos límites, para poder pensar fuera de la caja, necesitamos precisamente una caja.

Por segundo año consecutivo estamos realizando el Inktober en la oficina, como reto adicional, he decidido llevar uno paralelo en un blog personal de tiras cómicas que durante los últimos 3 años ha tenido solo 10 entradas, en otras palabras, ha estado abandonado  y es que, no he tenido la motivación, ni las ideas suficientes para poder actualizar más seguido, por lo tanto, tener 31 entradas durante un mes parece una misión imposible; la realidad, es que al día de hoy llevo más de 20 ideas, he podido tener ideas tanto para mi blog como para el blog de la oficina, ¿Cuál ha sido la diferencia entre este mes y los 3 años anteriores? Sencillo: tengo un tema, tengo una caja.

Cuando se está buscando una idea creativa para un proyecto, es común escuchar la frase: “Piensa fuera de la caja”, y ¿Qué es pensar fuera de la caja? ¿Lo que estoy pensando estará dentro de la caja o estará fuera de la caja? Resulta fascinante que, una vez teniendo una caja, el cerebro buscará examinar toda la caja, todas las posibilidades para ver que sus ideas realmente caigan fuera de la caja, pero ¿Qué es la caja? La caja son todos los antecedentes del proyecto a realizar, la caja, es también, una serie de reglas y compromisos.

Existe un experimento, donde llevaron a un grupo de niños a jugar en un parque grande, sin cercas ni barreras, los niños, únicamente jugaron en un área pequeña de todo el parque, no exploraron, después, ese mismo grupo de niños, fueron llevados a un parque de similar tamaño, los niños, esta ocasión, jugaron por todo el parque, exploraron cada rincón, se divirtieron más, incluso, generaron más ideas para jugar, ¿Cuál fue la diferencia? El segundo parque tenía cercas.

Parece ilógico, pero, las reglas o las barreras nos hacen en realidad más creativos, y esa es la paradoja de la creatividad, ¿Quieres tener un equipo más creativo? ¿Quieres generar más ideas? Entonces comienza definiendo la caja, las reglas.

@ChenBrimac
chen@girasolo.com
www.girasolo.com
www.ThinkBigPink.com

Resiliencia

La RAE define esta palabra de la siguiente manera:

Definición de resiliencia (fuente RAE)

Y más que enterarles de la definición, voy a hacer spoiler del inktober número trece que me tocó realizar para este reto de ilustración al que varios de Girasolo entramos. Solo espero que de aquí a entonces no se generen altas expectativas porque, en realidad, es un sencillo sketch. El tema era ceniza (de la lista oficial en inglés, ash), había varias opciones en mi mente pero decidí quedarme con la idea de representar  el famoso Ave Fénix, que renace de sus propias cenizas.

A esta criatura de fuego, cuyo origen se encuentra en la mitología griega, se le atribuían dones tales como, poseer lágrimas curativas, fuerza sorprendente, control sobre el fuego y sabiduría infinita. Al autor Carl Jung esta criatura le resultaba muy parecida al ser humano y era también desde su perspectiva, la descripción gráfica de la palabra resiliencia, pues representa la capacidad de renovarnos y convertirnos en una nueva versión más poderosa e iluminada.

Considero muy acertada la comparación de Jung y como con este mito ejemplifica a lo adverso, que aparentemente te deshace, como una oportunidad para terminar siendo una versión potenciada de ti mismo. Y pues nada, gracias por pasar a leer, deseo que vuelen por la vida como estas aves de fuego.

Eva Gómez | Dirección de arte
eva@girasolo.com
www.girasolo.com
www.ThinkBigPink.com