viernes, 3 de diciembre de 2021

Lenguajes más utilizados según tecnologías

Extraídos de Slashdata y Developer Media, se facilitan a continuación los lenguajes de programación más utilizados y demandados según la tecnología, de mayor a menor uso.

  • Aplicaciones web: JavaScript, PHP.

  • Desarrollo en la nube: JavaScript, Java, PHP, Go, Ruby. 

  • Ciencia de datos / Machine learning: Python.

  • Internet de las Cosas: Python, C/C++, Ruby, Objective-C, Rust, Lua.

  • Aplicaciones móviles: Java, Kotlin, Swift.

  • Código embebido: C/C++, Objective-C.

  • Realidad Aumentada / Realidad Virtual: C#, Kotlin, Swift, Go, Objective-C, Rust, Lua.

  • Aplicaciones de escritorio: C#.
 Para lo que pueda servir.


martes, 26 de octubre de 2021

Tres aspectos a investigar antes de tu entrevista de trabajo

Antes de ir a una entrevista de trabajo, asegúrate que investigas tres aspectos de interés, tal y como recomienda Judith Humphrey en Fast Company.

En primer lugar el tipo de trabajo que buscan: ¿qué es "científico de datos"?, ¿qué diferencia hay con "analista de datos"?, ¿qué es full stack engineering? Por una parte, es necesario saber si el trabajo es de interés para ti; por otra, si posees la competencia adecuada como para llevarlo a cabo; finalmente, si de tu curriculum vítae puede extraerse dicha figura.

El segundo aspecto a estudiar es la cultura empresarial, con el foco en cómo espera que se comporten los empleados (por ejemplo, ¿hay teletrabajo?) o cómo trata la empresa a sus trabajadores. Redes sociales como Twitter, Facebook o LinkedIn de personas actualmente en su nómina pueden darnos una idea de la cultura de la empresa. Tal vez simplemente no te interese trabajar allí, porque tus condiciones laborales no se correspondan a las de la compañía.

Por último, debe estudiarse la información sobre la empresa. La capacidad de sostener una conversación sobre la empresa durante la entrevista no sólo muestra respeto e interés, sino la posibilidad de elevar la charla e intercambiar opiniones, permitiéndote dar tu punto de vista sobre enfoques en diferentes proyectos o áreas funcionales que, de otra forma, no saldrían a la luz.

Con esto no se garantiza el éxito de una entrevista, pero sí más oportunidades de enfocarse en lograr un trabajo acorde a tus preferencias.

sábado, 14 de agosto de 2021

Las bases de datos más utilizadas en 2021

Aquí un ranking de las bases de datos más empleadas en 2021, tal y como recoge Matt Asay en InfoWorld

  1. Oracle
  2. MySQL
  3. Microsoft SQL Server
  4. PostgreSQL
  5. MongoDB
  6. Redis
  7. IBM DB2
  8. Elasticsearch
  9. SQLite
  10. Microsoft Access
Dos añadidos de interés: el ranking apenas ha cambiado desde hace diez años, y sigue habiendo una mayor proporción de bases de datos relacionales, frente a las NoSQL.

viernes, 30 de julio de 2021

Publicados los nominados de Educa Abanca, 2021

Se han publicado hoy los nominados en la Quinta Edición de los premios Educa Abanca al mejor docente de España en 2021.

Enhorabuena a los nominados, y gracias a los nominadores y a la entidad organizadora, Mundo Educa. Se echan en falta más iniciativas como ésta que promocionen la calidad docente.

viernes, 23 de julio de 2021

20 preguntas que todo ingeniero de software debe hacer cuando se incorpora a un nuevo equipo de trabajo

Cada equipo de trabajo tiene sus propias particularidades, entornos y procedimientos de trabajo. En consecuencia, conviene tener claro las respuestas a una serie de cuestiones, tal y como refiere Thomas Stringer en su artículo 20 Questions a Software Engineer Should Ask When Joining a New Team, y que aconsejo leer para completar los detalles de esta relación.

Cuestiones técnicas

  1. ¿Cómo se compila localmente el software?
  2. ¿Cómo puedo probar localmente el software?
  3. ¿Cómo configuro mi entorno de desarrollo?
  4. ¿Dónde se encuentra el código fuente?
  5. ¿Dónde está el conducto CI/CD y cómo funciona?
  6. ¿Dónde está el product backlog?
  7. ¿Cómo se desarrollan las pruebas de preproducción y producción?
  8. ¿Cómo son las rotaciones y la asignación de tareas entre los desarrolladores?
  9. ¿Dónde está la documentación interna?  

Cuestiones sobre colaboración

  1. ¿Cuál es la labor de cada integrante del equipo?
  2. ¿Cómo se establecen temporalmente los objetivos?
  3. ¿Con quién debo contactar para mis primeras preguntas?
  4. ¿Quién o qué determina las nuevas características?
  5. ¿Cómo se comunica el equipo? 

Cuestiones externas

  1.  ¿Cómo se obtiene el feedback del cliente?
  2.  ¿Cuáles son los acuerdos de servicio para el cliente?
  3. ¿Dónde se encuentra la documentación pública y/o para el cliente?

Cuestiones sobre el enfoque al producto

  1. ¿Cuáles son los puntos débiles que tiene el software actual?
  2. ¿Cuál es el enfoque de los participantes?
  3. ¿Cuál es el ciclo de despliegue del software?

viernes, 9 de julio de 2021

c# 10 y la comprobación de parámetro nulo

Ya hemos visto en entradas previas la importancia de las aserciones, precondiciones y postcondiciones. Entre las precondiciones, es muy común la comprobación de que un parámetro de entrada sea no nulo. Por ejemplo,

 private void process(MyObject myObject) {
 
   if (myObject == null)
      throw new ArgumentNullException("myObject can't be null.");
 
   [...]
}

Este mecanismo supone copiar y pegar código muy similar, que lo que puede ser tedioso fundamentalmente en métodos que emplean varios parámetros de entrada. Para paliar esta situación, c# 10 facilita la expresión doble admiración (!!) para la declaración de un parámetro. De esta forma, incluyendo dicha expresión al final de la declaración del parámetro, el compilador genera el código necesario para la comprobación de su valor nulo, no siendo necesario código explícito.

 private void process(MyObject myObject!!) {

   [...]
}

jueves, 10 de junio de 2021

Principios del escaparatismo aplicados al diseño de diapositivas

El escaparatismo es el proceso en el que se decoran, organizar y diseñan los escaparates de tal modo que capten la atención de los usuarios.

Esta disciplina se estudia en ámbitos como la sociología, psicología, publicidad, estilismo, pedagogía y diseño gráfico, entre otros, siendo su finalidad:

  • atraer
  • motivar
  • reflexionar
  • sensibilizar
  • desear
  • recordar
  • relacionar

Dado que estos fines coinciden con los fines pedagógicos que deberían perseguirse durante una clase magistral, los principios del escaparatismo son aplicables a las diapositivas de una presentación. En consecuencia y aunque no todas las técnicas son extrapolables (por ejemplo, los escaparates se miran de abajo a arriba), existen estrategias compatibles y que aumentan la eficacia de las presentaciones. A continuación se refieren algunas.

Estilo propio, creatividad y originalidad

Cada diapositiva debe tener su propio estilo. Esto no significa que no pueda existir una estética general, pero cada diapositiva debe diferenciarse visualmente de las otras, no únicamente cambiar el texto o las imágenes.

Simplicidad

Las diapositivas han de ser simples visual y estructuralmente. En un primer vistazo debe quedar claro dónde está el elemento principal y cuáles son los detalles secundarios.

Espaciado

Los elementos demasiado juntos dificultan la percepción individual de cada uno de ellos. Un elemento aislado, más grande y/o de color cálido produce mayor peso en la atención.

Unidad

Debe buscarse armonía mediante compatibilidad en tamaño, forma, luminosidad, orientación u oposición. Por ejemplo, Los triángulos son más efectivos; los círculos son más agradables; los rectángulos, más estables. Los rectángulos horizontales son más equilibrados, mientras que los verticales resultan más elegantes, pero generan mayor tensión. En todo caso, las líneas ayudan a dirigir la mirada.

Detención visual

Los elementos más atractivos hacen sostener la mirada en ellos un 50% más que en otros elementos. Esto hace igualmente que haya que tener especial cuidadado con los textos, que la audiencia tiende a leer, perdiendo, durante la lectura, atención en la persona que expone.

Especificidad

Cada zona de la diapositiva debe centrarse en un concepto o aspecto fundamental. Cuanto menor número de conceptos o aspectos fundamentales, mayor intensidad y nivel de importancia tendrán los conceptos o aspectos fundamentales presentados. El resto de los elementos no fundamentales de la diapositiva, en caso de que tengan que aparecer, deberán hacerlo en impacto visual menor que los conceptos o aspectos fundamentales.