Elige tecnología clásica y aburrida

por:

Elige tecnología clásica y aburrida para tus proyectos

Uno de los problemas que solemos tener los programadores, es que nos gusta estar a la última y usar aquello que acabamos de leer que usa Google, Facebook o la startup que lo está rompiendo. Sin embargo, ¿es esto lo mejor?

Tú no eres Google

Últimamente veo muchos equipos pequeños, startups y compañías con equipos técnicos poco maduros y no muy grandes apostar por arquitecturas o tecnologías muy modernas, como los microservicios, bases de datos NoSQL, etc. En mi opinión, uno de los principales problemas de esto, es utilizar una herramienta, tecnología o metodología porque X empresa lo usa. Está claro que todos queremos hacerlo lo mejor posible y aprovechar todas las novedades, pero muchas veces se toman decisiones que son como matar moscas a cañonazos.

Donde digo Google, puedes poner cualquier otra tecnológica grande como Facebook, Microsoft, Amazon, etc.

¿Cuáles son tus problemas? ¿Cuáles son los problemas de Google?

Los problemas de Google los podemos resumir en los siguientes puntos:

  • Un tráfico ingente
  • Miles de desarrolladores a gestionar
  • Muchísimos servicios distintos
  • Necesidad de integrar todos los productos
  • Un nivel de disponibilidad de prácticamente el 100%

Sin embargo, dudo mucho que tú/tu empresa tengáis un tráfico similar al de Google, ni seáis miles de desarrolladores, ni tengaís decenas de productos. Entonces, cuál es la necesidad de cosas como:

  • Bases de datos NoSQL cuando tus datos siempre siguen un esquema
  • Microservicios cuando con un par de instancias de tu monolito soportas todo tu tráfico
  • Microservicios cuando solo tienes un producto, hecho en una tecnología y por un único equipo de desarrollo
  • Colas de eventos cuando lanzas un número muy limitado de eventos
  • Microfrontents cuando el equipo de front son pocas personas

Si quieres leer más, te recomiendo el artículo que me dio idea para realizar esta sección.

Leer más

¿Cómo prepararte para una entrevista de trabajo?

por:

¿Cómo prepararte para una entrevista de trabajo?

Uno de los temas que son más populares hoy, son las entrevistas de trabajo en el campo de la informática. Como sabrás, el sector cada vez crece más y la necesidad de encontrar personal cualificado, hace que las compañías se lances a realizar ofertas y entrevistas a multitud de candidatos.

¿Se pueden preparar la entrevistas de trabajo?

En mi opinión, hay una parte muy difícil de preparar, que está relacionada con la parte técnica. Esto es debido, a que cada empresa suele elegir una vía en la que enfocar sus preguntas. Algunas prefieren preguntar directamente problemas que han sufrido en los últimos tiempos y cómo los solucionarías, otras van más hacia temas más teóricos y otro grupo se centra en preguntas de manual.

Para preparar esta parte de preguntas técnicas, te recomendaría hacer lo siguiente:

  • Leer blogs técnicos de tecnología variados, para conocer qué hacen los grandes jugadores (Amazon, Google…) y las novedades del sector, como la programación funcional.
  • Tener algún desarrollo que se pueda enseñar, si lo publicas en GitHub, mejor.
  • Conocer los principios de la programación orientada a objectos, SOLID, algoritmos y las estructuras de datos.

La parte que sí considero que se puede preparar más, es la relativa a la entrevista con recursos humanos. Principalmente, porque las preguntas suelen ser muy similares y se podrían englobar en:

  • Preguntas sobre ti a nivel personal, cosas que te gustan, ambiciones, cómo eres, etc.
  • Preguntas sobre tu formación.
  • Cuestiones sobre tu experiencia profesional.
  • Información relativa a por qué tienes interes en cambiarte y qué buscas con el cambio.

Leer más

¿Qué opinan los desarrolladores sobre Docker?

por:

¿Qué opinan los desarrolladores sobre Docker?

Si sois asiduos lectores de este blog, el término Docker seguro que no es nuevo para vosotros. Para aquellos que no lo conozcan tenemos un tutorial de docker, que contiene definiciones de los conceptos principales y recursos para profundizar. Pero hoy os queremos mostrar otro punto de vista sobre esta tecnología y/o herramienta cada vez más popular, el de los desarrolladores que usan Docker en su día a día.

¿Cuánto se usa Docker?

Quizás sea esta una de las preguntas que más veces nos han hecho, y la verdad siempre respondemos con un depende. Como todos sabemos cada empresa es un mundo y dentro de las mismas, no todos los equipos usan lo mismo (mundos dentro de mundos). Así que se hace muy difícil dar una estimación de uso de esta tecnología, por ello vamos a analizarla atendiendo a varios factores.

En el caso de las startups al estar creando software desde cero o con muy poca antiguedad, nos atreveríamos a decir que son las que más usan Docker. En este tipo de empresa donde muchas veces son pocos los desarrolladores y mucho el trabajo por hacer, se junta el caldo de cultivo perfecto para utilizar esta herramienta. A nivel personal, de las empresas de este tipo que conozco, la mayoría sí lo usan.

Si analizamos las empresas de producto propio, diría que su uso es mucho más dispar. Muchas tienen productos muy maduros y no suelen actualizar su stack de un año para otro. Centrándome en las que conozco, diría que menos de un tercio lo están usando y creo que ese porcentaje puede ser incluso menor, rondando el 10%.

La otra tipología de empresa informática que nos queda por analizar, son las consultoras y todas aquellas empresas que realizan desarrollos para terceros. En este caso creo que el porcentaje de uso es muy bajo, porque usualmente sólo se hace lo que el cliente pide y se intentan seguir procesos los más estandarizados posibles para agilizar el trabajo.

Leer más

Mi equipo de trabajo sí funciona

por:

Mi equipo de trabajo sí funciona: el tuyo también debería

Aunque este año no estoy escribiendo con tanta asiduidad como solía hacer cuando estaba estudiando (una mudanza y un cambio de ciudad tienen parte de la culpa), quería aprovechar el primer artículo de 2019 para hablar sobre gestión de equipos.

 

El equipo de trabajo, ¿es necesario?

Como muchos sabréis cada vez es más popular trabajar en remoto u otras modalidades similares de teletrabajo, que unido a la superespecialización, están haciendo que los clásicos equipos de trabajo se tambaleen. Además, muchos desarrolladores estamos acostumbrados a desempeñar nuestra labor para pequeños clientes, dónde los equipos de trabajo suelen ser unipersonales o muy pequeños (2 o 3 personas).

Desde mi experiencia, el equipo de trabajo permite mejorar en gran medida lo anterior y esta tesis vengo a defender en este artículo. Anteriormente ya hablé de las habilidades que debería tener un informático, a nivel individual.

¿Qué aporta un buen equipo de trabajo?

Para analizar el por qué de la necesidad de crear buenos equipos de trabajo, me gustaría resaltar algunas cosas que aportan tenerlos:

  • Gran flexibilidad para adaptarse a los cambios técnicos, al ser varias personas es posible que unos empiecen a analizar e investigar el nuevo cambio y luego ese conocimiento sea transmitido a la otra parte del equipo.
  • Acabar con las dependencias clásicas y el discurso este tema lo hizo X, es responsabilidad suya/sin él nadie sabe cómo va.
  • Permite crecer de manera mucho más rápida, al poder incorporar perfiles más junior e irlos formando dentro de una cantera, siendo más fácil de gestionar su progresión y seguimiento.

Leer más

Trabajar en consultoría vs trabajar en empresa de producto

por:

Trabajar en consultoría vs trabajar en empresa de producto

Dos de los modelos principales de trabajo en el sector informático, son las empresas de consultoría y las empresas de producto. Hoy te muestro qué son, cómo funcionan y qué ventajas tiene trabajar en una o en otra.

¿Qué es una consultora?

Cómo bien indica la propia palabra, son empresas que dan apoyo a otras empresas, normalmente mediante sistemas de subcontratación o externalización. En muchos casos se denominan con el término inglés,  outsourcing. Para muchas empresas de tamaño contenido es la única manera de poder tener un departamento de informática a su servicio, mientras que para otras, es un sistema que les permite tener mucha flexibilidad.

 

Las principales características de una consultora son las siguientes:

  • Su modelo de negocio principal es la venta de horas de trabajo.
  • Puedes trabajar o no para el cliente final (empresa que requiere los servicios de consultoría).
  • La consultora trabaja para múltiples empresas y ofrece servicios variados.

En la última década este tipo de negocio ha crecido exponencialmente, aprovechando la revolución tecnológica, teniendo como máximos exponentes en España a empresas como Indra o Everis (21.000 trabajadores en 2017). Además de las consultoras netamente tecnológicas, algunas otras más antiguas centradas en otros ámbitos como el derecho, la gestión de empresas o la fiscalidad, han creado divisiones para desarrollar la parte tecnológica, una de ellas es Deloitte.

Leer más

Cómo recuperar archivos borrados en WhatsApp

por:

Ya estamos aquí de nuevo, tratando de encontrar nuevos usos prácticos a distintas aplicaciones comunes que empleamos a diario. Ya sabéis que, desde este rincón de Somos Binarios (el destinado al Hacking y a la Seguridad) buscamos fomentar el pensamiento paralelo como manera de entender la tecnología.

En su día ya aplicamos esta forma de repensar la informática cuando se trataba de Whatsapp y publicamos un post en el que avisábamos de los usos ilegítimos que, con extrema sencillez, se le podían dar a la versión web de Whatsapp. Aquí tienes aquel artículo concreto que seguimos considerando recomendable repasar.

Sin embargo hoy nos centraremos en una función bastante desconocida y “paralela” que nos ofrece WhatsappWeb (es decir, la sincronización y utilización de tu Whatsapp, pero desde el ordenador), y que nos ayudaría a recuperar fotografías, vídeos y demás archivos adjuntos recientes que hayamos eliminado de nuestro teléfono móvil de manera permanente y que ya no podemos recuperar desde nuestro terminal.

Hemos comprobado esta función de Whatsapp empleando para ello varios programas de eliminación de archivos enviados o recibidos por Whatsapp de nuestro terminal móvil, con el fin de asegurarnos de que no quedaba ni rastro de ellos en nuestro teléfono.Y, posteriormente, hemos podido recuperar con éxito esos archivos sincronizando nuestro terminal con WhatssapWeb para volverlos a encontrar ahí.

Leer más

Monitoriza tu sistema con Glances

por:

Monitoriza tu sistema con glances

Actualmente es muy común contar con gran cantidad de ordenadores y servicios instalados, por lo que el proceso de monitorizar se hace cada vez más complejo e intensivo en tiempo.

¿Qué es la monitorización de equipos?

La monitorización de los equipos es un conjunto de técnicas destinadas a conocer, en tiempo real o en momentos puntuales, el estado de cada uno de ellos. Esto último implica conocer el estado físico de los mismo y de todo el software que tienen instalado.

Ventajas de una monitorización intensiva

Aunque muchas personas no creen que haya que monitorizar de manera constante los dispositivos, en mi opinión se equivocan. Este proceso nos permite conocer y/o preveer:

  • Fallos de hardware
  • Servicios mal configurados
  • Problemas de escalado
  • Falta de recursos

Por lo que este trabajo siempre te ahorrará tiempo y dinero.

Leer más

Cómo limpiar el ordenador por dentro

por:

Cómo limpiar el ordenador  por dentro

Una de las tareas más pesadas de la informática es mantener los equipos en perfecto estado. Para ello es necesario realizar multitud de acciones, como actualizar el software, comprobar el estado del hardware y limpiar el mismo. Hoy os enseño como abordar esta última tarea, la limpieza de un ordenador.

Cada cuanto debo limpiar el ordenador

Quizás sea esta una de las preguntas estrella del artículo, y la verdad, no tiene una solución única. Dependiendo de distintos factores como si el usuario suele fumar frente al equipo, las horas que este está encendido o el nivel de polvo en el ambiente, tocará limpiarlo con mayor asiduidad o no. No hay que olvidar que un ordenador tiene uno o múltiples ventiladores, que procesan un gran flujo de aire y con ello, gran cantidad de polvo.

El polvo en grandes cantidades puede ocasionar algunos problemas como:

  • Calentamiento excesivo del ordenador.
  • Ruidos extraños, originados por los ventiladores

En mi opinión una limpieza intensiva se debería realizar una vez al año, aunque recomiendo hacer una limpieza del equipo cada 6-8 meses si este pasa mucho tiempo encendido.

Leer más

Como crear un Gif de manera sencilla

por:

Como crear un gif de manera sencilla

Ampliamente es conocida la frase: vale más una imagen que 1000 palabras. Esto es debido a que una imagen puede ilustrar perfectamente la información que se quiere transmitir, pero en muchos casos es necesario algo más que una imagen. En estos casos, se puede obtar por un video o un gif, lo cual es una solución mucho más sencilla.

¿Qué es un Gif?

Un Gif es un formato para almacenar imágenes con 256 colores, que fue muy popular en los primeros años de Internet. Sin embargo, la característica más destacable frente a los formatos JPG o PNG, es que permite mostrar animaciones. Esto se consigue mediante un conjunto de frames de duración concreta, repetidos en bucle. Además, este sistema cuenta con una amplia compresión, lo que permite que estos archivos tengan un tamaño relativamente pequeño. Ambas ventajas (animación y pequeño tamaño), hacen del formato Gif un firme candidato con el que competir contra los videos de muy corta duración.

Algunos de los principales usos del Gif hoy en día son:

  • Llamar la atención sobre un elemento, en muchos casos, publicitario.
  • Representar el efecto de las acciones al realizar una demostración.
  • Transmitir estados y emociones.

Leer más

Usando Git en la terminal sin morir en el intento

por:

Usando Git en la terminal  sin morir en el intento

Anteriormente ya te hemos hablado en Somos Binarios de Git, el sistema de control de versiones más usado en la actualidad. Sin embargo, soy de los que piensa que es un poco complejo de usar sin interfaz gráfica.

¿Cómo usar Git en la terminal de manera sencilla?

Si escucháis a un experto en el uso de Git, este te dirá que el software es lo suficientemente usable, incluso en línea de comandos. Pero cuando uno está empezando o no es un muy experto, necesita de ciertas ayudas que reduzcan sus errores.

La primera solución que te podría venir a la mente es usar una interfaz gráfica para las cuestiones más complejas, sin embargo, esto no es posible cuando te conectas, por ejemplo con SSH, a un servidor remoto.

Git Aware terminal es un desarrollo que viene a solucionar este problema, ayudándote desde la propia terminal a conocer más a fondo cuál es el estado del repositorio que estás usando:

 

Git Aware Terminal te ayuda a entender cuál es el estado de tu repositorio

Leer más