Encuentra tu curso ideal

9%

¿Qué quieres estudiar?

Formación y tendencias en desarrollo web.

carlosbuenosvinos 2

Entrevistamos a Carlos Buenosvinos
CTO en Emagister

Queremos conocer qué tipo de formación y por qué temas se interesan profesionales con experiencia. ¿Cómo se mantienen al día? ¿A quién siguen en twitter? ¿Qué están leyendo? ¿Cómo ven el futuro y cómo se preparan para ello? ¿Qué cursos recomiendan? En esta ocasión, hablamos de todo ello con alguien que tenemos muy a mano: Carlos Buenosvinos (nuestro CTO).

Carlos es Ingeniero informático por la Universidad Politécnica de Cataluña. Es especialista en análisis, desarrollo y consultoría en aplicaciones web de alto rendimiento. Tiene experiencia en dirección de equipos con agile methodologies, Scrum (Certified Scrum Master), PHP (Zend Certified Engineer – ZCE) Zend Framework (Zend Framework Certified), Continuous Delivery, Mobile Development, Data Mining, Artificial Intelligence and Team Management. Es co-founder del PHP Barcelona User Group que organiza el PHP Barcelona Conference. Cuenta además con una extensa experiencia en proyectos e-commerce, sistemas de pago y directorios clasificados.

De lo que has estudiado ¿qué has aprovechaste mejor?

Ok. Una vez finalizada la carrera, resalto algunos cursos:

En primer lugar, un curso de verano de PHP que hice en la universidad (luego fuí profesor del mismo durante varios años más tarde).
Segundo, el Curso de certificación de Scrum de la ScrumAlliance.
También recuerdo los video-cursos de CleanCoders.com sobre buenas prácticas de desarrollo, hablo sobre ello en mi blog.
cleancoders 3

¿En qué te estás formando ahora mismo?

Actualmente, estoy mejorando mis habilidades sobre TDD y SOLID de manos de Robert C. Martin, un gurú del desarrollo de software que tiene videos online a un precio razonable.

También estoy leyendo libros sobre este tema, los podéis encontrar en mi lista de amazon y en mi blog.

También me interesan otros lenguajes como Ruby o Python (como lenguajes interpretados), Erlang o Clojure (como lenguajes funcionales), Spring MVC (un framework JAVA para profundizar en buenas prácticas) y C++ (ya que muchos lenguajes están escritos en C++).

¿Cómo te mantienes al día? ¿A quién sigues? ¿Qué recomiendarías a profesionales con tu perfil?

Sigo en twitter a los referentes del desarrollo de software (Robert C. Martin, Martin Fowler, Kent Beck, etc.) y de PHP (Rasmus, Derick Rethans, Fabien Potencier, etc.), así como compañeros del sector que pueden retuitear cosas relevantes que no me lleguen directamente.

De vez en cuando, me doy una vuelta a ver quiénes están siguiendo para evaluar si tiene sentido que yo lo haga también.

También puedo recomendar un par de blog:  8thlight y Martinfowler.com (aunque con Tweeter resuelvo el 80%)

Ahora mismo, ¿a quién pedirías estas mismas referencias?

A algunos compañeros de profesión como Christian Soronellas o Ricard Clau.

¿Qué consideras que está cambiando y cómo ves tu profesión en el futuro?

Ha cambiado de manera relevante el uso de las metodologías ágiles en las empresas, se han extendido rápidamente y ahora es casi el estándar por encima de las metodologías waterfall. En el sector web, cada año se exigen muchos más conocimientos a los desarrolladores (nuevos lenguajes – Ruby o Python, frameworks como Symfony2, TDD, buenas prácticas y NoSQL).

En los próximos años, los lenguajes funcionales irán adquiriendo más peso y las webs se orientarán a móviles como primera opción, lo que hará que tener un buen conocimiento sobre montar APIs REST, single-page Javascript applications y el desarrollo de aplicaciones móviles portables a diferentes dispositivos sea un factor diferenciador.

Por suerte, creo que mi profesión seguirá existiendo. Lo que ocurrirá es que los lenguajes de desarrollo web y móvil se harán más sencillos y asequibles. Construir ya no será un problema y prevalecerán las buenas ideas y los buenos productos. Espero también que, en un futuro no muy lejano, la programación forme parte de la enseñanza obligatoria como se está intentando ya en Estado Unidos o algunos países europeos.

¿Por qué seleccionaste esta profesión? ¿Cómo te orientaste?

Principalmente por mi hermano. También es ingeniero informático superior, 9 años mayor que yo y desde que tengo uso de razón recuerdo un ordenador en casa. Recuerdo pasar horas al lado suyo mientras hacía prácticas de la universidad.

Aunque lo tenía bastante claro, en el momento de la selectividad, mi padre había influido para que eligiera Telecomunicaciones así que miré los temarios, las salidas profesionales y la demanda del mercado para acabar de tomar la decisión.

¿Qué recomendarías a alguien que está empezando tu carrera?

 A alguien que está a punto de entrar en la carrera le recomendaría bastante lectura y formación sobre aspectos básicos sobre ser un buen profesional del desarrollo de software: The Pragmatic Programer. Ahí se dan las pistas para cuidar tu carrera profesional de por vida.

También recomiendo The Robert C. Martin Clean Code Collection.

¿Y a quien justo la terminó?

A alguien recién salido de la carrera, le recomendaría formación sobre DDD (Domain Driver Design). Es un movimiento bastante actual y no creo que hayan formaciones al respecto.

Un par de referencias:
Domain Driven Design Tackling Complexity Software de Eric Evans
Implementing Domain Driven Design de Vaughn Vernon

DDD

¿Qué tipo de perfiles contratas para tu equipo?

Normalmente tienden a ser ingenieros informáticos técnicos o superiores, aunque hay varias personas de ciclos formativos dentro del Equipo que están a mayor nivel que muchos otros ingenieros que he conocido. Así que no diría que tenga ningún tipo de preferencia.

Para mí, es fundamental que aporte algún tipo de conocimiento nuevo al equipo, aunque no esté 100% relacionado con Emagister. Destacaría que tuviera una ganas y facilidad para aprender enormes (ya que en un buen entorno estos perfiles se disparan). Por último, sitúo el perfil mentalmente dentro del equipo y pienso en su interacción personal con el resto de compañeros. Los perfiles comunicativos y que participan constructivamente hacen crecer al equipo.

¿Qué echas en falta en los candidatos que entrevistas?

Al ser perfiles con alta empleabilidad, a veces han perdido el afán por seguir aprendiendo y ser mejores profesionales. Técnicamente, hecho en falta conocimientos sobre TDD (Test Drive Development), principios SOLID y metodologías ágiles.

¿Cómo enfocas la formación contínua de tu equipo?

La formación continua es uno de los ejes fundamentales para el equipo técnico de Emagister. Desde el principio, consideré la formación de manera que incrementase el valor profesional de los miembros del equipo y ayudase a preparar el roadmap técnico de Emagister. Orientándonos a utilizar siempre las últimas tecnologías. El concepto “living-on-the-edge” genera una dinámica y tensión positiva dentro del equipo.

Cada viernes, desde hace 3 años, de 14:30 a 16:30, un miembro del equipo técnico imparte formaciones prácticas y teóricas al resto de sus compañeros. La temática se decide entre los técnicos con mayor nivel técnico y se asigna a un miembro la impartición de la sesión. Si la temática es compleja, organizamos bloques de entre 3 y 4 formaciones. Cada sesión la grabamos y la compartimos en nuestro blog.

La “formación de los viernes” se ha convertido en un lock-in importante para retener el talento como todos los miembros del equipo técnico reconocen en las reuniones de feedback y son muchas las empresas que han copiado esta dinámica.

¿Cómo valoras tu profesión actual?

Soy muy afortunado de ser informático, es mi profesión y mi hobby. Creo que es un lujo poderte dedicar a lo que te apasiona y trabajar duro para ser mejor profesional cada día. En la informática, aprender y probar cosas nuevas es muy fácil, no como en otras disciplinas, así que el límite está en tus ganas e imaginación.

Ser CTO de Emagister y poder gestionar y hacer crecer un equipo de unas 20 personas es fantástico, el salario es el adecuado, el tamaño del equipo no es muy grande y no hace que la logística consuma mi tiempo. Las dinámicas del equipo funcionan solas bajo Scrum lo que me permite centrarme en temas de arquitectura y desarrollo en los que invierto el 80% del tiempo. El otro 20% son reuniones y colaboraciones con otras áreas de Emagister.

Cuando pienso en el futuro, pienso en salir del país e irme a trabajar a alguna empresa americana para seguir aprendiendo y tener una experiencia vital nueva. Sea como sea, no descarto montar mi propio proyecto o cambiar de especialidad al desarrollo móvil (que tengo como hobby) y el desarrollo de videojuegos.

Muchísimas gracias Carlos!

 

FORMACIÓN RELACIONADA

Viendo lo que nos ha comentado Carlos, hemos buscado formación relacionada en emagister:

  • Hemos visto nada o muy poco en nuestro directorio sobre TDD y SOLID. Estamos en ello… ;)
  • Como es lógico, sí hemos localizado oferta de cursos sobre Programación, Lenguaje C o PHP.
  • Algunos cursos sí tenemos sobre Python, Spring MVC o Symfony.

 

Deja un comentario