En cuanto a la carrera, ¿qué opción es mejor, dado el tiempo limitado y la necesidad de elegir: contribuciones de código abierto o programación competitiva?

Los participantes en Coding Interview Bootcamp a menudo hacen esta pregunta.

Veo que los dos caminos tienen beneficios algo complementarios:

Contribuciones de OSS : si elige el proyecto correcto, aprenderá a escribir un código mejor y más limpio (no necesariamente más rápido), eso es ampliamente aceptable. Aprenderá a organizar y documentar mejor su código, lo cual es una habilidad crítica. Obtendrá una experiencia significativa en su currículum, lo que conducirá a más entrevistas en buenas empresas, sea cual sea su experiencia o nivel educativo.

Después de que lo contraten, será más fácil diferenciarse positiva y fuertemente de otros ingenieros de software de su empresa.

Programación competitiva : aprenderá a codificar más rápido, no necesariamente mejor . Obtendrá una mejor comprensión de las estructuras de datos y algoritmos. Si ganas concursos, podrás incluirlo en tu currículum y obtener más entrevistas. También es probable que vueles a través de entrevistas de tipo Estructura de datos y Algoritmos, sea cual sea tu experiencia o nivel educativo.

Sin embargo, después de que lo contraten, probablemente necesitará adaptarse, porque se dará cuenta de que la velocidad no es la parte más importante de la codificación en una organización. Es diseño, organización y legibilidad.

Cualquiera sea la elección que haga, le insto a que lo haga con la intención correcta:

Intención de la contribución de OSS: es pagarla. es decir, contribuir genuinamente a OSS, a lo que todos debemos nuestra existencia.

Intención de programación competitiva: es la superación personal a través de desafíos de programación.

En cualquier camino, los beneficios orientados a la carrera llegarán relativamente pronto, pero tomará un tiempo cumplir con la intención final.

Hay una gran exageración de la programación competitiva en India. Los estudiantes piensan que tener un buen desempeño en CP les dará los mejores trabajos en grandes compañías tecnológicas. La mayoría de los estudiantes comienzan CP sin tener ningún interés en ello, se obligan a participar en los desafíos de codificación para obtener buenas clasificaciones para que puedan mencionarlo en su currículum. Buscan soluciones en diferentes plataformas en línea que conducen a hacer trampa en las competiciones de codificación. Pregúntese al menos una vez, ¿realmente le gusta la programación competitiva? ¿Por qué estás haciendo CP? ¿Solo porque pocas personas increíbles tienen trabajo en grandes compañías como Google, Facebook y Microsoft a través de CP? ¿Directi contratará a un ingeniero si tiene el 55 por ciento, considerando el hecho de que es un muy buen programador y ha resuelto 400 problemas en SPOJ? Hay muchas preguntas de este tipo son Quora.

Pros y contras de la programación competitiva.

Pro

  • CP mejora tus habilidades lógicas y analíticas.

  • Mejora tu conocimiento algorítmico.

  • Puede “pasar” a través de entrevistas de grandes compañías tecnológicas porque las entrevistas se basan principalmente en algoritmos y para eso se entrena.

  • Obtienes camisetas gratis en las competiciones de codificación y la gente te respeta.

Contras

  • Te vuelves adicto a las competiciones. En la vida real, cuando trabajas en una empresa con muchas responsabilidades, puedes perder rápidamente la motivación, cuando no hay nadie a quien vencer.

  • Te acostumbras a pequeñas recompensas y objetivos a corto plazo. En la vida real, cuando trabajas en un proyecto, lleva meses antes de que te recompensen por el proyecto en el que estás trabajando.

  • Conoces un lenguaje de programación excepcionalmente bien, pero no conoces ningún framework. Aprender es más práctico, lleva más tiempo y es más aburrido, ¡y debes hacerlo muchísimo más a menudo!

  • En CP, ve WA, AC o TLE en un problema, pero en la vida real se requiere un gran esfuerzo para probar un software en diferentes conjuntos de datos, plataformas y dispositivos. Lleva meses probar y finalizar un software.

  • Aprendizaje automático, inteligencia artificial, procesamiento de imágenes y criptografía: nunca los usó en competiciones de codificación. Estas son ramas muy utilizadas de la informática en las grandes empresas.

¿Dime qué es realmente el desarrollo de software?

El desarrollo de software es el proceso de programación de computadoras, documentación, prueba y corrección de errores involucrados en la creación y mantenimiento de aplicaciones y marcos involucrados en un ciclo de vida de lanzamiento de software y que resulta en un producto de software.

O

El desarrollo de software es el proceso de diseño, construcción, prueba y envío de un software que hace del mundo un lugar mejor.

Si está haciendo algo usando su conocimiento de programación para hacer la vida de alguien más fácil y simple, entonces usted es un desarrollador de software.

Aquí me refiero al desarrollo de código abierto

¿Cuáles son las ventajas del desarrollo de código abierto?

  • Solución de problemas : esto le da una sensación de logro, al final del día, puede mirar hacia atrás y señalar algo que hizo o hizo o terminó y muchas personas están usando su software.

  • Aprendizaje : trabajas en proyectos de la vida real, ya sea una aplicación de Android simple, complementos, integraciones, nuevos marcos o bot. Aprende a trabajar en un proyecto de la vida real utilizando diferentes lenguajes y marcos siguiendo un proceso de software. Hay muchas nuevas tecnologías y marcos asombrosos disponibles y la gente está creando nuevas tecnologías y marcos diariamente.

  • Comunidad de código abierto: la comunidad de código abierto es tan grande y hay miles de proyectos disponibles en Github para contribuir y trabajar. Cuando comience a trabajar en proyectos de código abierto, aprenderá cómo funcionan las grandes organizaciones y cómo mantener un gran mecanismo de control de versiones de código base, Git y SVN, interactuará con el ingeniero y desarrollador de software de todo el mundo.

¿Y qué hay de los contras?

  • Se necesita mucho tiempo y esfuerzo, pero confía en mí, ¡esa sensación de crear un software o aplicación es increíble! Recientemente, mi amigo creó un bot para Slack que se integra con Moodle para mostrar todas sus próximas presentaciones. Me estaba contando cómo pasó los últimos diez días trabajando en esto y cómo se siente después de finalizar el producto.

¿Puede la programación competitiva ubicarte o conseguir una buena pasantía?

¡¡Absolutamente no!! (Suponiendo que no tienes contactos en las principales empresas, ¡aquellos que pueden recomendarte para las entrevistas!)

La parte más difícil para conseguir un trabajo es ser preseleccionado para las entrevistas. Las grandes empresas tecnológicas reciben miles de currículums para un solo puesto. Los reclutadores solo pueden hacer que te den cuenta haciendo CP si te desempeñas excepcionalmente bien (ACM-ICPC WFs, ganadores regionales, CodeJam y FB HackerCup top 50), pero aún tienes que pasar por esas 5-6 rondas de entrevistas y depende de muchos de otros factores también.

¿Qué debo hacer para ser preseleccionado para las entrevistas?

  • Un currículum muy bueno para que pueda ser preseleccionado para las entrevistas. Se puede construir un currículum muy completo haciendo algunos proyectos asombrosos. Algunos proyectos asombrosos requieren conocimiento de lenguajes de nueva generación como python, Go, dart, JS, php, etc. y otros http: / /frameworks.Para aprender estos idiomas tienes que dar tiempo y la mejor manera de aprender algo es hacerlo.
  • Una vez que haya sido seleccionado, también debe tener un buen conocimiento de los algoritmos y las estructuras de datos. Para aprender Algo y DS, debe leer y practicar en sitios web como Geeksforgeeks, CodeChef, TopCoder, LeetCode, CareerCup.
  • También necesitas habilidades de comunicación de nivel medio.

Conclusión

En conclusión, creo que ambos son muy buenos para el desarrollo personal. A través de la programación competitiva, estará bien versado en estructuras de datos y algoritmos y esto seguramente lo ayudará a descifrar entrevistas de trabajo. Si elige Open Source y elige el proyecto correcto, aprenderá a escribir un código mejor y más limpio (no necesariamente más rápido), eso es ampliamente aceptable. Aprenderá a organizar y documentar mejor su código, lo cual es una habilidad crítica. Obtendrá una experiencia significativa en su currículum, lo que conducirá a más entrevistas en buenas empresas, sea cual sea su experiencia o nivel educativo. Te sugiero que pruebes ambos, si solo estás haciendo CP apunta a ACM-ICPC, CodeJam y HackersCup y sigues haciéndolo si realmente te encanta.

Anudeep Nekkanti describe CP perfectamente:

“Veo que muchos indios están haciendo un gran esfuerzo en la programación competitiva (principalmente para ofertas de colocación) con resultados no tan buenos. Confía en mí, hazlo con total concentración durante un mes, para entonces sabrás exactamente si tienes que continuar en este campo o no. Si siente que no debe continuar, deténgalo, no se aferre a él esperando ofertas. Usa tu tiempo en otras cosas “.

Impresionante no?

Open Source es mejor profesionalmente, sin lugar a dudas.

  • Le presenta proyectos de software reales, con todas las partes aburridas e interesantes que conlleva.
  • Tienes la oportunidad de trabajar en algo que la gente está usando, obtener sus comentarios y producir funciones que luego se consumen para ayudarte a comprender el valor del trabajo.
  • Se le presenta el trabajo en equipo, con las técnicas y compromisos necesarios para coordinar las actividades de desarrollo de varias personas.

En resumen, te da experiencia haciendo lo que harás en una carrera. Y, el trabajo que haga será visible y auditable para cualquiera que esté pensando en contratarlo, lo cual es algo bueno.

Hacer programación competitiva es perfeccionar las técnicas que muy probablemente nunca usarás fuera de la programación competitiva. Puede ser divertido, pero no es un uso tan bueno de su tiempo, si su objetivo es ser más deseable para la industria.

Regla general: vaya a competiciones si es un adolescente y de código abierto si es un adulto.

Otra regla general: las competencias ayudan a aterrizar en un trabajo de ingeniero junior, el código abierto ayuda a aterrizar en un trabajo de ingeniero senior.

Actualización : La respuesta resultó ser controversial y provocativa, conversaciones interesantes en los comentarios.

Actualización 2 : Mi pensamiento no cambia cuando se trata de ser un buen programador, sin tener en cuenta el aspecto profesional.

Actualización 3 : Elaborado un poco, a partir de los comentarios. Gracias a Gayle por participar.

Hay diferentes grados de experiencia.

Los proyectos de código abierto no obtendrían competencia para responder preguntas sobre la complejidad de ordenar algoritmos o inserciones en alguna estructura de datos. La programación de competencias seguramente lo hará. Y estas son las habilidades que se prueban principalmente en entrevistas internas y de nivel de entrada.

Por otro lado, los proyectos de código abierto le enseñan a uno a pensar en grande, trabajar en equipo, crear buenos diseños e identificar cuellos de botella en el rendimiento. Estas habilidades son vitales para los niveles senior y uber-senior.

Creo que el enfoque es la clave. Un ingeniero de primer nivel sobresaliría en código abierto, incluso si no lo han hecho antes. Sin embargo, conozco a muchos ingenieros de alto nivel que nunca han hecho ninguna programación competitiva pero que conocen muy bien los fundamentos de la informática.

Visto a la luz de este enfoque, mi consejo para un nuevo graduado o un graduado nuevo es ingresar a la programación competitiva. Una semana o un mes en TopCoder / CodeForces / etc. aumentaría significativamente las habilidades fundamentales de CS y de codificación y aumentaría sus posibilidades de obtener una oferta de Google o Quora u otra compañía de clase mundial.

Por otro lado, mientras que una persona de nivel superior ciertamente se beneficiaría al resolver varios problemas de algoritmos, su CV y ​​su conjunto de habilidades, en mi humilde opinión, se verían mucho más fuertes y completos si, en cambio, pasan una o dos semanas codificando algunos presentarse como su propio proyecto de código abierto o como parte de uno existente y ampliamente utilizado.

http://www.quora.com/Career-wise-which-option-is-better-Open-source-contributions-or-competitive-programming/answer/Dima-Korolev/comment/3540694

Desde mi punto de vista como líder tecnológico y gerente de contratación, la respuesta es de código abierto.

Asumiendo que estamos hablando de personas que estudian Ciencias de la Computación en la Universidad, aprenderán los fundamentos en la escuela. La actividad adicional debería centrarse en aquellas cosas que la escuela no proporcionará, y que incluso pueden ser difíciles de obtener de pasantías y trabajos de nivel junior.

Lo que veo al entrevistar a graduados recientes es, en general, personas que saben cómo escribir programas, pero no saben cómo crear software. No están tan familiarizados con el diseño, la arquitectura, el trabajo en equipo, la calidad del software (es decir, las pruebas incluidas), la configuración, la administración de versiones, etc. Incluso a menudo faltan algunos fundamentos como la seguridad de subprocesos y el uso adecuado de estructuras de datos de biblioteca comunes. (Un nuevo graduado puede saber cómo escribir una implementación de tabla hash, pero no comprende que no puede almacenar objetos arbitrarios sin pensar en esa estructura. ¿Qué sucede si los objetos no son inmutables?)

Estas cosas vienen con experiencia y oportunidades para trabajar en grandes equipos, con excelentes productos en grandes empresas. No todas las experiencias laborales son de las que aprendemos muchas cosas buenas, por lo que complementar nuestra experiencia trabajando en proyectos de código abierto de alta calidad es una buena idea para todos los desarrolladores profesionales (o potenciales profesionales).

Hay otras cosas menos obvias que podemos aprender de los proyectos de código abierto. Uno que viene a la mente es “modismos”. Estos no son patrones de diseño, que la mayoría de las personas encontrarán en la escuela y en el trabajo, sino más bien “la forma en que las personas experimentadas hacen las cosas por convención”. Aprende esto al mirar el código de producción, y el código abierto le brinda una forma de navegar y aprender de muchas bases de código en muchos idiomas. También puede aprender qué no hacer al comparar el código en varios proyectos. ¿Qué cosas se hacen mejor en algunas bases de código que en otras? ¿Qué cosas parecen que necesitan mejorar? (Y tal vez ahí es donde puedes hacer algunas de tus primeras contribuciones).

Algunas personas pueden ir tan lejos como para decir que los algoritmos y las estructuras de datos, esas cosas descritas por los libros de texto sobre algoritmos o por problemas en los concursos de programación, no se usan mucho en el trabajo. En mi opinión, esto es en parte cierto, pero depende de en qué termines trabajando. Sin embargo, incluso si termina trabajando en un software que requiere algoritmos avanzados, lo más probable es que lo importante sea la selección de qué algoritmos usar (que de todos modos puede hacer alguien más mayor). Implementarlos es menos probable que sea el trabajo de cualquier persona porque este es el tipo de cosas para las que los equipos generalmente usan bibliotecas, o de lo contrario se pueden encontrar implementaciones de muestra y adaptarlas con un poco de investigación y ajustes. Ser un experto en algoritmos le servirá bien en biología computacional, entre otros campos, pero no en la mayoría de las áreas en las que generalmente trabajan los ingenieros de software. Piense en la importancia relativa de los algoritmos avanzados en el desarrollo de Twitter, LinkedIn o Facebook. Están allí, en algunos de los componentes, pero probablemente pueda ver que la mayor parte del trabajo se trata de otras cosas.

Finalmente, está el problema de los entrevistadores que hacen preguntas centradas en algoritmos. Esto es lamentablemente cierto. No es una filosofía a la que me suscribo, y no pregunto este tipo de cosas. No me va a decir nada útil sobre el solicitante. Pero dado que casi todos tendrán que lidiar con eso en algún momento, todo lo que puedo sugerir es sacar ese libro de texto de algoritmos y estudiarlo antes de una entrevista. Las preguntas que la gente hace son bastante similares, por lo que probablemente pueda superarlo con una pequeña preparación. Si la empresa tiene alguna pista, solo preguntarán este tipo de cosas de junior (a menos que sea realmente importante para el puesto). Las personas mayores habrán olvidado la mayor parte de lo que aprendieron en la escuela y, de todos modos, hay cosas más importantes para preguntarles.

En cuanto a la carrera, ¿qué opción es mejor, dado el tiempo limitado y la necesidad de elegir: contribuciones de código abierto o programación competitiva?

Personalmente, me inclinaría a seguir una programación competitiva si tuviera problemas de tiempo. ¿Por qué?


Las contribuciones de código abierto llevan tiempo. Por lo general, el proceso es el siguiente:

  1. Encuentre un proyecto de código abierto que valga la pena
  2. ¿Necesitas aprender un nuevo idioma ?
  3. Elige un error o característica
  4. Siga las prácticas de codificación del proyecto.
  5. Prueba de corrección
  6. Revisar con compañeros

La programación competitiva fortalece sus habilidades para resolver problemas. Se espera que los graduados de CS puedan resolver problemas complejos cuando surja la necesidad. Por lo tanto, se prueban mucho en temas como algoritmos y estructuras de datos.

Los concursos también son más fáciles de participar y motivados. Le dan resultados inmediatos, ya sean buenos o malos, y su rango actual le da un buen indicador de qué tan bien lo está haciendo.

El mayor beneficio de los concursos de programación es que insinúan dónde puedes mejorar a continuación. Por lo general, se necesita un buen ojo o un buen mentor para el mismo cuando se desarrollan proyectos.


Para mantener esta respuesta objetiva y equilibrada, permítanme decir esto:

No hay duda de que el desarrollo de proyectos es vital para una carrera exitosa a largo plazo en software. Cada uno de los seis puntos que mencioné sobre las contribuciones de código abierto es algo bueno . No puedes entrenar para ser ingeniero de software para siempre. Tienes que ser realmente uno. Entonces, incluso si tiene 6 meses, sugeriría trabajar duro en los proyectos. Preferentemente bajo la guía de maestros.

Sin embargo, si tiene poco tiempo y necesita ganancias máximas ahora, la programación competitiva tiende a ser una mejor opción.

Aquí hay un debate que tuve con Rachit Jain sobre el mismo tema. ¿Quién crees que ganó?

¡Salud!

Código abierto porque es un mejor predictor de éxito. Al igual que el código abierto, la mayoría de los proyectos comerciales involucran bases de códigos no triviales que evolucionan a lo largo de los años con la contribución de múltiples personas. La programación competitiva es un polo opuesto a eso.

La programación competitiva puede ayudarlo a ser competente y cómodo resolviendo problemas a pequeña escala del tipo que se le pide en las entrevistas, aunque casi nunca requieren más de lo que debe recordar de Introducción a las estructuras de programación y datos. Algunas partes pequeñas de grandes proyectos requieren ser “inteligentes” sobre algoritmos y estructuras de datos, aunque eso puede provenir de cualquier persona del grupo y no tiene que suceder el día (o año) en que comienza el desarrollo.

El código abierto cubre muchas más bases. Aprenderá acerca de la ingeniería de software: qué incluye los programas, cómo realizar cambios coherentes, cómo probarlos, cómo comunicarse con otros ingenieros. Tendrás experiencias positivas aplicando las mejores prácticas aceptadas en cosas como las pruebas unitarias. También aprenderá más formas de no hacer cosas.

Soy un estudiante de secundaria que contribuye a Mozilla en varios proyectos web.

Estoy muy cerca de algunos de los miembros del equipo. Me tratan como un empleado a tiempo completo y, a veces, incluso trabajan según mi horario.

Puedo trabajar cuando quiero porque no tengo un horario establecido, y en lugar de tener un ambiente estresante y cronometrado para aprender a codificar, puedo hacer preguntas y crecer a mi propio ritmo.

Me encanta contribuir, y saber que ayudé a construir un determinado producto y conocer a las personas me hace sentir muy bien conmigo mismo. Conozco personas en equipos, lo que significa que ya tengo contactos dentro de la empresa que pueden ayudarme a conseguir un trabajo.

Mi punto de vista es obviamente claro.

ACTUALIZAR:

Hace poco asistí a la Semana de Trabajo Mozilla All Hands que tuvo lugar en Portland. Fui invitado con otros 100 colaboradores principales y todos mis gastos de hotel, vuelo y comida fueron pagados.

Trabajé de cerca con todos los miembros del equipo, pude aportar mi opinión en muchas reuniones de planificación que tuvimos para mi departamento y me divertí mucho haciendo conexiones.

Pruebe ambos y vea cuál le gusta más. No eres realmente bueno en algo sin ser un apasionado de ello.

No pasé cientos de horas compitiendo y practicando para anotar un trabajo, sino porque me parece muy divertido. La emoción antes del partido, la intensidad de apagar todo lo demás y agotar su mente en un solo problema, emociona antes de presionar el botón “desafío” o la llegada de los resultados de la prueba. Los derechos de fanfarronear si obtienes una puntuación más alta que tus amigos.

Obtuve un trabajo increíble en parte gracias al topcoder. Pero ese fue un efecto secundario más que el objetivo.

¡Oye! Primero debe definir lo que quiere hacer. Y comparar la contribución de código abierto y la programación competitiva es como comparar gato con pavo real. Sin embargo, ambos son seres vivos pero pertenecen a especies diferentes.

Del mismo modo, el código abierto se trata de colaborar con desarrolladores de todo el mundo, mientras que la programación competitiva se centra principalmente en el principio algorítmico.

Perspectiva del operador:

Si eres de la India y tu objetivo es reclutadores masivos, entonces elige una programación competitiva. Además, firmas como Google, Microsoft y Amazon primero seleccionan a su candidato mediante programación competitiva.

Entonces, ¿por qué hay tanto entusiasmo por el código abierto?

El código abierto te da la libertad de colaborar con desarrolladores de todo el mundo. Puede contribuir al código fuente del kernel de Linux o cualquier proyecto importante como tensorflow, ReactJs, Rails, Celluloid, etc. Este es un proceso largo y doloroso, pero el resultado es fructífero.

Para ser honesto, siento que la programación competitiva es inútil en trabajos reales. Participé en las Olimpiadas de informática de la escuela secundaria, aprendiste a escribir códigos más rápido y aprendiste a aplicar rápidamente Estructura de datos y algoritmos para resolver problemas que ya tienen respuestas. Pero no tiene nada que ver con el desarrollo o la investigación de software del mundo real. Quizás el único beneficio es conocer mejor la Estructura de datos / algoritmo, pero siempre puede aprender esas cosas en la universidad, la escuela de posgrado o en línea.

En informática de alto rendimiento, los concursos de programación no son ampliamente conocidos y, por lo tanto, la gente no pondrá demasiado énfasis en su rendimiento en ellos. Por otro lado, mantener una biblioteca útil o un historial de contribuciones a un gran proyecto demuestra habilidades que están muy cerca de lo que te contratan para hacer.

Si estuviera contratando, diría ‘ninguno’.

Las contribuciones de código abierto son geniales y todo, pero como entrevistador, ¿cómo sé qué partes hiciste? Además, probablemente no me moleste en clonar el proyecto fuera de GitHub e intentar que se construya, simplemente no lo estoy.

La programación competitiva puede ser divertida para algunas personas, pero no parece estar relacionada con la programación del mundo real.

Diría que deberías escribir algo por tu cuenta, entonces simplemente puedes decir “hice esto”. Si puedes hacer algo por tu cuenta, demuestra un cierto nivel de habilidad.

Las contribuciones de código abierto ofrecen un alcance más amplio para desarrollar y demostrar sus capacidades como * ingeniero de software *, mientras que los concursos de programación muestran que puede resolver problemas con el código. Todavía puede ser un ingeniero pobre con prácticas de diseño descuidadas, poca comprensión de la importancia de las pruebas y cuándo y cómo hacerlo, poca comprensión de cómo trabajar con las partes interesadas y priorizar el trabajo. Las contribuciones de OSS pueden mostrarme todas esas cosas y qué tan bien codifica.

Si uno tiene el objetivo de ser un buen programador, ¿qué debería preferir: contribuir a proyectos de código abierto o resolver problemas algorítmicos en sitios web de codificación competitivos?

Depende de lo que quieras y de cómo te guste trabajar.

Si es emprendedor y bastante autoguiado, vaya a proyectos paralelos y proyectos de código abierto. Esto le dará una experiencia del mundo real de cómo se organizan, lanzan y mejoran los grandes proyectos.

Sin embargo, si le gusta trabajar en una situación de escasez de tiempo, de vez en cuando intercambiar código limpio por una solución ingeniosa e ingeniosa, elija una programación competitiva.

Tampoco lo haría solo por una carrera profesional. Contribuyo a proyectos de código abierto (y lanzo el mío) porque creo en ellos y me gustaría mejorarlos. Los proyectos de carrera son probablemente secundarios o terciarios.

Para mí, sería una cartera de sus propias aplicaciones de código abierto.

Nunca pregunto acerca de la programación competitiva, porque no tiene nada que ver con la programación comercial en un equipo.

Contribuir al código abierto es fantástico. Aprenderá mucho, y es una especie de cartera. El único inconveniente es que no puedo decir rápidamente qué partes son suyas.

La programación competitiva tiene efectos a largo plazo sobre cómo contribuye al trabajo. Escribí más sobre esto aquí: programación competitiva y negocios

La programación competitiva lo convierte en un buen solucionador de problemas.
Las contribuciones de código abierto lo ayudan a ser eficiente en el trabajo con bases de código grandes y a mejorar sus habilidades de depuración.
Creo que ambos son necesarios para una persona si quiere que le vaya bien en su carrera.

Tendría mucho más respeto por alguien que contribuyó a un proyecto de código abierto. Se alinea mucho mejor con la ingeniería del mundo real y refleja un mejor carácter: esta es una persona dispuesta a usar sus habilidades para un propósito superior.

More Interesting

¿Cuáles son los servicios exigentes con respecto a la ingeniería mecánica?

¿Un proyecto de trabajo ad hoc de Hadoop me ayudará a conseguir un trabajo como científico de datos?

¿Qué rama de ingeniería tiene la menor cantidad de asignaciones y presentaciones?

¿Las empresas contratan para más fresco con aws Solution Architect Certified Certified

Me quedan 8 meses para mi bono de dos años en L&T Infotech. ¿Puedo solicitar una transferencia o cambiar de compañía?

¿Qué tan importante puede ser un ingeniero eléctrico, apasionado por la programación, para el desarrollo de sitios web, algoritmos y programación?

¿Debo mencionar mis certificados de código de honor de EDX en mi currículum?

¿Qué empresa es mejor para una más fresca: Cognizant Technology Solutions o Temenos Group AG?

Mi supervisor quiere que me quede después de mi doctorado para un postdoc, ¿cuál es su consejo?

¿Cuán honesto debería ser uno al escribir una evaluación de desempeño para un colega?

¿Cuáles son los trabajos mejor pagados que no requieren una educación universitaria?

Soy de Malasia y quiero mudarme a Estados Unidos para encontrar un trabajo y vivir allí. ¿Es difícil el proceso de solicitud de ciudadanía estadounidense?

¿Puedo hacer un curso básico de ICSI mientras me gradúo?

¿Es 26 años una buena edad para tomar un título de contabilidad / finanzas?

Aquellos que están haciendo EM después de su BE / B.Tech y no están haciendo M.Tech, ¿están evitando GATE y su estudio riguroso?