Con todas las historias de despidos y el malestar general de la industria tecnológica, creo que es hora de recordar un poco lo lejos que hemos llegado. Así que aquí hay una historia de origen, o lo que habría sido una historia de origen. Porque tengo un pequeño secreto sucio para compartir. No soy un desarrollador estrella de rock. O mucho de un desarrollador en absoluto.
Ahora sé que algunos lectores de Hackernoon podrían estar diciendo: 🤨
Pero hace muchas lunas, probablemente estaba en camino de convertirme en uno (desarrollador).
Me había graduado recientemente de la universidad y ahora estaba sentado en casa. ¡Es en esta etapa que se espera que los hombres (y mujeres) jóvenes salgan, consigan trabajo y sean miembros productivos de la sociedad! Pero yo tenía otros planes. Quería montar mi propia empresa. Es más fácil decirlo que hacerlo, lo admito, pero por supuesto, no lo sabía entonces. Por suerte para ti, supongo, ya que esta historia no existiría si yo lo hiciera 😁.
Vivía con mis padres y ellos me animaron a buscar trabajo. No sé si fue porque aparecí sin trabajo (bueno, lo estaba) y sin hacer nada (mucho), pero acepté. Fue más por el deseo de demostrar que podía conseguir un trabajo, pero simplemente no quería. Así que comencé a aplicar. No creo que haya solicitado demasiados, probablemente solo uno o dos. Uno de los cuales era una compañía de software (a ver si puedes adivinar quiénes son, pista al final de la historia) que serviría como antagonista para el Hackernoon Bedtime Story de hoy. El trabajo de la empresa era capacitar y luego contratar desarrolladores para otras empresas para proyectos. Pasé la primera etapa del proceso, que era un examen en línea, y unos días después recibí un correo electrónico invitándome a una entrevista física.
Llegué a la entrevista y una pequeña sorpresa agradable fue que me encontré con un antiguo compañero de clase y charlamos un rato. Eventualmente, llegó mi turno y dos personas me iban a entrevistar. Durante esto, descubrí que la compañía te exigía que te comprometieras durante dos años si aceptabas el trabajo. Estaba un poco preocupado por esto, ya que no creía que quisiera posponer mis sueños de comenzar mi propia empresa en unos años. Decidí ser honesto y se lo dije. Dijeron que estaba bien, pero no tenía idea de lo que hicieron con eso. La entrevista en sí fue lo más cercano que estuve a la vibra de Silicon Valley-ey. Entrevistadores muy jóvenes, solo unos años mayores que yo. Cuando llegué a la sección de pasatiempos, conversé sobre anime y hablé un poco de japonés (había estado tomando clases y podía leer y escribir un poco) y logré ganarme a uno de mis entrevistadores que también miraba Naruto. Dulce. Fui a casa y esperé los resultados. Unos días después, llegó. Había fallado en… ¡es broma! Por supuesto, pasé 😛. (o la historia hubiera terminado 😁)
También lo habían hecho unas cuarenta o cincuenta personas más.
Sin embargo, sinceramente, me sorprendió un poco haber llegado a la siguiente ronda, considerando que había expresado algunas dudas en la entrevista. Eso no es generalmente cómo hacer una entrevista, pero el progreso, lo hice. El correo electrónico nos informó que habíamos sido invitados a una tercera ronda del proceso de contratación. Iba a durar dos semanas. Estándar 9 a 5 8 a 5:30. Así empezó. El primer día implicó dividir a los entrevistados en dos clases. Una clase de JavaScript y una de Python. Me pusieron en la clase JS. Este fue JS desde cero. No se esperaba que ninguno de nosotros tuviera conocimientos previos de JS. Bueno, acertaron en eso. Llegué con un cerebro libre de conocimiento de JavaScript.
Durante la primera semana, me presentaron la cultura de la empresa. El primer día fue un shock cuando alrededor del almuerzo (que ellos proporcionaron) nos llamaron al pasillo central entre las dos aulas y nos pidieron que formáramos un círculo y nos tomáramos de la mano.
Al estilo de Silicon Valley, ¿recuerdas? Recuerdo que me resistí a esta distopía de los desarrolladores de software kumbaya de la nueva era y, a regañadientes, solo accedí a hacerlo porque, bueno, el capitalismo. Era una entrevista y yo estaba buscando para conseguir el trabajo. Tenía estándares, pero solo se me pedía que sostuviera las manos de mis posibles futuros compañeros de trabajo, no vender uranio enriquecido a las salas de maternidad. Podría descender para hacer esto. Recuerdo que uno de los desarrolladores de entrenadores comentó casualmente que eventualmente me acostumbraré y me gustará.
Me presentaron los conceptos básicos de Bash y Git en los primeros días. Y JavaScript lentamente también. Definitivamente fue una de esas sesiones de entrenamiento de alta intensidad. Tuve que salir de mi casa a eso de las 6 am para llegar a eso de las 7:45 am. Gradualmente salimos del edificio entre las 5 y las 6 de la tarde y yo llegaba a casa alrededor de las 8 de la noche. Fue agotador pero agradable. Estaba feliz porque estaba aprendiendo muy rápido. Durante un día normal, nos darían varios ejercicios. En uno de esos días, nos dieron un ejercicio que era un poco más exigente de lo habitual, hacia la noche. Y nos dijeron que no teníamos que quedarnos en la oficina para terminarlo. Entonces, después de trabajar en ello durante más de una hora, me fui a casa. Estaba decidido a terminarlo porque me gustaba el desafío del ejercicio, así que una vez que llegué a casa continué con el ejercicio y terminé alrededor de las 8:30 p. m. y entregué el ejercicio. Era un viernes por la noche, así que no hubo más trabajo por un rato. Un fin de semana de descanso muy necesario hizo señas.
Llegué al edificio a tiempo el lunes y encontré que la mitad de la clase aún no había entrado. Faltaban solo unos minutos para las 8 am, así que estaba desconcertado. Comenzó el día y nos dijeron que la mitad que faltaba se había cortado. Esto fue un shock. Se suponía que el proyecto era el corte. ¿Entonces qué pasó? ¿Su ofensa? Ese pequeño e inocente ejercicio del viernes por la noche, uno de más de una docena que nos habían dado esa semana. A aquellos que no lo habían enviado antes de las 10 pm del viernes por la noche se les había dicho que no regresaran el lunes. Un ligero escalofrío me recorrió la espalda. Estaba a solo una hora de esa fecha límite. Aunque estaba aquí, en la siguiente ronda, sentí que era un poco injusto y protesté. Mencioné que nos habían dicho que no necesitábamos terminarlo antes de irnos por el día. Contestaron que nunca dijeron que no era necesario entregar la tarea ese día. La trampa me pareció un poco dura. Como un ensayo de alguna novela distópica.
Aproximadamente el martes, habíamos comenzado a trabajar en nuestro proyecto. Nos pusieron en grupos de dos. Mi grupo tenía la tarea de desarrollar un pequeño clon de Eventbrite. Yo era responsable de la mayor parte del backend y un poco del frontend y mi socio tenía el reverso. Parecía un desafío para las personas que acababan de comenzar a aprender JavaScript y Git hace una semana, pero pensé que era factible. Estábamos usando Firebase (cuando Google aún no los había adquirido) para el backend. Entonces comenzamos el proyecto, y aquí es donde comenzaron los tirones de pelo.
Al principio, pensé que lo único de lo que tenía que preocuparme era de la línea de tiempo. Empecé y parecía estar haciendo un progreso decente (en retrospectiva, debería haberme dado cuenta de que así es como comienzan todas las películas de terror 🤗) hasta que me encontré con un problema con una llamada a la API de Firebase. Se suponía que una línea de mi código usaría datos devueltos por Firebase, pero solo funcionó la mitad del tiempo. Lo intenté una y otra vez. Ajustando esto, reescribiendo aquello. Nada. Como los lectores sabios se habrán dado cuenta, una aplicación basada en servidor que no puede comunicarse con un servidor es una aplicación bastante basura.
Las aplicaciones basura no te ayudan a pasar las entrevistas. Empecé a entrar en pánico. El tiempo se escapaba. ¡Lo enloquecedor era que *funcionaba* la mitad del tiempo! ¡¡Eso no tenía sentido, así no es como se suponía que funcionaban las computadoras!! Por supuesto, mi pantalla felizmente me devolvió la mirada sin ofrecer ayuda. Llegó el jueves y todavía no había solucionado el problema. Se suponía que íbamos a presentar nuestro programa de trabajo al día siguiente. No había intentado escribir otras partes del programa porque no veía el uso si no podía trabajar con el servidor. Las largas noches de esa semana no habían producido nada.
El viernes por la mañana estaba programando *en el autobús* de camino a la oficina. Ese era mi nivel de desesperación y fue entonces, afortunadamente, que finalmente hizo clic. Fue un problema asíncrono. Newbie-JS-developer-me no entendió que, a diferencia de los programas C locales básicos que se ejecutaban línea por línea, si una línea JS realizaba una solicitud de datos a través de Internet, no había garantía de que los datos hubieran llegado en el momento en que el programa ejecutó otra línea de código tres líneas hacia abajo. Estaba completamente acostumbrado a la noción de programas corriendo línea por línea. La razón por la que funcionó la mitad del tiempo fue que la respuesta del servidor simplemente fue lo suficientemente rápida la mitad del tiempo. Empecé a correr con la leve euforia que surge cuando solucionas un problema molesto, pero solo tenía unas pocas horas hasta que mi pareja y yo nos presentáramos esa mañana.
En una nota al margen, la depuración mientras que el dispositivo móvil cuenta como depuración móvil, ¿verdad? ¿Derecha? 😉 ..... está bien, me detendré.
Llegué a la oficina donde, como yo, otros se apresuraban a tener algo que presentar. Solo un grupo (de cinco o seis) había terminado (¡el día anterior!). Mi pareja también estaba teniendo problemas en sus partes. Juntos logramos improvisar algo para presentar.
Empecé con una broma sobre que la razón por la que nuestro proyecto era tan básico era que nos habíamos imbuido del espíritu del minimalismo.
Afortunadamente todos se rieron. Hice la presentación y expliqué el problema y no fue tan malo después de todo, en comparación con cómo les había ido a otros. Aparte del grupo de genios, que básicamente hizo que todos aplaudieran, nos fue bien comparativamente.
En retrospectiva, fue un poco triste que probablemente pasé más de la mitad del tiempo en un proyecto persiguiendo un error. Me acordé e inspiré para escribir esta historia cuando escuché sobre el servicio Sentry. Es un servicio de depuración/supervisión de aplicaciones. Puedes consultarlos aquí. Se ve en profundidad y no entiendo la mitad, así que eso es una buena señal 😁. Puede consultarlos aquí en sentry.io si tiene curiosidad.
Al final del día, nos llamaron a una habitación uno por uno. Me ofrecieron el trabajo "provisionalmente", pero expresé mis dudas debido a los dos años de compromiso requeridos. Como era de esperar, no obtuve el trabajo cuando llegaron los correos electrónicos durante el fin de semana, ya que básicamente lo había rechazado.
En general, fue una buena experiencia. Odio admitirlo, pero al final de dos semanas, estaba disfrutando de esa cosa de Kumbaya, de contar chistes y tomarnos de la mano que hicimos en el almuerzo como lo habían prometido. Acepto la derrota allí.
De nunca tocar JS a convertirse en mi idioma favorito en dos semanas. Además de una nueva habilidad de una ética de trabajo duro y lograr mucho en un corto período de tiempo. También pasé de mí, un amante completo de la GUI de Windows, a preferir usar la línea de comandos para Git frente a la interfaz web. Fue una experiencia positiva.
Unos años más tarde, la empresa fue adquirida por una gran empresa de tecnología. Como no soy un gran admirador de las prácticas éticas allí, trato de decirme a mí mismo que puede que no haya sido una mala idea saltarme el trabajo.
Al final del día, lo que haces es más importante que lo que hiciste. ¡Así que aquí está el futuro y el presente!
¡Oye! Gracias por leer mi historia. Si te pareció agradable/interesante/divertido, por favor comparte el artículo. Doy la bienvenida a los comentarios / preguntas a continuación. Avíseme si desea conocer mis otras experiencias de desarrollo para principiantes. ¡Gracias!