Nitin Gangahar tiene una larga lista de logros a su nombre y una increíble oferta de colocación de, posiblemente, la mejor compañía del mundo (no hay premios por adivinar esto, es Google) es solo uno de ellos. Además, ha sido parte de una investigación realmente interesante en la Universidad de British Columbia y, en la actualidad, es asistente de investigación en el conocido Instituto Matemático de Chennai (CMI). ¡Nosotros, en TopTalent.in , hablamos con Nitin Gangahar y aquí hay algunas pepitas de conocimiento exclusivas de nuestra conversación!
Team TopTalent.in: No exageramos cuando decimos que la programación ha sido una gran cosa en tu vida. ¿Cómo y cuándo empezaste con la programación? ¿Puede enumerar algunos recursos para principiantes?
Nitin: Yo personalmente comencé a programar cuando estaba en la escuela. Python fue mi primer idioma oficial, aunque antes había visto código en otros idiomas. Depende mucho de cuándo empieces a encontrarlo divertido; no lo hagas si al principio no parece divertido. La escuela secundaria es un buen momento para comenzar a aprender si estás interesado. Muchos de mis amigos no sabían de programación hasta que llegaron a su segundo año en la universidad y son mucho mejores programadores que yo. Entonces, no importa mucho cuando comiences este camino.
Los siguientes son algunos sitios web útiles para comenzar:
- topcoder.com – para resolver problemas interesantes
- cplusplus.com – para referencia de c++
- gamedev.net – para el desarrollo de juegos
En este contexto, también me gustaría mencionar este artículo realmente inspirador, uno de mis favoritos personales: Enséñese usted mismo a programar en 10 años de Peter Norvig.
Team TopTalent.in: ¿Es importante conocer varios lenguajes como C / C++ / Java / Python / Perl o conocer conceptos de resolución de problemas?
Nitin: Saber más idiomas que funcionan en diferentes paradigmas siempre ayuda mucho. Eric S. Raymond fue mi héroe de la infancia y una vez lo mencionó en este artículo titulado «Cómo ser un hacker» (http://www.catb.org/esr/faqs/hacker-howto.html): en realidad, es mejor para aprender los cinco de Python, C/C++, Java, Perl y LISP. Además de ser los lenguajes de piratería más importantes, representan enfoques muy diferentes de la programación, y cada uno lo educará de manera valiosa.
Aprender un lenguaje de programación puede llevar años, siempre que desee conocer las formas de explotar realmente bien la singularidad del lenguaje. Sentirse cómodo con la sintaxis es solo el comienzo. Sin embargo, los conceptos de resolución de problemas son algo a lo que todo programador debería estar bien acostumbrado. Por ejemplo, creo que un buen programador no se enfrentaría a ningún problema cuando se le pidiera codificar una búsqueda en amplitud o presentar una ecuación recursiva simple para un problema.
Team TopTalent.in: ¿Qué es la programación de competencias? ¿Puedes nombrar algunos en los que participaste?
Nitin: La programación de competencias se trata más de personas que de ser una actividad. Se trata simplemente de un grupo de personas a las que les gusta desafiar a otros con problemas basados en programación y matemáticas, y esperan que otros presenten las soluciones. Es realmente algo divertido de hacer, especialmente si te encanta resolver acertijos y te encanta resolver problemas usando una computadora.
Mis compañeros de equipo y yo teníamos como objetivo ir a las Finales Mundiales de ACM-ICPC (Concurso Internacional de Programación Universitaria), que es una competencia que está cerca de todas las personas que toman la programación de competencia a nivel universitario. A nivel escolar tenemos, IOI (Olimpiada Internacional en Informática). TopCoder es un sitio web que está abierto a todos los grupos de edad y tanto profesionales como estudiantes están activos en él. Además está Sphere Online Judge y Project Euler, que poseen una buena colección de problemas.
Para empezar, ICPC es un buen objetivo para corregir. Su conjunto de habilidades aumenta, sin duda, cuando resuelve problemas con tanta regularidad y, por lo tanto, también lo ayuda a resolver las preguntas de la entrevista. Sin embargo, hay que tener en cuenta que la principal motivación para participar en concursos no debe ser ganar puestos de trabajo porque sería como trazar límites fijos en torno a las habilidades de uno.
Team TopTalent.in: ¿Cuáles son los beneficios de programar en equipo? ¿Aconsejarías un grupo de estudio para esto?
Nitin: La programación en equipo te ayuda a aprender mucho. Mis compañeros de equipo, Ravi y Manu, me enseñaron mucho en los últimos 2 años. Manu siempre tuvo un estilo de pensamiento diferente, lo que nos ayudó a Ravi ya mí a aprender mucho, especialmente a desarrollar diferentes enfoques de resolución de problemas para diferentes tipos de problemas. Ravi me enseñó cómo convertir un problema desconocido en problemas conocidos más pequeños y cómo aplicar la capacitación que obtuvo de otros lugares a un problema nuevo. La programación en equipo siempre te ayuda a pensar en un problema de manera diferente a cualquier enfoque que hubieras seguido en soledad.
Sería fantástico ver más equipos del CIPC de universidades indias. Iniciamos un Grupo de Google para nuestros estudiantes para que puedan compartir y aprender. En estos días, es decentemente activo, pero hay un gran margen de mejora. Los grupos de estudio pueden alejarse un poco de los objetivos principales, ya que las personas querrán hacer las cosas de manera diferente. En mi opinión, los equipos pequeños y enfocados estarían mejor frente a los grupos de estudio.
Equipo TopTalent.in: ¿Qué pasos deben tomar los estudiantes del campus para mejorar la escena de codificación universitaria?
Nitin: Formar equipos sería un buen primer paso. Los concursos locales son otra gran iniciativa. IIIT-Hyderabad ha sido muy activo en la organización de competencias locales y el número de equipos en las Regionales del ICPC sigue aumentando cada año. Es realmente increíble verlos crecer. Un grupo en línea para estudiantes universitarios sería otro buen comienzo.
Equipo TopTalent.in: ¿Cuáles son sus consejos para crear un currículum perfecto de 1 página?
Nitin: Esto puede sonar cursi, pero la mejor manera de crear un currículum perfecto de 1 página es trabajar duro durante tus años de pregrado y dedicarte activamente a lo que te gusta hacer. La mayoría de las veces, puede volverse mundano y aburrido, pero luego el aprendizaje y la excelencia deberían impulsarlo a continuar. Si puede hacer eso de manera proactiva y trabajar para una cantidad suficiente de concursos/proyectos, es posible que no gane muchos premios y toneladas de obsequios, pero al final habrá aprendido lo suficiente como para llenar una página en un currículum.
Este artículo está impulsado por TopTalent.in : un portal de empleo de alto nivel para estudiantes y ex alumnos de Premier Colleges en India. Regístrese ahora para obtener acceso exclusivo y gratuito a trabajos de primer nivel en la India y en el extranjero. Póngase en contacto con ellos a través de Facebook , Twitter o Linkedin . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA