Java para Startups: ¿error o acierto?
¿Sabías que Twitter recientemente tuvo que pasarse a un Java-based front-end después de haber usado exitosamente RoR con 200 millones de usuarios?. Probablemente no y quizás la fama que precede a Java tenga mucho que ver. Lo cierto es que ‘el dato’ más instalado es que el 90% de las 500 compañías de Fortune usa Java…y es real, pero puede ser tendencioso.
Friendly reminder: Java != Java EE
Con más de 9 millones de programadores en el mundo (y sumando), Java no deja de ser relevante en las empresas de hoy, pero muchos aseguran que en el mundo de las Startups, la historia es diferente. Y tienen argumentos reales y convincentes:
- Java es un lenguaje complejo y su estilo de programación y ‘verbosidad’ hacen que escribir código tome más tiempo de lo necesario y en las Startups, el tiempo importa.
- La complejidad de Java no facilita las constantes iteraciones de producto que requieren las Startups.
- Java es una muy maduro para las necesidades básicas para la gran mayoría de la Startups. Por ejemplo, el poder que tiene Java en debugging es demasiado para las necesidades de la Startup promedio.
- La gran mayoría de los programadores Java se encuentran en el mundo corporativo y no hay una comunidad orientada a startups que sea relevante.
- etc…
Y sí, tiene sentido. Lenguajes como Python, Ruby e incluso PHP ofrecen el tipo flexibilidad que las startups necesitan. Equivocarse no es problema, iterar es la clave. Got it. Pero en defensa de Java, lo cierto es que no es el mismo de hace 10 o 5 años. Sólo por mencionar algunos aspectos positivos:
- Con Spring Boot o con Play Framework puedes tener una web app arriba en minutos en un web server embebido.
- Puedes desarrollar un REST backend decente con Java y luego usar un buen frontend framework/librería para que interactue con él.
- Java tiene múltiples módulos, validados, que pueden potenciar tu productividad.
- etc…
Entonces, ¿usar Java en Startups es un error o un acierto? — 5 minutos en Google te dirán que es un gran error, así que desde Hackealo, queremos compartirte 4 argumentos para creer que puede no ser una mala idea:
1. Ser ‘cool’ no te garantiza el éxito.
No es una idea descabellada para quienes inician una Startup, querer trabajar con las tecnologías modernas. Los programadores las buscan y al estar en boca de todos, existen grandes beneficios: recurrentes meetups, atención de inversores, facilidad para reclutar, etc. Pero ser ‘cool’ no te garantizará buenos resultados. Un buen programador Java o un equipo Java talentoso no tendrá nada que envidiarle a nadie. Además, si eres el CTO, experimentar nuevas tecnologías nunca es malo, pero para construir un imperio tal vez tenga más sentido apoyarte en tus fortalezas..
2. Gran parte de los clientes/usuarios son mobile users.
No es un secreto que, en general, la aceptación de soluciones mobile por parte de los usuarios viene en ascenso, y Android — con un share del 85% de los smartphones y presencia en 190+ países — es la tecnología reina. Y sí, depende de Java. Tomarse el tiempo para conocer Android Studio es definitivamente un acierto. Existe una alta demanda de programadores Android y excelentes comunidades de apoyo.
3. Crecimiento controlado de tu equipo.
En este punto debemos agradecer a la complejidad de Java. Para nadie es un misterio que existen pocos programadores disponibles en general, así que en la medida que tu equipo o tus proyectos crezcan es muy probable que tengas un mix interesante de perfiles: staff remoto y presencial, diferente seniority, diferente background, estilos de programación diferente, etc. Querrás un poco de estructura y Java te la brinda.
4. Escalando con éxito: el día después.
Las palabras claves son: Big Data. Java juega un papel importante en el ecosistema Big Data. Librerías como Hadoop MapReduce , HDFS y Lucene — por ejemplo — requieren el conocimiento de Java para resolver los problemas más interesantes que suceden en Big Data. Cuando las Startups llegan a grandes números de usuarios, analizar la información es fundamental para mantenerse en la cima, y en ese entonces Java no será una mala alternativa, entonces ¿por qué no ser proactivos y probar con Java desde el día 1?
¿Error o acierto?, tu decides.
¿Te pareció interesante? — compártenos tu opinión ;-)
Si estás buscando oportunidades Java — en empresas o Startups — ingresa en www.hackealo.co, el portal de empleos con ofertas pensadas para ti.