- A menudo me hace pensar si en otras profesiones también pasa esto
- Un ingeniero de software desde el principio tiene que conocer varios lenguajes de programación y herramientas
- Pero eso no basta; también tiene que aprender los frameworks específicos que usa la empresa
- Ej.: Rails, Django, Laravel, etc.
- CSS también es indispensable, pero incluso estudiándolo toda la vida sigue siendo difícil entender por qué se rompe un layout
- Con saber lo justo se puede sobrevivir más o menos
La evolución de JavaScript y del ecosistema frontend
- Rara vez es posible evitar JavaScript
- Si solo usas jQuery en una app legacy, eres de los afortunados
- Con la llegada de React, el frontend y el backend empezaron a separarse
- Pero las empresas no aumentaron el personal y en cambio empezaron a pedir "ingenieros full stack" que cubran todo
- Aprender React es obligatorio
- También hace falta implementar APIs REST
- Como empezó a decirse que se necesitaban tipos, también hay que aprender TypeScript
- El ambiente general es que el manejo de estado debe resolverse con Redux
- También hay que configurar herramientas: webpack, esbuild, rollup, Prettier, ESLint, etc.
¿Libertad para elegir tecnología? En la práctica, no
- Está bien seguir haciéndolo a la manera tradicional, pero la realidad no es así
- Hay que pensar si realmente existe margen para enseñarle renderizado del lado del servidor a un junior que solo ha usado React
- Las startups se mueven rápido y queman dinero, así que es difícil salirse del estándar
El cambio en la administración de sistemas: la llegada de DevOps
- Antes había administradores de sistemas por separado
- Se encargaban de la infraestructura, las actualizaciones de la BD y la gestión de demonios
- Hoy, por la cultura DevOps, el ingeniero termina haciéndose cargo de todo
- Hay que aprender Docker
- Incluso si la arquitectura no necesita Docker, hay que dominar herramientas como Ansible o SystemD
La necesidad de la nube y de herramientas de gestión de infraestructura
- Ahora también es indispensable saber usar AWS
- Si usas la GUI te tratan como principiante, así que hay que aprender herramientas IaC como Terraform o Pulumi
¿Se acaba al ascender? En realidad, apenas empieza otra etapa
- Si te vuelves manager, tienes que aprender un trabajo completamente distinto
- Estimar fechas límite
- Repartir tareas
- Redactar definiciones de trabajo
- Participar en evaluaciones anuales
- Dar retroalimentación en reuniones de producto
- Si la empresa no ha crecido lo suficiente, igual tienes que seguir haciendo trabajo de ingeniería
Los requisitos no dejan de crecer
- Hace poco me contactó cierta empresa muy misteriosa
- Tecnologías requeridas: Rails, Hotwire, desarrollo móvil nativo
- Ya casi solo falta que pidan también desarrollo de kernel o compiladores
- El software se vuelve cada vez más complejo
- Hay razones para esa complejidad, pero la especialización está desapareciendo
- Incluso para construir una casa se necesitan distintos especialistas
- Pero en software, la situación es que le piden todos los roles a una sola persona
Una esperanza para el futuro: un mundo donde se desarrollen apps con unos cuantos prompts
- Si esta realidad tan compleja sigue así, tampoco suena mal un futuro donde se hagan apps con unos cuantos prompts
97 comentarios
Al menos creo que ser ingeniero de software es una profesión con la que se puede vivir una fiebre del oro del siglo XXI~
Entiendo en qué partes siente dificultades quien escribió el post, pero las reacciones están raras. Enumerar que en la realidad hay otras dificultades más grandes no ayuda mucho. Eso es subjetivo. https://whoisnnamdi.com/never-enough-developers/
Es un artículo extranjero que analiza por qué es difícil encontrar ingenieros de software con experiencia; échenle una leída.
Incluso si empiezan como ingenieros, muchos terminan cambiándose a áreas no ingenieriles a mitad de carrera. - La transición hacia nuevas tecnologías ocurre mucho más rápido que en otras profesiones. - Análisis de anuncios de empleo en línea entre 2007 y 2019. - En computación y matemáticas, el 47% pidió al menos una tecnología nueva (por ejemplo, tecnologías que en 2007 eran desconocidas). - Comparado con el 20% en campos como educación o derecho, es un cambio enorme. - El 16% de las tecnologías usadas en 2007 se volvió inútil para 2019. Esto también es alrededor del doble frente a otras profesiones. - Las habilidades requeridas aumentan rápido y también desaparecen rápido. - Es decir, incluso acumulando experiencia, es difícil tener estabilidad. Incluso los profesionales con experiencia tienen que seguir aprendiendo y creciendo en tecnologías que ni existían al inicio de su carrera. - Los trabajos en campos que cambian rápido (por ejemplo, ciencias de la computación) tienden a recibir salarios más altos al inicio que otros sectores. Pero con el paso del tiempo, esa prima disminuye rápidamente. Después de los 35~40 años, comparados con otros sectores (ciencias sociales, negocios), incluso terminan con una prima menor. - Ingeniería: un sector altamente especializado al inicio y que cambia rápido. Maximiza los ingresos en las primeras etapas de la carrera. Pero conforme pasa el tiempo, el valor de las habilidades que se tenían cae a medida que se introducen nuevas tecnologías. Aunque el trabajador gane experiencia, tiene que seguir aprendiendo, pero el efecto del aprendizaje disminuye y el rendimiento de aprovechar la experiencia también baja. - La gente que aprende rápido se va rápido. - Las personas con alta capacidad cognitiva y gran velocidad de aprendizaje consideran más conveniente moverse pronto a campos estables que quedarse en sectores de cambio acelerado. - Esta salida a mitad de carrera y el cambio hacia otros sectores no es algo temporal; aumentará mientras este campo siga creciendo. Si se amplía el pool de talento, los salarios bajarán y también subirá la tasa de abandono intermedio. - Esperaríamos que se quedara la gente buena y se fuera la que no rinde, pero en realidad está pasando lo contrario. Se están yendo las personas capaces y las que aprenden rápido. Esto le está haciendo pagar a la industria del software un gran costo de oportunidad. - Mientras no se desacelere el ritmo de cambio en el sector de ingeniería, creo que a largo plazo la escasez de mano de obra de desarrolladores de software continuará.
La verdad, más bien no entiendo las reacciones en los comentarios. No es que Corea sea un país donde los ingenieros sean el problema por estar demasiado enamorados de sí mismos —aunque puede haber algunas personas así—; al contrario, el problema es que suelen ser menospreciados y desmoralizados, y por eso muchos buenos ingenieros e investigadores terminan yéndose al extranjero. Creo que si personas que trabajan en Samsung, Naver y otras empresas luego se cambian a AMD, Google, etc., y más adelante regresan a Corea con esa experiencia, eso sería un gran activo para el país; pero con este ambiente, da la impresión de que la mayoría simplemente terminará quedándose a vivir allá para siempre.
Parece que mucha gente ve el campo del software de manera muy limitada y también cree que su valor agregado es bajo, pero lo que uno ha trabajado y visto con sus propios ojos no es todo. Como dice el comentario de abajo, incluso en los semiconductores de sistemas la competitividad cambia según la tecnología de software.
Al ver que en los comentarios desprecian y rebajan así a los ingenieros de software, parece que en el futuro Corea tampoco podrá demostrar una gran fortaleza ni en manufactura ni en semiconductores. Por supuesto que no se debe ser arrogante ni menospreciar a los demás, pero tampoco es bueno devaluar su valor real.
¿Por qué Corea no tiene competitividad en los semiconductores no memorizados, es decir, en los semiconductores de sistema? Para decirlo de entrada, porque está en desventaja frente a Estados Unidos en la ‘industria del software’. Puede que alguien se pregunte qué tiene que ver los semiconductores con el ‘software’. A continuación explicaré con calma el motivo, empezando por el contexto.
Como ya se mencionó, la competitividad de los semiconductores de sistema no proviene de la capacidad de diseñar circuitos de semiconductores. Aunque al final se materialicen en forma de hardware, su base está en la creatividad del software del campo de aplicación correspondiente.
https://brunch.co.kr/@airtight/215/…
Como dijo otra persona, el software también abarca un campo muy amplio. Hay áreas que se pueden aprender rápido y aplicar de inmediato, y hay otras que requieren mucho estudio y experiencia acumulada durante años sobre la base de la especialización. No crean que su propia experiencia lo es todo.
El texto en sí no menosprecia particularmente a otras profesiones, pero hay muchos comentarios bastante extraños. Como dijo otra persona, mientras más se integra el IT en la vida humana, más importante se vuelve el software, y además sostiene mucha infraestructura. No creo que la compensación aumente porque crezcan las capacidades de cada desarrollador, sino que simplemente el trabajo en sí se ha vuelto más caro. Porque se ha vuelto más importante que antes. Aquí, si ese trabajo es duro o no, no es un tema tan importante. Que sea duro o no es una sensación subjetiva, y eso tampoco determina el trato que recibe una profesión en particular.
Da la impresión de que arma todo ese escándalo porque en el fondo no confía en sus propias habilidades. Incluso menosprecia a los que sí son buenos diciendo que no son gran cosa.
Intentan que todo se vea parecido.
Es cierto que es un trabajo al que cualquiera puede intentar entrar, pero eso no significa que no debas tener profesionalismo y orgullo por lo que haces. Están bastante confundidos.
Sí. Cualquiera puede intentarlo, pero es un campo donde también hay grandes diferencias de productividad según la persona. Como se niega eso, la gente que es buena termina dejando la industria o cambiándose de trabajo al extranjero.
No entiendo los comentarios. La autocomplacencia tampoco está bien y, por supuesto, tampoco se debe menospreciar a otras profesiones, pero ¿acaso el texto original menospreció a alguien desde el principio? ¿O es que ustedes no sienten orgullo por lo que hacen y solo quieren ingenieros que trabajen a medias, pensando que da lo mismo quién lo haga?
También es cierto que esa persona está exagerando un poco.
Vi muchos comentarios críticos y me hicieron pensar bastante. Hay partes con las que coincido y otras en las que pienso distinto.
Así es. También hay muchos comentarios diciendo tonterías. Tampoco hay que obsesionarse en exceso, pero si sienten que la ingeniería de software no es gran cosa, entonces dejen ese trabajo. Sinceramente, si bajas el estándar es un trabajo fácil, pero si no, ¿no es cierto que es un trabajo difícil? Aunque probablemente eso aplica a la mayoría de las profesiones del mundo.
Aunque es difícil juzgar porque no sabemos en qué entorno vive otra persona, qué tipo de personalidad tiene o qué emociones está sintiendo... al menos yo no me siento identificado, y pienso que hay muchos otros trabajos más duros y agotadores, así que no logro empatizar mucho con el texto principal.
No hace falta compararlo.
•Aunque el título está traducido como que es una locura, creo que más bien expresa la situación actual, que simplemente te deja sin energías. Y yo empatizo hasta cierto punto con el texto principal. Es cierto que, en comparación con el pasado, lo que se espera de un solo ingeniero se ha vuelto más amplio y mayor. Además, en comparación con antes, muchísimas más partes del mundo real han entrado en los sistemas informáticos, y en esa misma medida la abstracción y la dificultad de implementación están aumentando rápidamente. Aunque se enumeren tareas más difíciles en la vida real, no creo que haya necesidad de afirmar que este trabajo no es difícil...
Me convertí en desarrollador de software por exactamente esa razón. A algunas personas no les gusta esta profesión porque tienen que estudiar tecnologías nuevas todos los días, y otras creen que es una bendición precisamente por tener que aprender tecnologías nuevas a diario. Supongo que todo depende de la perspectiva.
Así es. Para esa persona, eso puede ser difícil. Lo difícil es subjetivo.
No entiendo por qué esa persona está recibiendo tantas críticas. Si hubiera menospreciado otras profesiones, podría ser criticada, pero ese tampoco es el caso. De hecho, en los comentarios más bien están atacando al autor de manera irracional y excesiva.
El título está traducido como que es una locura, pero creo que más bien intenta expresar la situación actual, que simplemente te deja sin energía. Y yo también empatizo hasta cierto punto con el texto principal. Es cierto que, en comparación con antes, lo que se espera de un solo ingeniero se ha vuelto más amplio y mayor. Además, muchas más partes del mundo real han pasado a estar dentro de los sistemas informáticos que antes, y en esa misma medida la abstracción y la dificultad de implementación están aumentando rápidamente. No creo que haga falta enumerar trabajos más difíciles en el mundo real para afirmar que este no es un trabajo duro...
A medida que las TI se integran cada vez más profundamente en la vida de la humanidad, como cualquier otro polvo, el software se vuelve más importante y sostiene mucha infraestructura. Por eso cambió el trato que recibe. Que ese trabajo sea duro o no no es lo importante aquí.
Así es. Desde el principio, la dificultad es una emoción subjetiva. Nunca fue un mundo en el que te trataran de cierta manera solo porque algo fuera difícil. Siento que los comentarios son todavía más extraños. El trato se determina según si contribuyes a la productividad o no. Eso es aparte de si ese trabajo es difícil o no.
No sé de otras cosas, pero en el campo de TI sí me gusta que haya una cultura bastante extendida de compartir más información y el trabajo de cada quien entre todos, incluso a nivel de las empresas.
Claro, trabajar con una computadora que no se pone a discutir, tiene toda la información abierta y siempre te responde es comodísimo jajaja
Aunque este texto da la impresión de que la vida de un ingeniero de software es puro sufrimiento y desorden, en realidad parece basarse solo en tendencias tecnológicas y entornos específicos que el autor ha vivido personalmente.
Sin duda la tecnología cambia rápido, pero no todos los ingenieros pasan por lo mismo, y también hay muchas personas que encuentran estabilidad y disfrute dentro de ese proceso.
Si hay cambios, adaptarse a ellos es parte de la ingeniería; eso en sí mismo no es una "locura".
Solo me río y sigo de largo... jaja
¿Acaso hay algún trabajo en este mundo que no sea difícil?
Trabajé más de 10 años en otro rubro y luego me pasé a IT, y hay bastantes personas que se quejan tanto como parecía desde afuera durante esos últimos 10 años.
Lo difícil es algo subjetivo, ¿por qué habla de esa manera?
Para esa persona, ese tipo de cosas sí pueden ser una dificultad.
Si va a hablar así, también alguien podría decirle a usted que lo siente así porque se cambió de rubro tarde y solo hace trabajos más o menos del montón. Si le dijeran eso, tampoco tendría mucho que responder, ¿verdad?
Los ingenieros de software no son solo quienes hacen DevOps en la nube.
Creo que en frontend eso aplica hasta cierto punto. Es un campo donde lo que aprendiste hoy mañana se vuelve basura....
No me metí tan a fondo, pero antes de usar Tailwind solo sentía una enorme rabia y frustración.
¿Backend o desarrollo de sistemas? Mientras hago esto, a veces pienso: ¿de verdad está bien que me paguen por esto? Se siente como si me pagaran por armar LEGO; de verdad me alegra haber terminado en desarrollo de software...
CSS también es indispensable, pero es difícil entender incluso después de toda una vida por qué se rompe el layout > la neta, es totalmente cierto T_T
Esto parece algo que AGI debió haber hecho desde el principio..
Opinión de Hacker News
Convertirse en ingeniero de software no es difícil. La ingeniería de software es uno de los trabajos más fáciles. Estamos tan protegidos que creemos que lo descrito en este artículo es difícil, y eso es prueba de lo poco difícil que es nuestro trabajo
El software se vuelve cada vez más complejo. Esa complejidad tiene sus razones. Pero no son buenas razones. Antes había incentivos para la eficiencia. Había escasez de talento, de ancho de banda y de poder de cómputo, y también falta de presupuesto
Veinte años del movimiento de "todos deberían ser programadores", el exceso de financiamiento y el diseño por comité han creado un mundo extremadamente complejo
Durante 30 años de carrera trabajé en apps y frameworks de sistema, y tuve que aprender nuevos lenguajes, API, frameworks y herramientas. También incluye cambios en la forma en que se crea y entrega el software: desarrollo ágil, liderazgo de tech leads, de QA a sin QA, pruebas unitarias, code review, etc.; el objetivo siempre está cambiando
Lenguajes que conozco: Pascal, C, ensamblador 6502, C++, Objective-C, Javascript, Swift, etc.
Al principio de mi carrera, la gestión de memoria y mantener las cosas pequeñas y rápidas eran habilidades importantes. A mitad de mi carrera, tuve que volverme experto en concurrencia
En empresas grandes como Apple había equipos "buenos" y equipos "malos". Eso es relativo para cada ingeniero. Un equipo que yo odio puede quedarle muy bien a otra persona
Después de trabajar varios años en un equipo "malo", sufrí problemas gastrointestinales graves y necesité cirugía. Hay que tomarse el estrés muy en serio
Como al construir una casa, la especialización está desapareciendo. En los trabajos que requieren más educación que un diploma de secundaria, se exige versatilidad. Muchos empleos requieren habilidades diversas
Si una sola persona puede encargarse del trabajo con suficiente conocimiento, no hace falta contratar a dos especialistas. Muchas firmas de arquitectura hacen solo el trabajo mínimo
Las razones de la complejidad son el armado de currículum para empresas tipo FAANG, la creación de nichos laborales y el narcisismo de la seguridad laboral. Hay un desprecio fundamental por la madurez de la industria
Si haces un buen trabajo, te ascienden a gerente. Tienes que aprender algo completamente distinto. Pasaste mucho tiempo aprendiendo habilidades técnicas, pero eso no se traduce en la capacidad de "debuggear personas"
Hoy en día, las páginas web no son tan distintas de hace 10 años. Sin embargo, las máquinas son mucho más complejas, el tamaño de descarga de las páginas es mayor y la capacidad de respuesta es peor
Una teoría sobre la industria del software es que nadie sabe cómo gestionar una empresa tecnológica madura. En el mundo tech, el desarrollo orientado al currículum es el problema. Los managers técnicos deberían detectarlo y frenarlo, pero no pueden hacerlo
Aprender algunos lenguajes de programación y frameworks es solo "un poco molesto", no difícil
El software es artificial. Los campos de las ciencias físicas tienen más dificultad para descubrir nuevas tecnologías y soluciones. Resolver problemas complejos como el cambio climático, curar enfermedades y asegurar un suministro sostenible de alimentos es realmente difícil
La ingeniería de software no es más que reordenar datos. Es poderosa, pero no es fundamentalmente tan compleja como resolver los problemas más difíciles del mundo físico
La complejidad de la ingeniería de software varía según el trabajo que realizan los ingenieros y los equipos; no existe un límite máximo absoluto ya definido. Si todos los problemas se resolvieran simplemente reacomodando datos, ni siquiera habría surgido el campo de la ingeniería de software.
Afirmar que, por basarse no en el mundo físico sino en un sistema formal, hay menos complejidad, está al mismo nivel que decir que la lingüística y las matemáticas no son complejas porque se basan en lenguajes y sistemas formales numéricos creados artificialmente por las personas.
La tecnología de software también es importante para resolver problemas complejos como el cambio climático, el tratamiento de enfermedades y garantizar un suministro sostenible de alimentos. En el futuro será aún más importante. No entiendo bien por qué se habla de esto como si fuera un problema completamente distinto.
¿En realidad no están contribuyendo bastante a resolver problemas con tecnologías como big data y similares?
La arrogancia tampoco es buena, pero tampoco lo es menospreciar el valor real.
No hay muchos trabajos de primer nivel como el de ingeniero de software; llega el momento en que te das cuenta de lo feliz que es poder crear.
Con el gran aumento en la oferta de desarrolladores de software en los últimos años, había expectativas de que incluso quienes no trabajan en la industria entendieran mejor el desarrollo de software, y que así se redujeran un poco tanto el dramatismo de quienes trabajan en este sector como la exagerada idealización de colegas de otras profesiones. Pero como en el fondo esa mejora en el trato venía impulsada por la escasez de personal, más bien da la impresión de que, al considerarse una profesión supuestamente “exitosa”, eso quizá se ha intensificado todavía más.
Sí, cuando el desarrollo de software era una profesión poco popular, a la que a los demás no les interesaba y que no querían hacer, dentro de ese grupo minoritario las cosas estaban relativamente bien. Eso podía servir como una especie de motivación y contribuir a formar una identidad profesional como parte de una minoría ocupacional. La sensación de “el grupo al que pertenezco es especial” también es un elemento importante para que una persona sienta pertenencia y estabilidad psicológica.
Pero incluso en la época en que yo decidí convertirme en programador, el desarrollo de software ya era algo bastante popular. ¿No creen que esa época ya pasó de verdad? En Corea, por ejemplo, la cantidad de graduados en carreras de software que salen cada año ha aumentado enormemente, a un nivel incomparable con antes. El desarrollo de software ya no es algo misterioso. Además, como resultado de varios años de auge en la reconversión de personas sin formación en el área debido al fracaso para conseguir suficiente personal, toda la sociedad ya sabe bien que, si alguien tiene la afinidad y la forma de pensar adecuadas, incluso sin especializarse en esto puede aprender por su cuenta y pasar con relativa facilidad de amateur a profesional.
Quienes dicen que el desarrollo de software es algo difícil, ¿por qué hacen ese trabajo? ¿Lo hacen porque, aunque es duro y agotador, les parece gratificante? No me parece que haya tantos así en esta industria. ¿No será que afirman que es difícil porque creen que los demás no pueden hacerlo, cuando en realidad lo hacen porque para ustedes es lo más fácil? En vez de dejarse cegar por la autocomplacencia porque otros los elogian un poco, creyéndose especiales, deberían mirar a su alrededor. Dentro de las ciencias e ingenierías, ¿en qué otro campo alguien puede volverse experto y entrar al trabajo profesional en apenas unos meses solo por encerrarse en su cuarto, leer un poco en internet y aprender por su cuenta (si le va bien)?
Solo porque se haya disfrutado temporalmente de los beneficios del mercado por el desajuste entre el aumento de la demanda y las políticas de formación de personal, o porque por suerte se haya tenido una forma de pensar que no rechaza este trabajo y la oportunidad de educarse en ello, ojalá no se le dé a eso un significado grandioso.
Desde la perspectiva de la industria moderna, el software sigue estando en un estado en el que ni la alta especialización ni la producción en masa se han logrado de verdad. Está mucho más cerca de la artesanía que de la manufactura, y como sucede con muchos oficios artesanales, en el caso de los programadores de software la frontera entre hobby y profesión sigue siendo difusa.
Debemos aceptar que lo que hacemos, desde el punto de vista industrial, se parece a golpear hierro en una herrería, hacer carpintería con una sierra o pulir vidrio con papel de lija. Esto es claramente distinto de la industria moderna en la que se mete madera y una papelera produce papel, se vierte petróleo y una planta petroquímica saca plástico, o se introduce silicio en maquinaria costosa y una fábrica produce semiconductores. A diferencia de otras manufacturas, el desarrollo de software todavía necesita personas con destreza manual.
Por supuesto, quien tiene una destreza sobresaliente que otros no poseen merece respeto. Pero me parece que clavarse en la idea de un yo especial —pensar que, solo por haber pulido un poco esa destreza, uno debería poder vivir toda la vida de lo aprendido de joven; preguntarse por qué eso no puede ser así; creer que, por tener una destreza tan valiosa, no debería tener que trabajar duro como los demás; o imaginar que uno posee un talento extraordinario que la mayoría no tiene— se acerca bastante a la arrogancia.
Piensa bien por qué otras personas lo critican tanto y deja de andar diciendo tonterías así con arrogancia, tú ahora o en el futuro.
Hay muchas personas que trabajan con pasión por la tecnología informática. No generalices a partir de tus propias ideas y experiencias. Es ofensivo para ellas.
Hay críticas válidas aquí abajo. Que la tecnología de la computación sea accesible también se debe en gran parte a la contribución de los ingenieros de software. Y que sea accesible no significa que sea fácil volverse profesional. ¿Acaso porque la cocina es accesible es fácil convertirse en experto culinario?
•Es fácil de aprender. Lo reconozco, pero que la barrera de entrada sea baja no significa que la especialización también lo sea. Creo que, en comparación con otras industrias, especialmente con otros puestos técnicos de manufactura, la razón por la que es más fácil aprenderlo no es porque desarrollar sea fácil en sí, sino más bien por la cultura open source o por el bajo riesgo. Como dije antes sobre la diversidad de los desarrolladores, hay trabajos que puedes aprender rápido y hacer, y hay trabajos que deben basarse en la especialización.
•¿Porque aprendiste un poco de dibujo y entraste como asistente de un dibujante de cómics vas a andar diciendo que eres profesional? ¿O porque fuiste un poco a una escuela de cocina y conseguiste trabajo en una cocina vas a decir que eres experto culinario o chef? Es un nivel parecido a eso, lo que estás diciendo. Si fuera tan simple, no le dirían profesional.
•¿Realmente tiene sentido compararlo directamente con la manufactura? Desde la perspectiva de que la industria no ha alcanzado un nivel suficiente de sofisticación, parece que el punto de comparación es la manufactura. Si se intenta entender la industria del software con el paradigma de la manufactura, puede verse como artesanía o desarrollo por hobby, pero por otro lado creo que justamente estos aspectos crean una cultura flexible y creativa propia del desarrollo de software, y que esta crece apoyándose en ello.
•Es cierto que, en comparación con el pasado, lo que se espera de un solo ingeniero se ha vuelto más amplio y mayor. Y también, en comparación con antes, una porción mucho más grande del mundo real ha entrado en los sistemas computacionales, y con ello la dificultad de abstracción e implementación está aumentando rápidamente. No creo que sea necesario enumerar tareas más difíciles del mundo real para afirmar que este trabajo no es difícil...
•El entorno ha cambiado. No creo que la razón por la que las expectativas y la compensación hacia los desarrolladores han aumentado en el mercado, frente al pasado, sea solo su tecnología, experiencia o especialización. Cuanto más profundamente se integra la TI en la vida humana, más importante se vuelve el software, y este sostiene mucha infraestructura. No creo que la compensación haya aumentado porque las capacidades de cada desarrollador hayan crecido, sino porque simplemente el trabajo en sí se ha vuelto más caro. Porque se ha vuelto más importante que antes.
•Creo que hay un malentendido de que el desarrollo de software consiste simplemente en generar código o crear APIs. La esencia del desarrollo de software está en abstraer la realidad para crear protocolos e interfaces, y encajar las cosas dentro de eso. Se trata de conectar elementos que funcionan de maneras distintas para que operen como si fueran uno solo. Esta es una actividad intelectual más compleja de lo que parece, y por eso es más difícil de lo que se piensa formar ingenieros de software. Dicen que ahora hay mucha gente, pero ¿cuántos de ellos son realmente capaces de trabajar bien? La mayoría apenas ha usado alguna herramienta una vez, pero eso no es el núcleo de lo que hace un ingeniero de software.
Estás criticando fuera de contexto. La persona que escribió la publicación original no está menospreciando a nadie, así que más bien, ¿no eres tú quien está degradando y restándole valor al puesto de ingeniero de software?
Si vas y consigues un doctorado en un campo como robótica o sistemas operativos, al menos con solo terminar el programa podrías ser considerado un experto profesional, como mínimo en esa área. Lo que quiero decir es que el estándar para llamar a alguien profesional debería ser, como mínimo, ese nivel.
¿Porque aprendiste algo de dibujo y entraste como asistente de un dibujante de cómics ya vas a ir diciendo que eres profesional? ¿O si tomas unas clases de cocina y consigues trabajo en una cocina vas a decir que eres experto en cocina, chef? Lo que dices está más o menos a ese nivel. Si fuera algo tan simple, nadie lo llamaría un profesional.
Cocinar o dibujar son cosas que cualquiera puede hacer. Lo que dices se parece a afirmar que, con unos meses de aprendizaje, cualquiera puede volverse profesional. Que a los ingenieros de software se les valore es porque la influencia del software ha crecido mucho. No se trata de si ese trabajo es duro o no. Si no te gusta, entonces dedícate a otra cosa. Y si vas a otro campo diciendo ese tipo de cosas, tampoco te van a recibir bien. A esas personas les va a molestar. Así como no hay que caer en la arrogancia creyendo que uno hace algo grandioso, tampoco es correcto rebajar su valor.
No voy a negar que cualquiera puede intentarlo. Pero es mentira decir que cualquiera puede convertirse fácilmente en profesional. Espero que no hayas ido por ahí diciéndole eso a la gente en la vida real, porque eso es una estafa.
¿En qué campo de ciencia e ingeniería alguien puede convertirse en un profesional que se puede incorporar al trabajo real en apenas unos meses por quedarse en casa viendo un poco de internet y estudiando por su cuenta (si le va bien)? <- En ningún campo a un buscador de empleo de nivel inicial así lo llaman experto. Ya veo que alguien ya lo criticó antes. Si de verdad piensas así, entonces tu nivel de pensamiento es bajo y también te falta profesionalismo.
¿Crees que es fácil dejar de ser amateur y volverte profesional? Si así fuera, entonces ya no lo llamarían profesional.
Parece que están confundiendo el desarrollo de software con simplemente generar código o crear APIs. La esencia del desarrollo de software está en abstraer la realidad para crear protocolos e interfaces y hacer que todo encaje dentro de eso. Se trata de conectar cosas que funcionan de maneras distintas para que operen como si fueran una sola. Esto es una actividad intelectual más compleja de lo que parece, y por eso formar ingenieros de software es más difícil de lo que se cree. Dicen que hay mucha gente, pero ¿cuántos de ellos realmente pueden trabajar bien? La mayoría apenas ha usado alguna herramienta una o dos veces, pero eso no es el núcleo de lo que hace un ingeniero de software.
Como en otros comentarios, si personas que trabajaron en Samsung, Naver, etc., luego se cambian a AMD, Google y similares, y más adelante regresan a Corea con esa experiencia, serían un gran activo. Pero con este ambiente, en vez de volver, parece que seguirán yéndose. No es solo un tema de dinero, sino que el entorno y la percepción son muy deficientes.
En general, ¿qué es lo que quieres decir? ¿Corea no es precisamente un lugar donde traten bien a los ingenieros? Si sientes que recibes más de lo que vale tu trabajo, entonces podrías hacer alguna donación. ¿Corea es un entorno donde el problema es que los ingenieros son arrogantes? El problema es que las condiciones son peores que en el extranjero, así que la gente talentosa cambia de trabajo y no regresa (aunque también puede haber personas arrogantes).
Al asumir arbitrariamente que los demás serán parecidos a usted, queda claro que es arrogante. También hay muchas personas que hacen este trabajo porque les gusta enfrentarse a problemas difíciles. No piense que su propia experiencia lo es todo.
¿En qué campo de ciencia e ingeniería alguien puede convertirse en un experto listo para incorporarse al trabajo real en apenas unos meses con solo quedarse en su cuarto, ver un poco de internet y aprender por su cuenta (si le va bien)? <- En cualquier campo, nadie llama experto a un buscador de empleo de nivel inicial así.
Parece que, como en este comentario, tienes un criterio muy bajo para considerarte experto. Normalmente, a un caso así no se le llama experto. Mejor no digas cosas así en otros lados.
Qué persona tan ridícula. ¿No será que el arrogante es usted? Esa persona solo expresó lo difícil que le resulta. No menospreció a nadie, así que ¿solo porque siente algo distinto a usted eso merece ser criticado? Más bien parece que usted quiere menospreciar a quienes sienten orgullo de ser ingenieros de software. Da la impresión de que usted no siente orgullo por su trabajo ni está satisfecho con él, así que ordene esas emociones por su cuenta. Y deje de andar diciendo tonterías.
Adjunto un comentario de otra persona porque me parece una crítica adecuada.
" Es cierto que, en comparación con el pasado, lo que se espera de un solo ingeniero se ha vuelto más amplio y mayor. Y también, en comparación con antes, muchísimas más partes del mundo real han pasado a estar dentro de los sistemas informáticos, y en esa misma medida la dificultad de la abstracción y la implementación está aumentando rápidamente. Pero no veo por qué sería necesario enumerar trabajos más difíciles en el mundo real para afirmar que este trabajo no es difícil... "
A esa persona eso podría resultarle difícil. Lo difícil es subjetivo.
No entiendo por qué lo están insultando tanto. Si hubiera menospreciado otras profesiones, podría ser criticado, pero ni siquiera es el caso. En realidad, quien está criticando de forma excesiva al autor eres tú, aunque no sea algo por lo que deba ser criticado. La persona verdaderamente arrogante eres tú. De ahora en adelante, mejor mide un poco tus palabras. Sinceramente, da la impresión de que quieres disfrazar tu propia falta de profesionalismo y de orgullo por tu trabajo. Es cierto que es una labor a la que cualquiera puede intentar entrar, pero eso no significa que no debas tener profesionalismo y orgullo. No hablaré más del tema.
"Empecé a programar porque era fácil. Resolvía problemas todo el día frente a mí y salía del trabajo como a las 5:30 para volver a casa y pasar el rato con mis amigos. Pero incluso 20 años después, seguir trabajando en el campo del software es porque este trabajo es difícil.
La razón por la que lo que era fácil ahora se volvió difícil es que pasé de resolver problemas a hacer crecer productos, y de perseguir una corrección ya definida a optimizar qué es lo correcto para generar cambio." - Jessica Kerr,
Parte inicial del texto titulado "De los acertijos al producto", escrito por Jessica Kerr entre varios textos de <97 propuestas para desarrolladores Java>
¿Por qué quienes dicen que el desarrollo de software es un trabajo difícil hacen ese trabajo? ¿Lo hacen porque, aunque es una labor dura y pesada, también es gratificante? No me parece que haya tantas personas así en esta industria. <- Esto también da risa. Hay muchas personas que lo hacen porque disfrutan resolver problemas complejos y cosas por el estilo. Usted mismo está generalizando muchísimo a partir de su propia experiencia.
Como había un buen comentario abajo, lo dejo también aquí.
¿Tiene sentido compararlo directamente con la manufactura? Desde la perspectiva de que la industria aún no se ha sofisticado lo suficiente, parece que el punto de comparación es la manufactura. Si se intenta entender el trabajo de software con el paradigma de la manufactura, puede parecer artesanía o desarrollo por hobby, pero, por otro lado, creo que precisamente estos aspectos crean una cultura flexible y creativa propia del desarrollo de software, y que está creciendo apoyándose en ello.
Una cosa más: el desarrollo de software también abarca un campo muy amplio. Hay trabajos que se pueden hacer aprendiendo rápido y otros que deben basarse en la especialización. No pienses que tu propia experiencia lo es todo. Eso también es arrogancia.
Como dije antes, no es que el trato hacia los ingenieros de software haya cambiado porque ese trabajo sea duro o difícil. Eso es una sensación subjetiva, y algo así no determina cómo se valora una profesión. Como en otros comentarios, el software se ha vuelto más importante y sostiene mucha infraestructura. No creo que la compensación haya aumentado porque la capacidad de cada desarrollador haya crecido, sino simplemente porque el trabajo en sí se volvió más caro. Porque se ha vuelto más importante que antes. Aquí, si ese trabajo es duro o no, no es un tema especialmente importante.
Lo que para ti es un trabajo fácil puede ser difícil para otra persona, y lo que para otros es fácil puede ser difícil para ti. Todo lo que dices es subjetivo. Lo repito: que algo sea duro o difícil es una sensación subjetiva, y eso no determina cómo se valora una profesión. Dices que no hay que ser arrogante, pero quien está siendo arrogante con un argumento subjetivo pareces ser tú.
Solo porque tuviste la suerte de contar, a diferencia de los demás, con una forma de pensar y una oportunidad educativa que no te hicieron rechazar este trabajo, no hace falta darle un significado tan grandioso. <-¿Hay algún trabajo en el mundo que no sea así? Esto es rebajarse exagerando la humildad.
¿Si alguien estudia unos meses en una academia de cocina y luego consigue trabajo como cocinero, de verdad lo consideramos un experto? Lo evaluaremos después de que acumule experiencia, para ver si realmente es un experto o no.
Hay una diferencia total entre simplemente poder hacer algo y conseguir un trabajo en eso, que te paguen y poder trabajar de ello. No es fácil que alguien completamente ajeno a ese campo consiga un trabajo de verdad después de una capacitación corta. (Con “completamente ajeno” no me refiero a personas de carreras afines de ciencia e ingeniería como matemáticas/ingeniería industrial/ingeniería electrónica pero sin conocimientos de software, sino a personas que no tienen ninguna base de ingeniería en absoluto). También se puede aprender cocina o dibujo en unos meses con un curso corto. Pero, ¿será fácil conseguir un trabajo de verdad con eso?
¿En qué campo de ciencia e ingeniería alguien se convierte en un experto que puede incorporarse al trabajo real en apenas unos meses por estudiar por su cuenta en casa viendo un poco de internet (si le va bien)? <- En cualquier campo, nadie llama experto a un buscador de empleo de nivel de entrada así. El texto tiene tantas tonterías que hay muchos puntos que señalar.
Y, por supuesto, quienes tienen una habilidad manual extraordinaria que otros no poseen merecen respeto, pero me parece que dejarse llevar por la idea de un yo especial —pensar cosas como: si perfeccioné un poco esa destreza, ¿por qué no podría vivir toda la vida de una habilidad que aprendí de joven?, si tengo una habilidad tan valiosa, ¿no debería evitar trabajar duro como los demás?, ¿no será que poseo un talento extraordinario que otros no pueden igualar fácilmente?— roza la arrogancia. <- En principio es cierto, pero parece que este tipo de criterio se aplica de forma especialmente dura solo a los ingenieros y científicos. Se ve más como una crítica disfrazada de humildad exagerada.
Que en este campo no se le dé tanta importancia comparativamente a credenciales como títulos y otros antecedentes no es tanto porque sea fácil, sino más bien por la influencia de la cultura del open source y similares. Es una industria que, desde sus orígenes, rechaza la autoridad.
Porque eso es un sentimiento subjetivo y nunca ha determinado cómo se trata a una profesión. Si ese fuera el criterio, quienes hacen trabajo físico pesado serían los que recibirían el mayor reconocimiento.
No sé. Aunque obsesionarse es peligroso, aquí más bien se le está restando mérito a la ingeniería de software. Que el trato hacia los ingenieros de software haya cambiado no es porque ese trabajo sea duro y difícil. Eso es una sensación subjetiva, y cosas así no determinan cómo se valora una profesión. Como dicen otros comentarios, el software se ha vuelto más importante y sostiene gran parte de la infraestructura. No creo que la compensación haya aumentado porque la capacidad de cada desarrollador sea mayor, sino simplemente porque el trabajo en sí se volvió más caro. Porque es más importante que antes. Aquí, si ese trabajo es duro o no, no es un tema realmente importante.
Y hay una diferencia abismal entre simplemente poder hacer algo y ser capaz de sacar adelante cierto nivel de trabajo. Exceptuando casos especiales, ¿de verdad es fácil que un principiante total consiga un trabajo decente con unos pocos meses de capacitación corta?
Tampoco es un texto que menosprecie especialmente a otras profesiones, así que este tipo de comentarios da más risa.
Estoy de acuerdo. He escuchado que en arquitectura incluso para proyectos de 2 a 3 años es posible estimar cronogramas con un margen de alrededor de una semana. En ese sentido, al software todavía le falta mucho camino por recorrer.
Nunca había pensado que se pareciera al trabajo artesanal, pero me identifiqué muchísimo.
Viéndolo desde esta perspectiva, siento que muchos fenómenos se explican.
No se me había ocurrido pensar que fuera como un trabajo artesanal, pero me identifico.
No hablo del contenido principal, pero estuve viendo lo que escribió la persona en los comentarios de abajo y parece que se mezcló el contenido.
Quienes dicen que ser ingeniero de software es una profesión difícil probablemente cambiarían bastante de opinión con solo pasar medio día atendiendo clientes en el departamento de CS.
Parece que existe una especie de ilusión de que antes era menos complejo, pero al final la programación está limitada por la capacidad del cerebro humano, así que antes y ahora la diferencia de intensidad no es tan grande. Lo único es que hoy se abarcan áreas más amplias con herramientas más abstractas que antes.
Las computadoras, dentro de todo, son una materia relativamente fácil de controlar y, de hecho, este tipo de trabajo del conocimiento probablemente sea, en promedio, menos duro que otros oficios. Si hay algo especialmente difícil, sería que, por las características de la sociedad moderna, se nos exige confiabilidad las 24 horas del día, los 365 días del año.
Estoy de acuerdo. Parece que el artículo principal fue escrito por alguien para quien el desarrollo no encaja con sus aptitudes.
Si hubiera intentado hacer en el pasado lo que ahora puede hacerse incluso en solitario, habría sido extremadamente, extremadamente difícil.
Pero ahora, gracias a las herramientas abstraídas, con el mismo esfuerzo se puede abarcar un campo más amplio, así que incluso una sola persona puede operar un servicio. Sinceramente, está buenísimo.
Hay problemas que surgen porque, a diferencia del pasado, el alcance del que una sola persona tiene que hacerse cargo se ha ampliado.
•Es cierto que, en comparación con antes, lo que se espera de un solo ingeniero se ha vuelto más amplio y mayor. Y, comparado con el pasado, una porción muchísimo más grande del mundo real ha entrado en los sistemas informáticos, y en esa misma medida la dificultad de abstraer e implementar también está aumentando rápidamente. No creo que haya necesidad de enumerar trabajos más difíciles en el mundo real para afirmar que este no es un trabajo duro...
Estoy de acuerdo con esta opinión. Hay muchos otros trabajos que son mucho más difíciles, pero no reciben una recompensa tan grande como la de los ingenieros de software.
Bueno, sí. Hay muchas cosas difíciles. Pero, ¿qué importa eso? ¿Desde cuándo la remuneración del trabajo se mide por si el trabajo es difícil o no? Eso es subjetivo. Los ingenieros de software reciben buen trato porque el valor del software ha crecido hasta ese punto. Que ese trabajo sea difícil o no no es un criterio de juicio particularmente importante ahí.
¿Qué cosas hay?
Electrónica...
Hay distintos tipos de componentes de circuito que cumplen la misma función (solo en capacitores ya hay muchos tipos, y para algo tan simple como on/off están los transistores, triacs, etc.), y hay que elegir entre cientos o miles de productos de decenas de empresas comparando precio y características; además, incluso en eso hay que revisar las erratas según la revisión de los componentes del circuito. En software, si una release sale mal, basta con hacer rollback, pero en hardware, una vez que el producto se fabrica, no hay vuelta atrás, así que hay que ser muy cuidadosos. Las pruebas también toman una eternidad: mandar a hacer la PCB, ensamblarla, corregirla... Y un componente puede afectar a otro que está lejísimos; para depurar, a diferencia del software, donde con poner un breakpoint casi siempre se resuelve gran parte, aquí hay que lidiar con sacar el puerto JTAG que falta o volar jumpers, y hay casos en que en el laboratorio no hay problema, pero todo se descompone solo cuando se distorsiona la forma de onda eléctrica de entrada. Y la certificación EMC también es un suplicio.
No es algo que yo haga; esto es lo que he visto de quienes trabajan al lado mío.
Pero ese es un ejemplo completamente distinto, ¿no? ¿Dicen que con hacer rollback ya está? La experiencia de una sola persona no lo es todo. ¿No han trabajado en tareas de gran escala?
Simplemente la naturaleza del trabajo es distinta, ¿por qué lo comparan de esa manera?
Yo también estoy de acuerdo. La razón por la que es fácil escuchar en internet sobre las dificultades de los ingenieros de software es precisamente que ellos son quienes construyen internet.
Qué cosa tan absurda está diciendo. ¿Acaso por ser ingeniero de software todos trabajan en la industria de internet? También existe la industria de semiconductores, y también están los campos de conducción autónoma y robótica. Y además, ¿solo la gente que trabaja en la industria de internet puede usar internet?
¿Que convertirse en ingeniero de software es fácil? Jaja, es un trabajo que solo pueden hacer quienes están en lo más alto del coeficiente intelectual. Llegan 30 personas a la academia y solo sobreviven 1 o 2, ¿y dices que es fácil convertirse en uno?
El hecho de que más del 3% pueda sobrevivir en una "academia" es prueba de que es fácil.
parkindani Pues no sé. Simplemente poder hacer algo y conseguir un trabajo en eso para que te paguen por hacerlo son cosas completamente distintas. No es nada fácil que alguien totalmente ajeno a ese campo reciba una capacitación corta y consiga un trabajo de verdad. (Con "totalmente ajeno" no me refiero a personas de áreas STEM relacionadas, como matemáticas/ingeniería industrial/ingeniería electrónica, pero sin conocimientos de software, sino a personas que ni siquiera tienen una base de ingeniería). También se puede aprender cocina o dibujo en unos cuantos meses de curso corto. Pero, ¿será fácil conseguir con eso un trabajo de verdad?
Hay montones de profesiones donde sobrevive más del 50% de la gente que entra a una academia. Incluso hay muchas profesiones para las que ni siquiera hace falta ir a una academia. ¿Y por qué no hablan de la inteligencia? Para sobrevivir como desarrollador, tienes que estar dentro del 15% superior en inteligencia, jaja
No sé exactamente qué significa sobrevivir como desarrollador, pero al menos en mi caso sí siento que estoy rodeado de personas con talento que tienen una capacidad cognitiva dentro del 1% superior.
Pero la inteligencia no se determina solo por lo innato; claramente también puede mejorar después, gracias a la plasticidad cerebral. Hay una parte que se define al nacer, pero eso no lo es todo. Y tampoco sé si en la industria del software la inteligencia sea un factor tan absolutamente decisivo. Solo con entender el desarrollo ya hay muchísimas cosas que se pueden hacer. A mi alrededor, colegas que vienen de otras carreras o que ni siquiera tienen licenciatura trabajan perfectamente bien, ya sea como ingenieros o en otros puestos. No me interesa cuánta inteligencia "relevante" hayan tenido.
Y, personalmente, creo que eso de "sobrevivir" en un bootcamp depende en realidad de manera absoluta del interés de cada quien y del sistema educativo del propio bootcamp. Si sigues la ruta típica —es decir, graduarte de una licenciatura en matemáticas, ingeniería o CS, o incluso seguir hasta posgrado—, entonces estás hablando de un sistema educativo que se ha probado y perfeccionado durante varios cientos de años, así que, por supuesto, es abrumadoramente distinto en calidad y cantidad a un bootcamp de 16 o 32 semanas.
Y por más que en un bootcamp enseñen todo de forma tan intensiva, si tu criterio es que es un fracaso a menos que te deje al nivel de una posición de maestría o doctorado, de esas en las que vivían en el laboratorio escribiendo papers, entonces va a ser un fracaso sí o sí. Si quieres ese tipo de puesto, puedes entrar a posgrado, que es el sistema educativo ya comprobado. Si no quieres, entonces puedes apoyarte en la inteligencia que mencionaste. Aunque ahí no sabría decir qué tan al extremo de la curva tendría que estar esa capacidad cognitiva.
Suena como una respuesta fuera de lugar. ¿Por qué de repente sale el tema de la maestría y el doctorado?
Escribí desarrollando la idea de señalar la ambigüedad de la palabra "sobrevivir". Si es una gramática de hablar solo, ¿no hace falta responder?
No me identifica mucho. No hace falta que respondas.