Me gusta la programación y la informática, pero no me gusta la programación competitiva. ¿Qué tengo que hacer?

A menos que venga de una universidad desconocida en un país del Este del Bloque, o Asia, a nadie le importa la programación competitiva.

Si su universidad está acreditada por ABET en su título de CS, eso es lo suficientemente bueno.

De lo contrario, espere tener que demostrar su valía ante un empleador; Algunos métodos son:

  • Un buen historial en programación competitiva
  • Una buena cartera de trabajo; Linux es lo mejor para la mayoría de las empresas, en lugar de un montón de pequeños proyectos de vanidad en GitHub con los que nadie más se compromete, porque no son interesantes
  • Pasantías que ha tenido y cartas de recomendación que le han escrito
  • Empleo real anterior

Pero no, no tiene que ser un programador competitivo, y en muchas empresas, no tendrá mucho peso: en la programación competitiva, la velocidad cuenta, más que la mantenibilidad, el uso de algoritmos apropiados, la capacidad de comentar de manera clara y concisa , y todas las otras cosas que importan en un trabajo del mundo real.

De hecho, la velocidad de producción de código es prácticamente lo único que cuenta en la programación competitiva.

¿Estamos realmente viviendo en un mundo donde los estudiantes universitarios están equiparando la programación competitiva con la informática ?

¿Dónde ayuda la programación competitiva?

  1. Conseguir las entrevistas . Un buen rango en TopCoder o competiciones como Google APAC, Google Code Jam, Facebook Hacker Cup, etc., lo lleva automáticamente a través de la puerta.
  2. Pasando las entrevistas . Esto es obvio. Estás programando mucho. Especialmente en un entorno sensible al tiempo. Además, es posible que ya haya encontrado muchas de las preguntas de la entrevista.

¿Más allá de esto? En tu vida cotidiana?

La programación competitiva no será de mucha ayuda.

Escribir código inmanejable , ilegible , no comprobable e indocumentado no es ingeniería de software. No sobrevivirá en un trabajo si sigue los mismos principios de programación competitiva.


¿No quieres hacer programación competitiva? No tienes que hacerlo

Es tan simple como eso.

¡Buena suerte!

Buenas noticias: la programación competitiva no es realmente como la programación por la que la gente paga dinero. Quiero decir que es porque ambos son programación, y dado que las personas que pagan tienden a pagarle por unidad de tiempo, les gustaría hacerlo más rápido (como la programación competitiva).

Sin embargo, a diferencia de la programación competitiva, el mantenimiento y la flexibilidad son importantes, y pedir ayuda a los compañeros de trabajo está permitido y, por lo general, se recomienda.

Entonces, si no te gusta la programación competitiva, simplemente no hagas nada.

Bien y sigue tu rastro. Siento empatía con usted porque también comparto muchas de sus pasiones por construir cosas y adaptarse a nuevas características; pero no disfruto mucho de la programación competitiva que no sea cuando estoy realmente aburrida y no tengo trabajo que hacer (lo cual es raro ya que me gusta construir cosas que requieren tiempo, energía, esfuerzos y dinero).

La programación competitiva no es informática. Piense en la programación competitiva como una carrera de autos de Fórmula Uno donde los mejores y más rápidos pilotos compiten y alguien gana. Aparte de la pista de carreras, la parada en boxes y el objetivo, realmente no te importa nada más.

Pero la verdadera ingeniería de software es como conducir una cabina de pasajeros normal o un automóvil. Debe seguir las normas de tránsito, cuidar a los demás en el camino, mantener contento a su cliente (incluso si eso significa tomar un recorrido por una ruta más larga) y, por supuesto, mantener su automóvil usted mismo. No hace falta decir que no correría con un automóvil de pasajeros y que no conduciría un automóvil de carrera hasta el supermercado más cercano todos los días en el tráfico de la hora pico.

La ingeniería de software es más que computadoras y código: está destinada a automatizar o resolver un problema que existe en el mundo real. En última instancia, lo que importa es lo que construyes y cómo has ayudado a resolver un problema tan real. No tiene sentido inventar complicados algoritmos súper optimizados o técnicas de programación que realmente no aborden un problema práctico.

Espero que esto ayude.

La programación general en comparación con la programación competitiva es muy diferente

Para la imagen de fondo, soy una de esas personas de programación competitiva, pero me inclino más a construir cosas más que a cosas de algoritmos competitivos. El mundo de la programación competitiva y la programación general es muy diferente.

Y las habilidades en Programación competitiva no son esenciales para que usted pueda construir cosas en la programación general. Hay muchas personas allí que tienen experiencia en matemáticas, psíquica y astronomía, no tienen problemas para ingresar a la programación competitiva porque aparentemente el pensamiento matemático y lógico es lo único que se necesita en lugar de construir aplicaciones e integrar marcos juntos.

Ahí tienes, si no te gusta, no lo hagas.

Simplemente no hagas eso … crea programas reales, aprende robótica / IA y contribuye a grandes proyectos de código abierto.

Pero…

Si desea que los reclutadores lo noten, debe asistir a algunas competencias de programación.

No necesitas practicar como loco para apuntar a la final. Pero si eres realmente bueno en programación y ciencias de la computación, y eres decente en matemáticas, estructura de datos y algoritmos, puedes obtener camisetas gratis y algo digno de poner en tu currículum con menos de una semana de práctica.

“Me gusta construir cosas. Y luego adaptarlo a las nuevas características. Hago un muy buen trabajo tomando una descripción de un gran sistema y lo que debería hacer, y visualizando cómo se vería la estructura del código ”

En la industria, debe ser capaz de definir todos los requisitos e interacciones, escribir código legible y mantenible, y documentarlo todo como un profesional. La programación competitiva requiere que seas un ninja: llegar, cortar, partir. La ingeniería de software profesional requiere que seas más como un general del ejército: metódico, minucioso y adaptable.

Lo que ha descrito es bastante más amigable con la industria que piratear soluciones para escenarios específicos. La programación competitiva es una carrera para resolver problemas muy específicos, y puede usar cualquier medio en un lenguaje de programación para borrar todos los casos de prueba.

Entonces haz lo que quieras. Programación. Programación. Incluso si la programación competitiva puede aprovechar sus habilidades de programación, de ninguna manera es la única manera de mejorar en la programación.

Una especialización en informática te enseñará a programar. Practicas. Mejórate.

Hablando como alguien que ha estado haciendo desarrollo de software profesional en Seattle y Silicon Valley durante décadas y ha realizado cientos de entrevistas de contratación, la programación competitiva es negativa, no positiva, en un currículum.

No creo que la programación competitiva agregue ningún valor técnico. Si se enfatizara en un currículum, me indicaría que el carácter y el temperamento del candidato no eran adecuados. Miraría mucho y miraría dos veces a cualquier candidato que pasara mucho tiempo en la programación competitiva antes de votar para contratarlos.

Simple: si le preguntan sobre programación competitiva, simplemente diga “no, gracias”.

Soy el entrenador del equipo de programación competitiva de mi universidad y no conozco ningún lugar que requiera que participes en la programación competitiva.

Al igual que las otras respuestas, diría que simplemente no lo hagas.

Sin embargo, me gustaría ampliar la respuesta y decir que en realidad es algo realmente bueno y te pone en ventaja …

¿Por qué? Porque no te distraerás con el ‘codificador’ Red Top ‘ganador’, o con el ‘Golden Neckbeard’ o lo que sea.

Honestamente, es una buena noticia que no te guste, te dará tiempo libre para hacer cosas más útiles.

More Interesting

¿Por qué es mejor trabajar como ingeniero de software en los Estados Unidos en comparación con la India?

¿Qué es más inteligente: probadores de software o ingenieros de software?

¿Cuál es el trabajo de un ingeniero de software en una industria de TI?

¿Cuál es el plan de estudios y la secuencia de preparación para los trabajos de software (actualmente haciendo B.Tech desde IIT)?

¿A dónde te puede llevar un ingeniero de software?

¿Cuál es la mejor manera de solicitar un trabajo SDE en los 4 primeros (Microsoft, Google, Apple, Amazon)?

¿Tengo la oportunidad de conseguir un trabajo como ingeniero o desarrollador de software o incluso como programador?

¿Cuál es el punto de trabajar duro en AKTU, cuando ni siquiera puedes conseguir un trabajo decente después de completar B.Tech en 4 años?

En los Estados Unidos, ¿cuánto gana un ingeniero de software trabajando para una startup tecnológica?

¿Cada persona que posee una Mac también compra cualquier otro software?

¿Cómo lidian los ingenieros de software con una mala valoración y acoso al jefe? ¿Cuándo puede una mala valoración realmente te despide?

¿Cuál es la condición de un ingeniero de software no IITiano?

Cuando los ingenieros de software hablan de 'migrar' algo, ¿a qué se refieren típicamente?

¿Quién ganará más dinero a largo plazo, un cirujano ortopédico, un neurocirujano, un ingeniero de software o un quant?

¿Cuáles son algunas habilidades comunes requeridas para un ingeniero informático / de software?