Cómo elegir un lenguaje de programación para aprender hoy y conseguir un excelente trabajo en 2 años

  • Michael Cain
  • 0
  • 1873
  • 213
Anuncio

La codificación no es fácil; o al menos, aprender a codificar no lo es, especialmente cuando se comienza desde cero. Puede llevar años de trabajo dedicado convertirse en un programador verdaderamente bueno; Entonces, ¿hay una manera de elegir el idioma correcto para comenzar hoy, para ser contratado en un par de años??

Para averiguarlo, llevé esta pregunta a nuestro panel de expertos residentes: si bien todos escribimos, varios de nosotros también tenemos experiencia en codificación. Lo que siguió fue una discusión interesante que querrías leer antes de embarcarte en tu viaje para convertirte en un programador profesional..

Un método para la locura?

Esta no es la primera vez que hablamos de elegir un lenguaje de programación: en 2011, discutimos qué lenguaje de programación debería aprender para el desarrollo de software. ¿Qué lenguaje de programación debe aprender para el desarrollo de software? ¿Qué lenguaje de programación debe aprender para el desarrollo de software? Al comenzar el camino de la programación, es importante que invierta su tiempo sabiamente para elegir aprender algo que lo beneficie en el futuro inmediato con resultados visibles en su plataforma de ..., así como cuál debe aprender para la programación web. Lenguaje de programación para aprender: programación web Qué lenguaje de programación para aprender: programación web Hoy vamos a echar un vistazo a los diversos lenguajes de programación web que alimentan Internet. Esta es la cuarta parte de una serie de programación para principiantes. En la parte 1, aprendimos lo básico de ... .

Pero esto no se trata de un consejo (como “ir con JavaScript”) pero una metodología, algo que la gente podría usar en dos años a partir de hoy, teóricamente. ¿Cómo saber qué idiomas están en aumento? ¿Qué métricas de popularidad de código confiar y cuáles desconfiar (y por qué)? ¿Cuáles son los mejores sitios web de proyección salarial? ¿Es GitHub una indicación o no??

Por ejemplo, en la actualidad no encontrará a nadie entusiasmado con PHP, pero muchos, muchos desarrolladores se están ganando la vida codificando PHP, y sigue siendo la mayor parte de lo que se ejecuta en la Web. Entonces, ¿aprender PHP ahora es una mala idea? (Probablemente ...)

No hay un idioma

Aquí es donde James, nuestro desarrollador web y técnico residente, intervino para decir esto:

Los programadores generalmente no aprenden un solo idioma de todos modos. Cualquiera que vaya a la ruta clásica de CompSci terminará con una gran cantidad de Java, un poco de Haskell, algunos Prolog si toman un curso de IA, algunos Nodo si toman un curso de ingeniería de inicio, algunos PHP si aprenden tradicional CMS, algunos .NET si realizan pasantías en alguna oficina corporativa sin valor, algunos JavaScript si hacen diseño web, algunos C ++ si hacen diseño de juegos y, finalmente, algunos Ruby si desean desperdiciar su vida con lenguajes oscuros que nadie en realidad usa.

No hay “metodología”??, y no eliges un idioma para aprender: te elige!

Aprender un idioma es como comer solo digestivos durante un año cuando hay un pasillo entero de galletas. Y en serio, ¿quién elige los trabajos de acuerdo con el salario proyectado??

Pero, ¿y si no aprendes CompSci??

Le respondí a James, diciendo:

Aquí está la cosa: esto no es para alguien que toma la ruta clásica de CompSci. A juzgar por la explosión de MOOC y la cantidad de cursos de programación en línea, muchas personas están aprendiendo a programar desde cero. Y cuando comienzas así, necesitas un idioma para comenzar. Tal vez te alejes de él más adelante, pero ese primer idioma será una inversión crítica de tiempo y esfuerzo, por lo que será mejor que valga la pena..

Lo que más resonó conmigo es ese último poquito que dijo - quien elige trabajos de acuerdo al salario proyectado. Creo que algunas personas lo hacen, pero también creo que esa no es una excelente manera de hacerlo.

Cuando se trata de eso, la gente son tratar de averiguar con qué idioma comenzar, y el uso que el idioma adquiere en el mundo real tiene peso en esa decisión (no solo lo fácil que es aprender: Pascal ...).

Elija un proyecto primero, luego un idioma

James volvió con esto:

Bien, quizás uno de los puntos de esta metodología debería ser: no tener una metodología. Cuando encontré PHP por primera vez, fue a través de WordPress. Tenía experiencia en programación de CompSci y algo de experiencia en diseño web, pero nunca antes había visto PHP. Lo aprendí porque WordPress parecía bastante fácil y quería jugar con WordPress. No porque haya mirado una lista de tecnologías de tendencia, o esté considerando un cambio de carrera, sino porque algo genial que quería saber sobre lo usó.

Si alguien buscara aprender programación puramente para un trabajo, fallaría. Si estuvieran buscando solo porque les gusta el sonido de aprender a programar algo, no importaría el idioma que elijan, siempre que pueda despertar su pasión..

Otra razón para elegir un proyecto primero

Aquí es cuando Simon intervino con algunos consejos pragmáticos:

En primer lugar, depende de si desea desarrollar para la Web o “estándar” software.

Para este último, Java es bastante bueno:

  • OO simple
  • Multiplataforma (Linux, Windows, Mac, Android)
  • Sintaxis similar a muchos otros lenguajes de programación (JS, C #).

No puedo decir mucho sobre el desarrollo web, aunque HTML / JS / CSS / PHP / MySQL parece funcionar para mucha gente. Python también.

Pero si, el “para hacerte un gran trabajo en 2 años” Me molesta un poco también. Destaca el aspecto equivocado de aprender a programar. Una vez que puede programar, es bastante fácil familiarizarse con otro idioma.

Ser contratado por conocer un idioma específico es similar a ser contratado como PA por saber cómo manejar MS Excel. Si esa es la calificación principal, probablemente será un mal trabajo.

No aprenda un idioma: aprenda diseño de software

Un consenso comenzaba a formarse. Bruce Epper, de la fama de MakeUseOf Answers, dijo esto:

El lenguaje en sí realmente no importa. Cuando se trata de programar trabajos, los aspectos más importantes tienden a comprender el diseño y la arquitectura básica del software, el proceso de codificación en general, conocer los patrones de diseño, saber cuándo usarlos y cómo aplicar un patrón específico a la tarea en cuestión. todos los cuales son independientes del idioma. Una vez que un codificador sabe esto, aprender un idioma completamente nuevo es muy sencillo..

Incluso hay habilidades de gestión de proyectos, documentación y escritura que son más importantes para un programador que saber un idioma específico.

La base sobre la que estás construyendo importa: inglés o latín?

Esto fue cuando Guy intervino para recordarnos a todos que el lenguaje hace importa, hasta cierto punto:

El lenguaje en sí no es lo más importante para conseguir un trabajo, estoy de acuerdo. Sin embargo, la base sobre la que está construyendo lo hace. Como he hecho ambas rutas, voy a comparar lenguajes de programación con lenguajes humanos..

Python parece ser el inglés de hoy. Cada vez más, veo que Intro CompSci y los cursos de programación comienzan con Python en lugar de Java, que parece ser el más popular durante aproximadamente 10 años. Puedes hacer mucho de lo que quieres hacer con Python.

C ++ es el latín del mundo de la programación. Si lo aprende, puede aprender los principios subyacentes de una multitud de idiomas y aprenderlos más fácilmente. Python sería un juego de niños si estás bien fundado en C++.

Qué es un “Trabajo de programación,” De todas formas?

Era el turno de Matthew ahora, para recordarnos a todos que ser un codificador puede significar cosas muy diferentes para diferentes personas:

Una cosa de la que no se ha hablado en gran medida es qué tipo de trabajo de programación desearía.

¿No estás demasiado preocupado por los beneficios que se les dan a los empleados de Startup? ¿Quiere estabilidad y un paquete salarial decente, pero sin equidad? ¿Te gusta usar ropa formal de negocios? Aprenda C #, Java o COBOL. COBOL también tiene la ventaja de tener todas las aplicaciones bancarias concebidas (hipérbole, pero se entiende la idea) que se han escrito en él. Con la mayoría de los desarrolladores de COBOL ya sea jubilados o muertos, ¡hay mucha demanda de desarrolladores de COBOL con algunos que ganan salarios de seis cifras! Sin embargo, trabajará en enormes bases de código mal escritas creadas durante varias décadas. Eso no es divertido.

Pero, ¿y si la seguridad laboral no es lo tuyo? ¿Quiere trabajar en productos interesantes, pero está dispuesto a perder el empleo cuando el modelo de negocio no funciona? Descubrí que continuar (Hacker News) es una forma segura de descubrir los idiomas que utilizan las startups. Cuando hice una pasantía en un trabajo temprano, usamos una combinación de Go, Python y CoffeeScript. Otras startups usan Rails y Groovy y todo tipo de frameworks e idiomas oscuros. Solo elige uno y encontrarás un trabajo interesante en alguna parte.

Código nuevo o antiguo?

Escribir código nuevo es una experiencia muy diferente de mantener una aplicación existente, como Bruce agregó:

Con sus comentarios sobre COBOL, tiene otra consideración: ¿desea trabajar en un nuevo código o mantener el código de otra persona? Esto puede ser un gran elemento al decidir qué dirección mover. Para proyectos más pequeños, mantener una base de código escrita por otra persona puede no ser tan malo, pero he visto algunas secciones de código donde hay varias personas mirándolo durante horas preguntando, “En qué estaba pensando este chico?”, o donde el programador original estaba aprovechando una característica o error específico en el compilador (que puede haber sido arreglado en el compilador actual) para lograr algo.

¿Qué pasa si no tienes otra opción??

Guy regresó para recordarnos a todos que no todos tienen una amplia gama de opciones:

Matthew plantea una buena pregunta con, “¿Qué tipo de trabajo de programación quieres??

Curiosamente, nunca pensé que tendría muchas opciones en el asunto. Sabía que quería hacer desarrollo web cuando comencé, habiendo hecho otra programación de forma recreativa. Pero pensé que sería mejor estar preparado para tomar cualquier trabajo que pudiera conseguir y estar dispuesto a aprender sobre la marcha. Ahora soy un experto en todos los oficios, experto en varias tecnologías, maestro de ninguno.

En cuanto a averiguar dónde quiere trabajar, es importante determinar el tipo de estilo de vida que desea. Luego mire las publicaciones de aquellas empresas que parecen cumplir con sus criterios y vea lo que están buscando en general. Reunir una cartera de cosas similares a lo que hacen también puede ser muy útil, especialmente si no tiene capacitación formal en las tecnologías que utilizan. Quizás aprendiste Java en la escuela, pero usan C #. Entonces te enseñas C # y haces algunos programas con él como prueba de que sabes lo que estás haciendo y que tienes inteligencia fluida.

No hay una respuesta simple

Si hay algo que muestra esta discusión, es que las preguntas simples no siempre tienen respuestas simples. Y, sin embargo, después de leer las opiniones de todos, me sentí mucho más informado: cambiaron de opinión.

Estoy seguro de que no capturamos todos los puntos de vista posibles aquí; para eso está la sección de comentarios. Me interesaría mucho escuchar su opinión sobre esta pregunta, ya sea que sea un programador profesional o no. ¿Cómo elegirías un lenguaje de programación para conseguir un buen trabajo en dos años? ¿Es esa una buena forma de elegir un idioma? Comparte tus pensamientos a continuación.




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.