Como programador autodidacta de 24 años, ¿debo comenzar con la programación competitiva o el desarrollo web?

No conozco a nadie que haga o piense que la programación competitiva es una cosa, eso no significa que no lo sea, solo que podría no ser muy apreciada.

Si contratara a un desarrollador que se jactaba de la programación competitiva, llamaría NEXT y le daría un pase.

Lo que pasa aquí abajo es solo mi idea de esto.

La programación competitiva es probablemente bastante divertida pero completamente inútil en el mundo real. En el mundo real, debe desplazar las reuniones, debe escribir el código a las pautas, debe usar patrones bien conocidos y aceptados, su código debe ser legible para otras personas, incluso una sola declaración de devolución que haga 20 cosas está seriamente mal vista.

Tengo más de 40 años, soy un programador autodidacta, la mayoría de nosotros somos, a pesar de que algunos de nosotros fuimos a la escuela, solo aprendes ciertas cosas básicas en la escuela, nadie de mi edad nunca hizo un desarrollo asíncrono, solo un puñado hizo varios núcleos ( fue llamado multi cpu en ese entonces). Así que debes estar alerta durante toda tu carrera.

Si está interesado en la programación competitiva, participe por todos los medios, tenga en cuenta que esto no es una habilidad laboral, es como jugar juegos de computadora. No dudo ni por un segundo que algunas de estas personas pueden conseguir que Red Bull y otros los patrocinen, los teclados y placas base de Republic of Gamers. Pero esto no es una carrera. Esto es divertido.

Y no se convierta en desarrollador web, desarrollador front-end, desarrollador back-end. Conviértete en desarrollador, aprende a programar. Aprenda qué hace un backend, por qué es un backend como es, cómo funciona el front-end y otras preguntas. Al final del día, es solo programación. Las herramientas, los trucos, los marcos, están tomando datos, los masajean y devuelven algunos resultados.

Si su objetivo es convertirse en desarrollador profesional trabajando en una empresa y ganando dinero, opte por el desarrollo web. ¿Quién va a pagar por su programación competitiva? Pero aún puede hacerlo en el tiempo libre si realmente lo desea.

Por cierto, si desea un mejor trabajo “a prueba de futuro” y de mayor salario, debe considerar el desarrollo de aplicaciones de IoT y / o autos sin conductor. O lo que se llama AI: aprendizaje automático, aprendizaje profundo y similares. Hay buenos cursos en línea sobre estos temas en Udacity y Coursera.

Desarrollo web pero no todo.
Comience con un lenguaje de programación moderno y usado, las opciones populares son Ruby, Python y JavaScript.

Haga un poco de front-end, durante uno o dos meses, para acostumbrarse a HTML y CSS.
Después de eso, enfóquese únicamente en el desarrollo de back-end, cree blogs, portafolios, reconstruya un sitio web que le guste, todo lo que cree que podría darle experiencia.

Domina los conceptos básicos del lenguaje de programación que elijas y comienza a buscar un puesto junior que lo use.

Java también es una buena opción, es muy popular, pero podría ser un poco más difícil de aprender que las que ya he sugerido.

No se detenga solo en el desarrollo web, concéntrese más en el software que en el elemento web. Contribuya a los proyectos de código abierto de GitHub, escriba publicaciones de blog, asista a conferencias, conozca gente y hágase amigo de programadores mayores … ellos lo ayudarán mucho.

Buena suerte padawan.

PD: Si está interesado en aprender más sobre Python, o sus marcos web, tengo algunos recursos en mi sitio web http://www.pauldev.eu

Programación competitiva? Esa no es la actitud de la mayoría de los programadores.

La mayoría de los programadores se benefician unos de otros. Alejarse de este modelo es realmente debilitar por qué programamos cosas para empezar.

La programación se trata de hacer que las cosas sucedan, construir cosas de la nada o mejorarlas. Por lo general, nos gusta ganar mucho dinero mientras nos divertimos haciendo lo que hacemos, aunque a veces eso realmente no sucede de esa manera.

Depende de por qué estás en eso. Si aprende a programar para obtener ganancias materiales o para encontrar un trabajo o aprende una habilidad útil para usted, el desarrollo web sería una mejor opción.

Si buscas desafíos, competencia y pruebas de tus conocimientos y habilidades, entonces probablemente la programación competitiva sea para ti, pero no aprenderás muchas habilidades que se usan en un lugar de trabajo.

Nunca he visto el punto en la programación competitiva, por lo que si fuera yo iría al desarrollo web u otra cosa que brinde oportunidades de trabajo reales.

a2a

Ninguno.

Comience escribiendo los programas que desea que existan.

Hazlo, y lo harás bien, y aprenderás mucho.

Creo que deberías optar por una programación competitiva

More Interesting

¿Existe un algoritmo de clasificación que pueda ordenar los n números dados en O (1) donde n> 2?

¿Cuál es la intuición de los algoritmos de Prim y el algoritmo de Kruskal?

¿Vale la pena tomar el curso en línea de comercio algorítmico en Quantinsti?

Mientras codifica problemas algorítmicos durante una entrevista usando C, ¿está bien asumir funciones de biblioteca?

¿Podemos hacerlo mejor en complejidad de tiempo que el siguiente código para calcular la suma de los primeros 10 primos?

¿Cómo se resolvería el problema lingüístico 'Summer Eyes', de NACLO 2009?

En programación, ¿un generador de números aleatorios es realmente aleatorio? ¿O son los números aleatorios generados por un algoritmo oculto?

¿Qué es un algoritmo para el reemplazo de página (memoria virtual) LRU y FIFO?

Me acabo de unir a TopCoder porque quiero aprender las estructuras de datos y cómo codificarlas en C, pero no tengo idea de dónde comenzar en TopCoder ya que puedo ver 3 categorías en el sitio, pero no pude encontrar la forma correcta. ¿Qué debo hacer para comenzar?

¿Alguien puede enviar el código para la búsqueda binaria en cadenas con clasificación en C ++?

¿Cuáles son algunos de los mejores libros sobre Estructura de datos y Algoritmo en Java para principiantes?

¿Cuál es la mejor manera de comprender y dominar la estructura de datos?

¿Por qué los desarrolladores front-end necesitan conocer estructuras de datos y algoritmos?

¿Qué tipo de algoritmos usa Android para mezclar tu música?

¿Siempre es bueno tener una solución recursiva que una solución iterativa?