Una entrevista con Hadi Hariri, vicepresidente de defensa de los desarrolladores, JetBrains

Viniendo del mundo de la programación .NET, siempre asocié JetBrains con su herramienta de refactorización ReSharper que es una extensión muy popular de Visual Studio de Microsoft. Sin embargo, cuando hablé con Hadi Hariri, vicepresidente de defensa de desarrolladores de JetBrains y eché un vistazo más de cerca a la empresa, descubrí que JetBrains tiene una amplia gama de herramientas para facilitar las cosas a los desarrolladores. Sus productos cubren muchos lenguajes, plataformas y etapas de desarrollo diferentes.

  jetbrains

HostAdvice: Hadi, comencemos con un poco sobre usted y sus antecedentes.

He estado desarrollando software durante más de 25 años. Empecé con dBase II y Clipper, y he progresado a través de Delphi, .NET, Java y JavaScript. La mayor parte de ese tiempo se ha dedicado a la consultoría o al trabajo para empresas de herramientas de software.

HostAdvice: Veo que su título es VP de Defensa de Desarrolladores y que siempre ha estado en una función de Defensa de Desarrolladores en JetBrains. Cuéntame sobre eso.

Mi relación con JetBrains comenzó con JetBrains Academy, que a menudo patrocinaba oradores en grupos de usuarios y otros eventos. Era un ávido usuario de ReSharper y comencé a colaborar con ellos en conferencias y otros eventos comunitarios.

En algún momento me preguntaron si me uniría a ellos a tiempo completo, y así lo hice. Al principio yo era el único evangelista técnico, pero el equipo creció rápidamente y yo me convertí en el líder y gerente del equipo. Más recientemente, me ascendieron al puesto de vicepresidente, por lo que ahora soy miembro del equipo de liderazgo de la empresa.

A pesar del título, sigo activo en el campo y me relaciono con nuestros clientes y otros miembros de la comunidad en varias conferencias y eventos, así como en las redes sociales. En JetBrains, todo el mundo participa, incluso el director ejecutivo desarrolla software tanto como puede. .

HostAdvice: Bien, ahora cuénteme sobre JetBrains y sus productos.

La compañía se encuentra ahora en su decimosexto año, después de haber comenzado con tres desarrolladores que anteriormente habían trabajado juntos en Togethersoft, que fue comprada por Borland. . El primer producto fue un complemento para cambiar el nombre de los elementos del código. Este complemento luego evolucionó a un IDE (Entorno de desarrollo interactivo) completo: IntelliJ IDEA, que admite Java y cualquier lenguaje JVM (Máquina virtual Java).

Hace unos 10 años, JetBrains entró en el desarrollo de .NET. Tomamos muchos de los conceptos e innovaciones de IntelliJ IDEA y creamos ReSharper como una extensión de Visual Studio. ReSharper es una amplia herramienta de refactorización que se integra dentro del IDE de Visual Studio y se convirtió, y sigue siendo, muy popular entre los desarrolladores de .NET.

Luego comenzamos a construir varios IDE más pequeños para idiomas específicos, porque vimos que había una demanda de mercado para ellos.

TeamCity, nuestro producto para la gestión de la construcción y la integración continua, nació de nuestras propias necesidades y frustraciones. Originalmente lo desarrollamos para abordar nuestras propias necesidades internas. Desde entonces, ha demostrado que también satisface las necesidades reales de muchas otras organizaciones. Lo mismo ocurre con nuestras otras herramientas de trabajo en equipo, como YouTrack, para rastrear problemas de desarrollo.

De hecho, todos nuestros productos, excepto los IDE más pequeños que desarrollamos para satisfacer la demanda del mercado, fueron desarrollados originalmente para satisfacer nuestras propias necesidades. Una vez que los encontramos muy útiles y los pulimos un poco, los ofrecimos como productos a la comunidad.

HostAdvice: tiene una selección muy amplia y diversa de herramientas de desarrollo. ¿Por qué no centrarse en solo una o dos tecnologías o categorías?

Los desarrolladores de hoy se están volviendo mucho más “polígot”, alguien que conoce y usa múltiples lenguajes de programación y plataformas. Nuestro objetivo es proporcionar una amplia gama de herramientas de desarrollo que brinden a estos usuarios la misma experiencia, independientemente de la tecnología que utilicen.

jetbrains renombrar

HostAdvice: ¿Cuáles son sus herramientas más populares hoy en día?

Actualmente, nuestras herramientas más populares son claramente IntelliJ IDEA y ReSharper. Después de eso, y creciendo rápidamente en popularidad, vienen algunos de nuestros otros IDE: PyCharm, PhpStorm y WebStorm. El producto TeamCity que discutimos anteriormente también es muy popular.

Recientemente lanzamos Kotlin, nuestro propio lenguaje de programación. Kotlin es un lenguaje de programación de tipo estático para JVM, Android y el navegador. Ha habido un crecimiento exponencial e interés en este producto desde que lo lanzamos.

HostAdvice: Entiendo la creación de herramientas de productividad para desarrolladores, pero ¿por qué ha desarrollado su propio lenguaje? ¿Quién usa lenguajes especializados?

Desde 2010, todas nuestras herramientas, excepto las herramientas .NET, están escritas en Java. De alguna manera, Java no es el mejor lenguaje de programación del mundo y descubrimos que le faltaban muchas características que queríamos cuando hacíamos nuestro propio desarrollo. Eso es lo que nos impulsó a pensar en probar un idioma diferente y comenzamos a investigar nuestras opciones. Con una base de código Java tan grande, necesitábamos algo con un gran énfasis en la interoperabilidad. Cuando no encontramos nada que satisfaga nuestras necesidades, desarrollamos Kotlin.

Kotlin es un proyecto de código abierto: Apache de código abierto en GitHub. El uso de este lenguaje no requiere que use ninguna de nuestras otras herramientas, aunque, por supuesto, proporcionamos soporte de primera clase para Kotlin en IntelliJ IDEA, tanto la versión gratuita Community OSS como la Ultimate. La oferta de Kotlin puede aumentar las ventas de nuestros productos comerciales de forma indirecta, pero puede que no. El tiempo dirá.

¿Por qué los desarrolladores y las empresas están interesados ​​en utilizar un lenguaje de nicho como Kotlin? Para empezar, Kotlin es compatible con Java 6 y cuando Android no era compatible con las funciones de Java 8 hubo mucho interés. Así que hay mucho interés y uso entre los desarrolladores de dispositivos móviles y Android. Una vez que las personas lo usaban para dispositivos móviles, decían: “Oye, ¿por qué no usamos esto también para la programación del lado del servidor?” Si bien el número de desarrolladores de Android de Kotlin es grande, hay un número creciente de desarrolladores del lado del servidor. Algunas de las empresas que puedo mencionar que están usando Kotlin (además de nosotros, por supuesto) incluyen NetFlix, Prezi.com, Expedia y NBC Digital.

HostAdvice: ¿A quiénes considera que son sus principales competidores y cómo considera que sus herramientas son diferentes o mejores?

Obviamente, tenemos competidores en todos los espacios en los que tenemos una oferta de productos. Para IntelliJ IDEA, nuestro principal competidor es Eclipse. NetBeans también está ahí. Una encuesta de desarrolladores reciente realizada por un tercero ha informado que en realidad hemos superado a Eclipse.

Para ReSharper, los principales productos que compiten con nosotros en este espacio serían CodeRush y JustCode. Aunque en los últimos años Visual Studio de Microsoft ha ido incorporando cada vez más características de ReSharper en su IDE estándar. Por supuesto, ahora también ofrecemos Rider, que es un IDE para .NET.

HostAdvice: Cuando todavía estaba codificando .NET, usamos el complemento CodeRush, que compite cara a cara con su producto Resharper. ¿Dónde se encuentra esa rivalidad hoy?

En términos de números específicos o participación de mercado, no conozco ninguna encuesta de terceros que aborde estas herramientas, por lo que no podría comentar sobre esto.

¿Qué crees que es tu más único ¿producto?

No sé si hay algo específico que nos haga únicos. Lo que yo diría es que la mayoría de nuestros proyectos se desarrollan a partir de nuestras propias necesidades. Lo que eso significa es que en lugar de decir “Creemos esta herramienta y veamos si se vende”, comenzamos con las necesidades y deseos reales de los desarrolladores (nosotros y / o nuestros clientes) y construimos la herramienta en base a eso.

Parece que algunos de sus productos son de código abierto, ¿es correcto?

Sí, algunos de nuestros productos son de código abierto y otros no. Nuestro lenguaje Kotlin es un proyecto de código abierto; es muy difícil lanzar un nuevo idioma en estos días sin convertirlo en código abierto.

Si bien nuestros productos IDE en sí mismos no son de código abierto, nuestra plataforma IntelliJ, que es el componente básico de todos nuestros IDE, es de código abierto. Hicimos que la plataforma esté disponible gratuitamente para aumentar la adopción y para garantizar a los adoptantes que podrían construir sobre la plataforma. De hecho, Android Studio de Google está construido sobre la plataforma IntelliJ.

HostAdvice: Sé que tiene varios cientos de empleados repartidos en cinco ubicaciones. ¿Cómo se distribuyen las responsabilidades en esos lugares? ¿Cómo los coordinas?

oficina de jetbrains

Actualmente contamos con alrededor de 600 empleados. Nuestros desarrolladores se dividen entre nuestros dos principales centros de desarrollo en San Petersburgo y Múnich. Nuestra oficina principal de ventas se encuentra en Praga y tenemos otras oficinas más pequeñas en Europa y América del Norte.

La forma en que estamos organizados es que cada producto tiene su propio equipo, que incluye desarrollo, control de calidad, marketing, etc. Los únicos recursos compartidos son (mi) equipo de promoción, equipo web, ventas e infraestructura.

Cada equipo de desarrollo tiene algunos desarrolladores en cada uno de los centros de desarrollo. Queremos contratar a los mejores desarrolladores y les damos la opción de trabajar en la ubicación que prefieran. Son muy auto-motivados y autosuficientes y no necesitan estar juntos con todos los miembros de su equipo. Para la comunicación y la coordinación, tenemos reuniones diarias y utilizamos Slack.

Los miembros de mi equipo de defensa generalmente trabajan desde oficinas virtuales / en casa. Están ubicados en todo el mundo.

HostAdvice: ¿Qué me puede decir sobre su base de clientes? ¿Dónde se encuentran la mayoría de sus clientes?

Nuestros clientes se encuentran literalmente en todo el mundo. La mayoría de ellos, alrededor del 40%, se encuentran en América del Norte. Después de eso es Europa y luego el resto del mundo.

Nuestros clientes son tanto individuos como organizaciones. Si bien tenemos muchos clientes individuales, dado el alto descuento que ofrecemos a las licencias individuales, es comprensible que la mayoría de nuestros ingresos provengan de organizaciones.

HostAdvice: ¿Cómo suele llegar e interactuar con sus clientes potenciales?

Nos relacionamos principalmente con clientes potenciales a través de campañas en línea, además de conferencias y otras interacciones de desarrollador a desarrollador. El 80% de los empleados de JetBrains son desarrolladores y todos hablan directamente con los clientes.

Usamos un enfoque de abajo hacia arriba en lugar de de arriba hacia abajo. Es decir, no tenemos actividades de ventas tradicionales donde las herramientas se venden a organizaciones desde el nivel de gestión. Se trata más de que los desarrolladores prueben nuestras herramientas, las usen y las sembren en las empresas. Nuestro equipo de ventas está más enfocado en ayudar a las personas que ya desean comprar nuestros productos con soporte de ventas y licencias.

Tutorial de JetBrains

HostAdvice: ¿Cómo ve la evolución del mercado de herramientas para desarrolladores en los próximos años?

Definitivamente estamos viendo una mayor diversificación, en lugar de consolidación, de lenguajes, plataformas y herramientas. La mayoría de las conferencias de hoy discuten varios idiomas. Los desarrolladores eligen lo que creen que es la herramienta adecuada para el trabajo específico que tienen entre manos.

Personalmente, siento que todavía hay demasiado esfuerzo desperdiciado y rotación en la industria del software, con personas que reescriben el código solo para que puedan usar las últimas y mejores herramientas o la pila de programación. Necesitamos pensar en por qué hacemos las cosas a veces, ¿cuál es nuestro principal objetivo para una reescritura?

HostAdvice: ¿Cómo ve el crecimiento futuro de JetBrains en los próximos años?

Espero tener éxito [Laughs]. Creo que hemos hecho lo correcto al decidir ser políglotas y no depender de una sola tecnología o un idioma. También creo que nuestro cambio a un modelo de suscripción, que es un modelo de negocio más sostenible para nuestro tipo de productos, fue el paso correcto. Nos permite continuar brindando soporte a clientes nuevos y existentes.

Pero al mismo tiempo somos muy conscientes de que el juego puede cambiar significativamente en cualquier momento. Esto nos mantiene alerta y asegura que siempre estemos innovando y sin sentirnos cómodos.

HostAdvice: ¿Cuántas horas al día trabaja normalmente? ¿Qué te gusta hacer cuando no estás trabajando?

Normalmente dedico unas 12 horas al día a actividades relacionadas con el trabajo. Todavía amo la programación y continúo con eso como un pasatiempo, y a veces la línea entre el trabajo y el pasatiempo se vuelve un poco borrosa. Lo principal que me encanta hacer cuando no estoy trabajando es pasar tiempo con mi familia.

HostAdvice: Si se le pidiera que le diera la dirección de graduación a la clase de 2016, ¿cuál sería su mensaje para ellos?

Compartiría con ellos las cosas que me han inspirado a lo largo de los años:

  • Mantente fiel a ti mismo y nunca sacrifiques tu integridad por dinero rápido.
  • Encuentra algo que realmente disfrutes hacer y apégate a ello.
  • No tenga miedo de correr riesgos.