https://www.gravatar.com/avatar/967e5421a23952362fbc27d7a66a3dae?s=240&d=mp

David Fuentes

Technical Lead and Software Architect

Climbing the Engineering Ladder: From Junior Developer to Technical Lead

Climbing the Engineering Ladder: From Junior Developer to Technical Lead

For the Spanish version go here.

The journey from a junior developer to a Technical Lead is an incredible feat that requires continuous learning, adaptation, and growth. This article aims to provide insights into the necessary technical and soft skills needed at each step of this career ladder, along with recommended reads for each level.

The following list of recommended books does not contain any language-specific suggestions, as its objective is to be relevant to developers working with any programming language. The selection aims to cover a broad range of topics to facilitate the growth and development of software engineering professionals at every stage of their careers.

Escalando la Escalera de la Ingeniería: Desde Desarrollador Junior hasta Líder Técnico

Escalando la Escalera de la Ingeniería: Desde Desarrollador Junior hasta Líder Técnico

Para la versión en inglés ve aquí.

El viaje de un desarrollador junior a un líder técnico es una hazaña increíble que requiere aprendizaje continuo, adaptación y crecimiento. Este artículo tiene como objetivo proporcionar información sobre las habilidades técnicas y blandas necesarias en cada paso de esta escalera profesional, junto con lecturas recomendadas para cada nivel.

La siguiente lista de libros recomendados no contiene sugerencias específicas de lenguaje, ya que su objetivo es ser relevante para los desarrolladores que trabajan con cualquier lenguaje de programación. La selección tiene como objetivo cubrir una amplia gama de temas para facilitar el crecimiento y desarrollo de los profesionales de la ingeniería de software en cada etapa de sus carreras.

Introducción a Protocol Buffers

Protocol Buffers es el mecanismo diseñado por Google para serializar y deserializar datos estructurados. Google decidió crear este mecanismo como alternativa a XML o JSON, en busca de una forma más eficiente de serializar y deserializar los datos.

Protocol Buffer o Protobuf, es agnóstico del lenguaje y la plataforma utilizados para implementarlo, y está creado para ser extensible, lo que facilita la evolución y mantenimiento de este el la vida de un proyecto. Sin embargo, una de las desventajas con respecto a XML o JSON, es que el número de lenguajes en el que podemos utilizarlo está limitado a los lenguajes que el compilador tiene implementados.

Java 8: Streams

Junto con las expresiones lambda, los Streams son una de las funcionalidades más relevantes de Java 8, y trae consigo una nueva forma de trabajar. Mediante una capa de abstracción, los Streams nos permiten definir la lógica de negocio como un conjunto de funciones que se ejecutan de forma anidada.

De este modo, podemos trabajar con colecciones utilizando el paradigma de programación funcional, que nos permite definir las funciones a ejecutar de una forma mucho más clara y, en cierto modo, lo más parecida posible a como lo haríamos las personas en una situación real.

Java 8: Novedades en interfaces

Hasta Java 8, las interfaces únicamente podían implementar métodos públicos y abstractos por defecto.

En la versión de Java 8 esto ha cambiado, se ha extendido la funcionalidad de las interfaces, de modo que puedan albergar métodos estáticos y métodos default que nos permiten definir lógica de negocio dentro de las propias interfaces.

Métodos default

El objetivo que se persigue con este tipo de funcionalidad es dar a las interfaces la capacidad de definir un comportamiento estándar para toda clase que las implemente, pudiendo especializar cualquiera de los métodos definidos sobreescribiéndolos en la propia implementación de la clase.

Java 8: Referencias a métodos y constructores

La referenciación a métodos y constructores es otra de las funcionalidades que nos ofrece Java 8, y que nos permite utilizar dichas referencias a modo de expresiones lambda.

Estas referencias son lo que en inglés se denomina “syntactic sugar”, y consiste en pequeños añadidos a la sintaxis de Java diseñados para hacer algunas construcciones más fáciles de leer o expresar.

Las referencias a métodos y constructores sólo pueden ser utilizadas cuando la interfaz funcional coincide con el patrón del método referenciado.