Cómo atraen talento 5 grandes compañías

Cómo atraen talento 5 grandes compañías

Uno de los mayores problemas que tienen actualmente las compañías tecnológicas es encontrar talento tecnológico. Por ello, suelen utilizar cualquier iniciativa para colar sus ofertas de trabajo y dar difusión de las mismas. Bajo la premisa de que siempre es un buen momento para promocionar la compañía, os mostramos algunos ejemplos de cómo lo hacen.

 

Booking y la cabecera HTTP x-recruiting

Si visitamos la página de Booking, seguramente no veamos nada relativo a las ofertas de trabajo. Pero en el pié de página, hay un enlace a las ofertas. Sin embargo, para atraer a más desarrolladores, cualquier llamada HTTP a Booking devuelve algo como esto:

HTTP/1.1 200 OK
server: nginx
date: Fri, 18 Oct 2019 19:58:32 GMT
content-type: text/html; charset=UTF-8
transfer-encoding: chunked
cache-control: private
vary: Accept-Encoding, User-Agent
content-encoding: br
set-cookie: bkng=XXXX; domain=.booking.com; path=/; expires=Wed, 16-Oct-2024 19:58:32 GMT; Secure; HTTPOnly
strict-transport-security: max-age=604800
x-content-type-options: nosniff
x-recruiting: Like HTTP headers? Come write ours: https://careers.booking.com
x-xss-protection: 1; mode=block

Como podéis observar, utilizan como gancho el texto Like HTTP headers? Come write ours y el enlace a su página de ofertas de empleo.

Leer más

¿Qué opinan los desarrolladores sobre Docker?

¿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

5 libros técnicos que deberías leer este verano

5 libros técnicos que deberías leer este verano

Llega agosto, un mes que clásicamente se ha asociado a vacaciones (si nos lees desde España), por ello os propongo unas lecturas para este periodo donde tenemos más tiempo libre. En la piscina, en la playa, en casa a la hora de la siesta…, nunca es mal momento para saborear un buen libro. Aunque, como no podria ser de otra forma, tratándose de una página sobre informática, os vengo a recomendar algunos libros técnicos imprescindibles.

Pero, ¿me tengo que formar en mi tiempo libre?, ante esta pregunta que muchas veces me han planteado, te respondería que sí y no. En mi opinión, lo divido en 3 supuestos:

  1. Si la formación es necesaria para realizar tu trabajo, tendría que dartela tu empresa en tiempo de trabajo
  2. Si son conocimiento que te van a ayudar a mejorar cómo haces tu trabajo, debería dartelo tu empresa, aunque podría que parte fuera en tu tiempo libre
  3. Si las enseñanzas no están relacionadas con tu puesto, tu empresa debería apoyarte con algún medio (tiempo, materiales, cursos…) pero caería más en tu tiempo libre

 

Clean code

El primero de todos es quizás el libro más conocido de programación, Clean Code, en español, Código Limpio. Este libro, que actualmente estoy leyendo es una recopilación de consejos, buenas prácticas y técnicas para que tu código sea de mayor calidad. A mí me gusta mucho decir, que un código que funciona es como sacar un 5 en un examen, es lo mínimo para pasar la prueba. Sin embargo, entre ese 5 (que funcione) y el 10 (que sea de gran calidad), hay mucho espacio por recorrer. Este libro justamente trata de eso, cómo coger un código de 5 y llevarlo lo más cercano posible al 10. Para ello aborda cuestiones como:

  • El estilo del código (identación, nombres, formatos)
  • Gestión de errores
  • Testing
  • Diseño de objectos y clases
  • Concurrencia

Mi recomendación, es que no es un libro que sea lea bien como una novela (leyendo decenas de páginas de seguido), sino que es mejor leer un capítulo cada día o semana, e ir aplicando e interiorizando lo que propone.

Leer más

Estamos creando proyectos frankenstein

Estamos creando proyectos frankenstein

La informática ha evolucionado mucho en los últimos años, pasando de ser un hobby de unas pocas personas, a un sector profesional cada día más importante en los países desarrollados. Sin embargo, ¿estamos haciendo mejor software ahora que antes?, este debate es el que os propongo hoy, entorno a los proyectos frankenstein.

El origen de este artículo

Leyendo el interesante blog de Javi Santana y su artículo que os recomiendo especialmente: Algunos consejos para diseñar un API leí una frase que me marcó muchísimo y no era capaz de quitarme de la cabeza:

“Recuerda que ahora la gente no programa, busca el ejemplo más cercano a lo que necesitan y los modifican.”

Esta frase creo que resume de manera bastante adecuada el flujo de trabajo de la mayoría de los desarrollos actuales. Lo que nos lleva al software frankenstein.

Leer más

¿Qué es LaTeX y cómo usarlo fácilmente?

¿Qué es LaTeX y cómo usarlo fácilmente?

En este artículo te vengo a hablar de LaTeX, un sistema para la creación de documentos muy usado en el ámbito científico. Además me gustaría recomendarte un itinerario, para que te puedas adentrar en su uso de manera sencilla.

¿Qué es LaTeX?

LaTeX, como he esbozado anteriormente, es un sistema que permite la creación de documentos. Sin embargo, su funcionamiento difiere mucho del editor de texto por excelencia, Microsoft Word. Esto es debido a que LaTeX funciona de manera similar a HTML, teniendo un conjunto de etiquetas para dar formato y un software capaz de renderizarlo.

¿Qué ventajas tiene LaTeX?

Si bien es cierto que su curva de aprendizaje es bastante pronunciada, LaTeX cuenta con algunas ventajas importantes:

  • Consigue documentos que no pierden calidad al ser ampliados.
  • Facilita la introducción de fórmulas y el uso de la notación matemática.
  • Separa el estilo, del propio contenido.
  • Permite dividir un proyecto en distintos ficheros, que son compilados para obtener el resultado final.
  • Maneja bien la bibliografía, por defecto.

Como puedes apreciar, con las características arriba destacadas, LaTeX se ha convertido en el estándar de facto, para las publicaciones científicas y las obras que contienen simbología matemática.

Leer más

¿Cómo hacer una copia de seguridad en Android?

¿Cómo hacer una copia de seguridad en Android?

Actualmente contamos con multitud de dispositivos electrónicos que hay que tener vigilados. Esto implica realizarles un cierto mantenimiento de manera más o menos frecuente, mantener copias de seguridad, actualizarlos, etc.

Como hacer una copia de seguridad completa de Android

Android como todo sistema operativo, consta de una serie de particiones donde almacena sus datos. Profundizando en este concepto, podemos ver como Android utiliza el kernel de Linux y sistemas de archivos que son viejos conocidos, como ext4. Es por ello que el proceso de realizar una copia de seguridad completa de un dispositivo Android, no difiere mucho de como lo haríamos en uno Linux.

El principal problema de realizar esta copia de seguridad es que para acceder a las herramientas necesarias, a nivel de partición necesitamos que el teléfono este rooteado, es decir, que tengamos acceso de root o superusuario. Para evitar esto, os propongo usar TWRP.

Leer más

Ctop: controla y mantén a raya tus contenedores

Ctop: controla y mantén a raya tus contenedores

Recientemente la popularidad del uso de contenedores, especialmente bajo Docker, cada vez es mayor. Por ello, empieza a surgir la necesidad de controlar, monitorizar y, en definitiva, vigilar estos contenedores.

Ctop la utilidad para controlar tus contenedores

Para las personas acostumbradas a trabajar con sistemas operativos Linux, el comando top nos resulta muy familiar. Además del mismo, es muy común usar la variación htop que muestra mejor la información, en mi opinión. Siguiendo con esta idea, Bradley Cicenas se lanzó a desarrollar Ctop, el top para contenedores.

¿Es necesario ctop?

Seguramente os estéis haciendo esta misma pregunta, que yo también me hice antes de escribir este artículo. Docker ya cuenta con algunos comando para ver información de los contenedores que tienes en el sistema, por ejemplo:

docker ps

Docker ps muestra los contenedores arrancados e información del mismo

docker stats

Docker stats muestra estadísticas de los contenedores

En mi opinión, ambos comando son un poco limitados en la información que muestran.

Leer más

Mi equipo de trabajo sí funciona

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

Node.js: el desarrollo que revolucionó JavaScript

Node.js: el desarrollo que revolucionó JavaScript

Como seguramente conocerás, JavaScript es uno de los lenguajes más utilizados hoy en día para dotar de interacción a una página web. Siendo el desarrollo web, quizás, el tipo de desarrollo más común, no es de extrañar que la popularidad del mismo sea cada vez mayor. Sin embargo, no ha sido hasta la popularización de Node.js, cuando se ha convertido en un lenguaje todoterreno.

Node.js, el runtime que lo cambió todo

Todos los lenguajes de programación necesitan o bien un intérprete o bien un compilador que traduzca su sintaxis a código máquina. En el caso de JavaScript, son los propios navegadores los que albergan este software. Esto era un factor bastante limitante para el lenguaje, ya que sólo se podía utilizar en entornos que fueran a ser utilizados con un navegador web.

Esto era así hasta que Ryan Dahl, desarrolló Node.js un entorno capaz de ejecutar código JavaScript en el propio servidor, en lugar de dejar esa responsabilidad al navegador del cliente que visitaba la web. Para ello se basó en el motor V8, el cual es desarrollado por Google para procesar el código JavaScript en su navegador, Google Chrome.

Leer más

Trabajar en consultoría vs trabajar en empresa de producto

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