Me acabo de graduar de la universidad con un título en CS, por lo que me gustaría encontrar un trabajo donde pueda aprender más sobre el campo y acumular experiencia profesional.
Me entrevisté en una compañía que usa su propio lenguaje de programación interno, y no creo que otros lo usen. No han mencionado el uso de ningún otro idioma o lo que usan para un entorno de desarrollo.
¿Qué debería preocuparme al tomar un trabajo como este? Si tuviera que cambiar de trabajo más tarde, ¿tendría que comenzar a buscar puestos de nivel de entrada nuevamente porque no he adquirido ninguna experiencia específica de idioma?
programming-languages
skills
AlexMA
fuente
fuente
Respuestas:
Los principales inconvenientes:
Si fuera yo, les preguntaría por qué usan un lenguaje interno. Si es por una razón legítima, como las contracciones de hardware locas, un dominio que no se modela fácilmente en ninguno de los idiomas existentes, entonces esto está muy bien. Por otro lado, si su respuesta sugiere que crearon su propio idioma para poder juntar un montón de hacks y lógica de negocios en lo que equivale a un montón de macros extravagantes, entonces esta es una gran bandera roja. Debes asegurarte de que utilizan buenos principios de ingeniería, para que puedas aprender de ellos y tener éxito con ellos.En este caso, puede ver si pueden justificar racionalmente el uso de un idioma propio que no tenga una base de conocimiento comunitario y soporte externo. Puede descubrir que su decisión es perfectamente racional (creo que Facebook creó su propia versión de PHP para hacer frente a la escalabilidad, que les ha ido bastante bien), o puede encontrar que han creado una monstruosidad de un lenguaje que ha sido tan estrechamente acoplados con sus sistemas centrales, que parecen no poder separarse de él. Confíe en mí, no desea trabajar en un idioma cuyo tipo de datos principal se llama ImARInObj (Objeto de factura de cuentas por cobrar inmutables). El acoplamiento estrecho entre un idioma y una necesidad comercial a menudo ocurre en este tipo de situaciones, y sería una pesadilla absoluta lidiar con ese tipo de sistema todos los días.
fuente
Huir y huir rápidamente. A menos que esté desesperado por un trabajo y tenga mucha hambre, esta es una situación de la que desea mantenerse alejado.
Tengo experiencia con una empresa que hizo esto, y la única razón por la que lo hicieron fue para que sus empleados no obtuvieran una experiencia significativa y transferible . Realmente se trataba de control.
Otros que dijeron aquí que "programar es programar" tienen razón, pero yo diría eso y pregunto, ¿por qué no usar un lenguaje estándar para el cual hay soporte externo, bibliotecas, foros y un grupo de programadores disponibles para elegir? ¿desde?
La única vez que creo que tal situación estaría bien sería si el lenguaje exclusivo de la empresa fuera para hardware personalizado. Por ejemplo, debe escribir todo para el interferómetro de rayos gamma 9000X utilizando un código de ensamblaje / máquina específico para esa máquina.
fuente
Dado que su currículum está básicamente en blanco después de graduarse, su primer trabajo le da un gran impulso a su futura carrera profesional. Su próximo potencial empleador (s) estará poniendo mucho peso en este trabajo. Por lo tanto, a menos que también esté programando en otros lenguajes (más comercializables), recomendaría encarecidamente no tomar este trabajo.
Digo esto por experiencia porque acabo de dejar el primer trabajo que tuve después de graduarme con mi título de CS, donde estaba en una posición casi exactamente como usted describe. La mayor parte de la programación se realizó en un lenguaje básicamente desconocido llamado Progress (también conocido como OpenEdge ABL). Es horrible. No es tan malo como COBOL, pero está cerca. Estaba atrapado allí porque el área alrededor de donde me gradué no tiene muchos trabajos de programación, y estaba esperando que mi esposa se graduara con su título antes de mudarse.
Hacer que ese idioma hablara con otros idiomas o bases de datos era casi imposible (también estaba bloqueado con su propia base de datos propietaria, ¡una bonificación!). Pasé mucho tiempo escribiendo frameworks por mi cuenta que ya existían en otros idiomas, y probablemente ya estaban mejor implementados ya que el lenguaje no soportaba muy bien este tipo de paradigma de "extensión". El lenguaje se adaptó más a un "contacto Progress Corp. con una solicitud de función, y espere hasta la versión n + 1 para el enfoque de la nueva función". No es necesario decir que la industria del software no se mueve lo suficientemente lento como para que este sea un enfoque viable. No continuaré sobre lo malo que fue, pero supongo que enfrentarás algo similar si también estás lidiando con un lenguaje propietario.
Para agregar a eso, la base de código existente era, digamos, subóptima. Gran cantidad de código heredado que data de finales de los 80 y principios de los 90. Apuesto a que debería esperar algo similar, ya que creo que la mayoría de las empresas solo se adhieren a los lenguajes patentados porque llevan una gran cantidad de este equipaje heredado con ellos. Recuerde, probablemente sea difícil para un empleador encontrar programadores dispuestos a codificar en este entorno heredado / propietario, además de que probablemente también tengan que pagar por la capacitación ya que nadie ha oído hablar de ella. Sus compañeros de trabajo probablemente tampoco serán titanes de la ingeniería de software, debido al efecto del Mar Muerto.(Alguien con talento probablemente ya se fue). Tuve muchos problemas en las revisiones de código tratando de usar código orientado a objetos, y mucho menos cualquier tipo de patrones de diseño, ya que simplemente no lo entendían (las personas de mi equipo tenían, en el mejor de los casos, un título de MIS (sin ofender) )).
Finalmente, suponiendo que tomas este trabajo pero anhelas hacer algo mejor una vez que te vayas, para hacerte competitivo para tu próximo trabajo tienes que sacrificar una gran parte de tu tiempo libre fuera del trabajo creando juguetes frágiles en idiomas más comercializables (y probablemente de código abierto la mayor parte de lo que haces), o haz lo que hice y ahorra algo de dinero antes de dejar de fumar y pasar un mes o dos haciendo lo mismo. De cualquier manera, esto es algo muy estresante, especialmente si disfrutas tener algún tipo de relación social fuera del trabajo o pasas tu tiempo libre haciendo algo que no está codificando de vez en cuando.
Ahora, mis experiencias pueden no corresponder directamente a su elección, pero estoy seguro de que algunas de ellas se aplicarán. Afortunadamente, al menos le dará algunas preguntas para plantear. Como otros han mencionado, probablemente desee saber qué herramientas usan (hardware, entorno de desarrollo de software / IDE y, definitivamente, control de versiones). La prueba de Joel podría ser una guía útil.
TL; DR
No lo hagas
PD Para aquellos que dicen que aprender cualquier idioma nuevo es útil, eso en sí mismo es cierto. El problema es cuando te quedas atascado usando ese idioma casi exclusivamente a tiempo completo durante un largo período de tiempo, perdiendo la exposición a lenguajes (y técnicas) más útiles. Eso es lo que quieres evitar.
fuente
La desventaja obvia es que no podrá agregar este trabajo al requisito de "5+ experiencia usando el lenguaje x" que tendrán los trabajos futuros a los que querrá postularse. Esto puede ser más molesto de lo que piensas (hablando como alguien que ha tenido muchos años de experiencia, pero una amplia gama de lenguajes de programación). Tengo experiencia profesional con VBA que bien podría haber sido experiencia con LOLCODE, según los trabajos que busco hoy.
Pero, ¿usan ese lenguaje exclusivamente? Es raro que una empresa solo use un idioma. Incluso mi tiempo con VBA incluía ASP, Java y PostgreSQL.
fuente
Tiendo a estar de acuerdo con el mantra, " programar es programar ", independientemente del lenguaje en el que hayas estado trabajando. Gran parte de la programación es aprender a pensar y el resto es solo sintaxis. Un posible empleador futuro estará más impresionado por " Logré X con la Compañía Y " que por " He conocido el lenguaje X durante Y años ".
El último trabajo que tomé implicaba mucho trabajo de PL / SQL y nunca había escrito una sola línea de PL / SQL; lo recogí en aproximadamente dos semanas.
Dicho esto, definitivamente seguiría practicando con otros idiomas, solo para estar al día. Mientras esté en el nuevo trabajo, tenga uno o dos proyectos favoritos que mantendrán su brazo de programación en forma con un lenguaje más estándar, pero no se preocupe demasiado.
fuente
En TI, la empresa a menudo tiene que ver con el reclutador para encontrar buenos candidatos. Los reclutadores no son especialistas en TI, por lo que tiene algunos criterios y coincide con los candidatos y luego los envía de vuelta a la empresa. Sigue el camino de sam con recursos humanos en grandes empresas.
Tienes un problema con eso. No encajará en los criterios de reclutador. Por lo tanto, diría que no es un problema proteger sus competencias. La programación es programación, y un programador sólido debe saber cómo cambiar de un idioma a otro, porque la sintaxis es menos importante que saber cómo hacer un código confiable, un código comprobable y un código que se pueda mantener. Estas capacidades son en su mayoría independientes del idioma.
Sin embargo, siempre y cuando no cumpla con los criterios de coincidencia de que ninguna persona de TI lo reclute, probablemente será un inconveniente encontrar un futuro empleado. Incluso si serás competente de todos modos. Esas personas no saben cómo juzgar eso porque no son TI.
Definitivamente no recomendaría este trabajo para el primero. Pero si ya tiene alguna entrada en su CV sobre tecnologías ampliamente utilizadas (Java, PHP, C, C ++, C #, ...), hágalo si lo desea.
fuente
Definitivamente, hay habilidades que puede adquirir / mejorar utilizando lenguajes y entornos propietarios. Como se ha mencionado en otras respuestas, algunas habilidades trascienden el lenguaje y pueden ser muy valiosas en un currículum.
Sin embargo, esas habilidades se pasan por alto con frecuencia cuando las personas que revisan los currículums no son técnicas. A menudo (en el extremo inferior del espectro de calidad del trabajo, que, desafortunadamente, es con frecuencia la mejor apuesta para desarrolladores relativamente inexpertos), los currículums se evaluarán principalmente en x años de idioma y , y las otras habilidades que quizás no haya adquirido juega hasta que hayas puesto un pie en la puerta con una entrevista.
Otro factor a tener en cuenta es que los entornos propietarios tienden (al menos) a tener un diseño más pobre, ser poco convincentes y, en general, frustrantes que los entornos convencionales. Trabajar exclusivamente en un mal sistema patentado puede ser muy desalentador, especialmente para alguien que recién comienza una carrera en programación.
Dicho esto, recuerde que la experiencia con un sistema propietario, aunque no es tan buena como una experiencia similar trabajando con lenguajes dominantes populares, es aún mejor que ninguna experiencia a largo plazo. Tendrá una ventaja más allá del nivel de entrada para algunos puestos, y para otros, aún puede (o no) calificar como nivel de entrada para idiomas específicos, pero su experiencia lo pondrá significativamente por delante de la mayoría de las otras personas que compiten para esos trabajos
Antes de considerar dejar pasar una oferta por centrarse en un lenguaje propietario, asegúrese de considerar el mercado laboral actual y cómo se reciben sus aplicaciones en general.
fuente
Se trata de los idiomas y habilidades auxiliares que aprenderá. Si de hecho su idioma interno no se usa o incluso se conoce fuera de la compañía, será de beneficio limitado en cuanto a la carrera profesional (a menos que sea probable que explote y sea la próxima gran cosa). Pasé unos años trabajando con una herramienta de terceros que en sí misma es inútil para mí (profesionalmente), sin embargo, al trabajar en esos proyectos mejoraron mis habilidades de HTML, CSS y JavaScript. También aprendí mucho sobre cómo se ejecutan y estructuran los proyectos empresariales, cómo tratar con los clientes y cómo gestionar las expectativas. Todas las cosas que forman parte del desarrollo de software moderno que en realidad no son el lenguaje.
fuente
¿Qué pasa con el marco: IDE, editor, bibliotecas? Las aplicaciones empresariales más complejas. en estos días no se puede hacer con un editor de texto sin formato y un compilador de línea de comandos.
¿Tienen algo de eso para su lenguaje de programación personalizado?
fuente
A menudo, aprender un negocio es más importante que aprender una tecnología. Si crees que te gustaría quedarte en la industria particular en la que se encuentra esta compañía, entonces adelante y tómalo. Si se trata de un nicho de mercado, o uno en el que no estás particularmente interesado, entonces te sugiero omitirlo. Conocer los entresijos de (por ejemplo) la farmacocinética y el proceso de descubrimiento de fármacos abrirá puertas que no será más que ser otro programador de C # / Python / Java. Y a menos que este lenguaje "único" sea más un generador de código o un configurador, seguirá resolviendo problemas comunes, por lo que aún obtendrá algo de experiencia general, incluso si las técnicas específicas pueden no ser directamente transferibles.
fuente
IT'S A TRAP!
Consideraría tomarlo si, y solo si, puedes tener mucha experiencia en otros idiomas. Si haces tomar el trabajo, puede (y debe) mantenerse al día con sus habilidades de idiomas principales por los que trabajan en proyectos de código abierto en su tiempo libre.
Lo que desea evitar es la posibilidad de que sus habilidades se sintonicen mucho con esta compañía específica y no sean transferibles a otras. Técnicamente, la programación es programación, y la experiencia fuera de un solo entorno de programación es beneficiosa, no perjudicial, ya que le ayuda a ver los problemas con mayor claridad.
Piénselo de esta manera: si toma un trabajo escribiendo programas de Perl, eso no necesariamente lo condena a una eternidad de escribir programas de Perl. Tampoco tomar un trabajo en .NET lo condena a estar siempre vinculado a Microsoft.
Pero aquí está la parte importante: nunca contrataría a un programador que solo sepa un idioma , incluso si es el que quiero que use. Un programador que no tiene una amplia gama de experiencia en muchos idiomas a menudo es pobre incluso con su idioma de elección. También refleja la falta de ambición por aprender cosas nuevas.
Por otro lado, si un programador conoce Python, Ruby, C #, PHP, C y Erlang, entonces el hecho de que él también conozca APL no es un ataque contra él, aunque no hay ninguna posibilidad de que usemos APL para cualquier cosa.
Entonces, si tiene la disciplina para evitar que el idioma se convierta en su único enfoque, entonces tome el trabajo.
Y vale la pena declarar de nuevo: contribuir a proyectos de código abierto. Cuentan para toneladas más que la "experiencia laboral" porque no es algo que simplemente hiciste para hacer un cheque de pago. Los programadores que trabajan en proyectos de código abierto son como el oro.
fuente
Mi primer trabajo después de graduarme con mi título de CS consistió en desarrollarme con un lenguaje oscuro. No es único. No desarrollado internamente. Pero un VMS 4GL lo suficientemente oscuro que nunca vi a nadie más usándolo.
En retrospectiva, esta fue una decisión imprudente. Si bien aprendí mucho sobre el desarrollo de software profesional haciendo ese trabajo, hubiera sido mucho mejor desarrollar también un dominio del lenguaje comercializable para acompañar las habilidades "blandas".
Tuve suerte: mi segundo trabajo fue trabajar con otro VMS 4GL oscuro. Me contrataron porque sabían que no podían encontrar personas que ya conocieran el idioma; el hecho de que tenía experiencia en la plataforma VMS con un 4GL fue suficiente. Y en ese trabajo, tuve la oportunidad de capacitarme en un lenguaje comercializable mientras buscaban alejarse de VMS hacia los servidores de Windows.
Pero fácilmente no podría haber tenido esa suerte, y me encontré cinco años en mi carrera con absolutamente cero experiencia que persuadiría a un reclutador o una persona de Recursos Humanos a mirar mi currículum.
Para su primer trabajo después de la graduación, realmente no lo recomiendo.
fuente
Para dar una meta-respuesta, he notado que muchas respuestas dicen: "Por experiencia personal, esto es algo malo".
Muchos otros dicen: "En teoría, esto no tiene que ser malo".
Pero ninguna de las respuestas que he visto proviene de personas que hicieron algo similar y pensaron que fue una buena experiencia.
Ahora, tal vez algunas personas hayan hecho esto y estén encantadas con sus trabajos, pero no están en Stack Exchange. Esto es cierto para algunos programas comerciales. Por ejemplo, hay algunos administradores de Software AG Natural / Adabas realmente dedicados, pero no hay muchas discusiones relacionadas sobre Stack Exchange. Sin embargo, al menos alguien está buscando incluso a estos especialistas especializados. Eso no sería cierto para un lenguaje completamente propietario.
Entonces, si el objetivo es avanzar hacia el tipo de tecnologías discutidas aquí, el hecho de que pocos respalden esto de la experiencia real sugiere que no es necesariamente el mejor comienzo. Puede que no sea el beso de la muerte. Pero querrá trabajar para evitar que se convierta en un obstáculo terrible, como comenzar o contribuir a un proyecto de código abierto relacionado con sus aspiraciones.
fuente
Acepta el trabajo si crees que hay buenos / excelentes programadores que te ayudarán y orientarán. Uno pensaría que un lugar que hace esto tiene gente bastante buena, pero no puedo estar seguro. Además, ¿esta empresa tiene algún tipo de reputación para contratar a los mejores candidatos? Puede ser contratado por otra persona, independientemente de los idiomas utilizados en el trabajo.
fuente
Tenga especial cuidado si el dominio del problema está dominado por uno o algunos idiomas en la industria. El desarrollo de bases de datos está estrechamente relacionado con SQL. El desarrollo de FPGA se divide principalmente entre Verilog y VHDL. Compare eso con las aplicaciones web que están escritas en (combinaciones de) Java, PHP, perl, python, Scala, C ++, etc. Un gerente de contratación que busque desarrolladores web comprenderá mucho más las habilidades transferibles si no tiene experiencia específica en su idioma de elección. Un gerente de contratación que busque a alguien para escribir consultas en la base de datos esperará experiencia SQL.
fuente
He programado en un lenguaje propietario. Pero ese no era el lenguaje que se usaba por todas partes. No tengo nada en contra de esa experiencia ahora, aunque me quejé cada momento de hacer ese trabajo. Tuve la oportunidad de usar ese idioma, mantener ese idioma y, mejorarlo, junto con el mantenimiento del programa escrito en ese idioma.
En el camino, aprendí a leer y entender cómo funcionaría un pequeño intérprete. Si su empleador potencial tiene las fuentes para el compilador / intérprete del lenguaje propietario, es muy posible que tenga la oportunidad de trabajar en sus componentes internos. Puedo decir, por experiencia, que atesorarás esta experiencia laboral en los años venideros.
Las habilidades transferibles que habría adquirido son: trabajo en equipo, ingeniería de software, redacción de un compilador / intérprete o, partes de él, algoritmos, etc. Si se trata de un intérprete, el lenguaje propietario es solo una máscara bajo la cual encontrará al intérprete escrito en, digamos, C, u otro lenguaje. Si se compila un lenguaje propietario, tendrá la oportunidad de trabajar en un compilador de producción que esté completamente bloqueado. Entonces, cuando busque el próximo trabajo, necesita vender estas habilidades más duro que, por ejemplo, C / C ++ / Java / Python para desarrolladores de aplicaciones o Python, Perl, Java, HTML, CSS, JavaScript, Flash para desarrollo web o Verilog, VHDL para desarrollo integrado o cualquier otro conjunto de idiomas para otro dominio de aplicaciones.
Todo esto, suponiendo que su empleador potencial tenga las fuentes para el lenguaje propietario y que esté dispuesto a trabajar más que a trabajar en los programas escritos en el lenguaje propietario. Aún así, admito que estoy siendo extremadamente optimista al decir que podría tener una oportunidad similar a la que tuve hace unos años.
En las entrevistas, años de experiencia y habilidades técnicas no están solos en las decisiones de contratación. Su sed de aprendizaje, ajuste cultural, inclinación cultural, son una gran parte de la decisión.
Entonces, para un primer trabajo, si su trabajo no se limitará a los programas escritos solo en el lenguaje propietario, sino que también le permitirá trabajar en su implementación, tómelo.
fuente
Creo que hay dos lados en esto. Primero está este trabajo específico y, segundo, cómo afecta sus perspectivas profesionales.
Lo que me gustaría saber sobre este trabajo es por qué crearon su propio lenguaje de programación. ¿Tiene sentido? Si no, tomaría un trabajo diferente.
En los últimos diez años he trabajado para tres empresas con su propio idioma. El primero porque, cuando se inició el proyecto, no había nada que pudiera hacer lo que necesitaban. (Escribieron una versión técnica de Visual Basic, pero esto estaba en Unix y años antes de que existiera VB). Los otros dos tenían requisitos de rendimiento que no se podían cumplir con los lenguajes existentes. Considero estas muy buenas razones.
En el lado de las perspectivas de carrera, como han mencionado otros, los reclutadores y las personas de recursos humanos que no entienden la programación y trabajan usando una serie de casillas de verificación tendrán dificultades con su CV. Muchas empresas que desean un programador de C ++ plug-and-play se negarán a pagarle para que aprenda un nuevo idioma. Todo esto es verdad.
¿Pero realmente quieres trabajar para una empresa así?
Si la respuesta a eso es 'Sí', entonces probablemente debería rechazar este trabajo y buscar uno con requisitos más convencionales. Además, dependiendo de dónde viva, es posible que no tenga muchas opciones y tenga que trabajar para empresas que realmente no entienden a los programadores.
Personalmente, no quiero trabajar para una empresa así y creo que es justo decir que no he encontrado que mis opciones sean demasiado limitantes. Si tiene un historial de aprendizaje rápido de nuevas tecnologías, solución de problemas del mundo real y, tal vez, algún conocimiento de "negocios", entonces creo que debería estar bien.
También hay aspectos positivos. ¿En cuántos otros lugares puedes jugar con el compilador / intérprete? ¿Con qué frecuencia puede influir en las nuevas características y la sintaxis del idioma que usa todos los días?
fuente
En primer lugar, un lenguaje de programación interno no es necesariamente algo malo, sin embargo, hay algunas reglas básicas que necesita para justificar un lenguaje personalizado.
Escribes y crees que no usan ningún otro idioma. La primera pregunta que debe hacer es si también usan otro idioma.
Los lenguajes de programación personalizados pueden tener buenas justificaciones. Sé que las matemáticas trabajan con idiomas especializados. Escuché que la agencia tributaria usa un lenguaje especial para calcular los impuestos con las leyes que cambian anualmente sobre ellos. Bienvenido al dominio de la metaprogramación .
Sin embargo, cualquier lenguaje personalizado nunca debe implementar un lenguaje completo. Fuera de su dominio, aún debe recurrir a un lenguaje de programación clásico / ampliamente conocido. Incluso en el dominio del idioma no es probable que cada pequeño detalle esté cubierto por el idioma del dominio.
Buenas preguntas para hacer:
A partir de estas respuestas, debería poder averiguar cuál es el estado del idioma. Si es un lenguaje de dominio que agrega un gran valor, está todo bien. Si el proyecto de mascota de alguien reemplaza Java o C #, salga de allí lo antes posible .
Editar: le sugiero que lea en el artículo de lenguaje específico de dominio en wikipedia, eso debería dar más información.
fuente
Puede que no nos guste, pero como programador de computadoras tenemos que tener un CV que los agentes y departamentos de recursos humanos estén dispuestos a enviar a los gerentes de proyecto . Nuestro CV también debe destacarse ya que coincide con el conjunto necesario aún dentro de los 30 segundos de alguien que lo mira, también debe tener las palabras clave correctas para que coincida con una búsqueda en la base de datos de cv.
¡Tan solo trabajar en un lenguaje de programación único es un gran riesgo! Sin embargo, el uso de una combinación de DSL y un idioma principal se puede presentar bien en el CV. (Debe decir la verdad en su CV, ¡pero no tiene que ser toda la verdad!)
fuente
Estaría menos nervioso por tomar un trabajo como ese si ya tuvieras una amplia gama de conocimientos de programación. Si eres nuevo en la industria, esto podría encasillarte profesionalmente bastante mal, posiblemente hasta el punto de que tendrías que comenzar de nuevo como Jr o pasante más tarde ... Esto podría ser particularmente malo si te quedas con esta compañía por un tiempo, solo para irse sin habilidades transferibles.
Si ya tienes bastante experiencia en la industria, entonces este podría ser un punto genial para tu carrera. Y la percepción de si / cuando dejaste este lugar sería más de "maldición, él es un Jedi, ha hecho todo"
fuente
Únase a la empresa solo si trabajará en la empresa durante toda su vida útil, o de lo contrario, nunca piense en aceptarlo, incluso si obtiene un buen paquete salarial. Tengo experiencia en unirme a esa empresa y quedarme atrapado allí a pesar de de muchas frustraciones en el trabajo, porque no hay experiencia en otros lenguajes de programación para buscar otro trabajo.
fuente
He visto a alguien con 15 años de experiencia, principalmente como desarrollador principal o principal, incapaz de conseguir un trabajo durante mucho tiempo, principalmente porque la compañía lo dejó sin experiencia en lo que se había convertido en lenguajes contemporáneos y API.
Los programadores se colocan mentalmente en contenedores como lo hacen los actores en las películas (héroe, villano, etc.) y una vez que estableces cuál es tu contenedor, creo que puedes hacer que sea mucho más difícil encontrar un trabajo que si no tienes más Universidad.
Es decir, si tiene un título de CS, es probable que sea candidato para varios trabajos.
Pero si tiene un título de CS con 3 años de experiencia en PHP, en realidad es MENOS candidato para un puesto de desarrollador web Java que cuando se graduó. Te has vinculado como desarrollador de PHP y hasta que tengas experiencia en contrario, eso es lo que vas a ser contratado para hacer. (Extraño, pero creo que es cierto, tienes más experiencia total, pero tu currículum no se considerará irrelevante porque es el tipo de experiencia incorrecto, mientras que recién salido de la universidad podría no haber sido tu currículum)
Y si tienes un título de CS con 1 año de experiencia en SpecialtyLanguageX, entonces has cerrado todo tipo de puertas por ti mismo.
Estas son solo mis opiniones y observaciones, por supuesto, nunca he hecho la contratación, esto es lo que me parece.
fuente