De inicio a fin: mi práctica en Nursoft
Mi experiencia en una boutique de desarrollo de software
La primera vez que escuché de Nursoft fue en mi tercer año de universidad (Universidad de Chile).
En el verano tenía que hacer mi primera práctica profesional y el centro de alumnos del departamento de computación organizó una feria laboral a la que Nursoft fue a presentarse.
De todas las charlas, en particular una me llamó la atención y fue justamente la de Nursoft. La charla comienza y Sebastián (Head of Business/cofundador) explica como se plantean a ellos mismos como una boutique de desarrollo de software a medida y de alta complejidad, como resuelven problemas que otras empresas no fueron capaces de resolver, y como lo resuelven con un enfoque hacia la experiencia del cliente y su éxito Todo esto dentro de un ambiente que Sebastián se esforzaba por describir como bacán, al final, son gente haciendo lo que les gusta.
Lo único que se me venía a la mente era:
Quiero trabajar allí.
Mi único problema es que solo estaba en tercer año, y mis primeros dos años de universidad habían sido plan común de ingeniería, por lo que solo tenía un año de estudios especializados en computación.
No me sentía preparado para desafíos del estilo como los que se planteaban en Nursoft, por lo que decidí esperar, pero aún teniendo en mente y en el radar a esa empresa que se veía tan desafiante.
Durante todo mi cuarto año de carrera estuve trabajando en un start up y decidí aprender lo que más pudiera. Luego de todo ese tiempo, sí me sentía preparado para todo, y al igual que hacía un año atras, se realizó otro ciclo de charlas para prácticas profesionales (ahora estaba buscando un lugar para hacer mi segunda práctica) en la cual nuevamente estuvo presente Nursoft.
Ahora sí me decidí por postular, esperando cumplir mi objetivo y en busca de desafíos. Al rededor de una semana después, Paula, Organizational Developer, me contacta para agendar mi primera entrevista, momento en el cual comienza mi viaje por Nursoft.
Cómo me reclutaron y (spoiler) me seleccionaron
Para poder entrar como practicante en Nursoft, tenía que pasar por tres entrevistas distintas (las mismas que cualquier integrante del equipo). Suena exagerado para un simple puesto de práctica pero de verdad les importa que existe un match entre quien entra y la empresa.
- Entrevista humana. Mi primera entrevista fue con Paula, y la verdad, pocas veces me había sentido tan cómodo en una instancia de este estilo. En lo personal, nunca me gustaron las preguntas maqueteadas en este tipo de entrevistas y de hecho hasta me incomodaban un poco. Con Paula, la entrevista se limitó basicamente a una conversación en la que ella me contaba de Nursoft y yo le contaba sobre mí, simple y casual. A mi parecer, como debería ser.
- Entrevista técnica. Para esta instancia estaba muy nervioso. En esta entrevista estuvo Rafik, Head of Technology/cofundador, y Paula. Nuevamente conversamos sobre lo que era pertinente y me dieron un par de problemas para resolver. En particular, conversamos sobre proyectos que se habían hecho en Nursoft y como se habían utilizado tecnologías ad hoc a la necesidad del cliente. En Nursoft no usan un stack tecnológico definido. Simplemente usan y aprenden lo que sea mejor para cada proyecto. Yo lo encontraba muy entretenido, en especial porque mi principal objetivo de esta práctica era aprender lo que más pudiera, y no limitarme a una tecnología me hacía mucho sentido.
- Entrevista cultural. En la última entrevista, la idea era poder confirmar el match entre Nursoft y yo. Acá estaba Sebastián, Head of Business/cofundador y Paula. Por todo lo que sabía de ellos hasta el momento, sentía que mi forma de trabajar se alineaba bien con los principios con Nursoft, así que a esta entrevista fui más confiado. Una cosa que me llamó la atención fue el apellido de la entrevista: Cultural, que más tarde vine a entender, y es que en Nursoft uno de los pilares fundamentales es su cultura y el objetivo de esta entrevista era confirmar que yo como prácticante iba a poder sumergirme en ella, pues les importa mucho mantener ese ambiente bacán que existe en la oficina.
La práctica
Luego de una o dos semanas, quedé seleccionado y no podía estar más feliz. Estaba nervioso, pero feliz.
Ahora, podría dedicarme todo el post a hablar bien de Nursoft (y con gusto lo haría), su filosofía y su cultura, pero en cambio me gustaría escribir sobre todas las cosas que aprendí al hacer mi práctica, ya que, como mencioné antes, mi objetivo inicial principal era el aprendizaje que podía obtener.
El primer proyecto
Para empezar, obviamente aprendí muchas cosas respecto al ámbito técnico. Al primer proyecto al que entré estaba hecho en Phoenix-Elixir con el front-end hecho en React con Redux. Además tenía una aplicación hecha en React Native, también con Redux.
Elixir es un lenguaje de programación funcional y funciona muy bien para sistemas que necesitan concurrencia. De más está decir que no es de los lenguajes tradicionales que uno aprende en sus primeros años de computación. Sin embargo, se convirtió rápidamente en uno de mis lenguajes favoritos y no me cabe duda que en el futuro me será muy útil.
Con respecto a React/React Native con Redux no hay mucho que decir. Con el hype que existe hoy en día alrededor de estos frameworks, no vale la pena recalcar cuán útil es aprenderlos a fondo.
Si bien ya había hecho un par de mini proyectos utilizando React y tecnologías afines, nunca había participado de un proyecto a gran escala y la experiencia que se gana es demasiada.
El segundo proyecto
En el segundo proyecto en el que trabajé consistía en un back-end hecho en Ruby on Rails y un Frontend en React.
En lo personal, llevo un buen tiempo trabajando con Rails, y después de un mes de React intensivo uno podría creer que en un segundo proyecto con estas características no habría mucho más que aprender o que iba a ser más de lo mismo, pero definitivamente no fue así.
Como mencioné al principio de este post, Nursoft no trabaja con proyectos de una dificultad promedio, sino que buscan que sean de alta complejidad, y trabajar en proyectos así, sin importar que tanto se conozca un lenguaje o framework, siempre presenta desafios que de una manera u otra generan aprendizaje.
Una de las cosas más importantes que aprendí en el ámbito técnico es que en proyectos de alta complejidad no hay cabida para código mal escrito poco extensible o malas prácticas. Siempre se debe tener en mente el objetivo del proyecto y el aprendizaje continuo es una herramienta fundamental para lograrlo.
El día a día
Un aspecto que considero relevante, y muy valioso, es que mi práctica en Nursoft no se sintió como tal. Nunca me sentí en una jerarquía menor ni con labores más simples que las de el resto. En Nursoft era un desarrollador más y la responsabilidad que tenía era la misma que la de el resto, o al menos así lo sentía yo. La experiencia laboral no podía ser más tangible y era imposible no aprender de ella.
También con dicha responsabilidad existían muchas libertades. Por ejemplo, yo manejaba mis horarios. Si iba a llegar un poco más tarde solo tenía que avisar para que no se preocuparan y estaba todo bien. Tenía que cumplir con mis deberes semanales pero yo manejaba el cómo lo hacía.
Podía parar de trabajar, jugar un rato en la Switch (sí, tienen una Nintendo Switch para el uso general) y luego volver a trabajar. Podía ir a buscar una cerveza al refrigerador y tomármela mientras seguía trabajando. En fin, tenía muchas comodidades que no todas las empresas tienen, y definitivamente marca una diferencia en el cómo se vive el cotidiano trabajando en Nursoft.
Otra cosa que me encantó fueron los almuerzos de desarrolladores. Todos los martes la empresa nos invitaba el almuerzo y nos juntabamos todos los desarrolladores a conversar sobre temas pertinente al ámbito. A mi forma de ver, me daban comida por juntarme a hablar sobre lo que me gusta, ¿Cómo no encantarme?
Cabe destacar, en todo caso, que el resto de los días los almuerzos también corren por cuenta de Nursoft, pero por alguna razón en los almuerzos de desarrolladores sentía más la invitación.
En fin, el cotidiano en Nursoft no podía ser más llevadero y jamás se me pasó por la cabeza un “que flojera ir a trabajar”. Definitivamente no. El ambiente es demasiado agradable, al igual que toda la gente que trabaja allí.
Terminando la práctica
Me gustaría explicitar y dejar en claro que mi objetivo terminó más que cumplido. No se me ocurre de que otra manera hubiera aprendido más. De hecho, siendo sincero, estoy seguro de que aprendí cosas de las que todavía no soy consciente, pues la cantidad de información que pasa en cada minuto por Nursoft es demasiada.
Este post lo estoy escribiendo en mi última semana de práctica, luego de dos meses de haber entrado, y estoy seguro que de no serán pocas las veces en el futuro en que se me cruce por la cabeza un “Oh! yo aprendí esto en Nursoft”.