Soy un desarrollador poco experimentado que tiene aproximadamente 5 años de experiencia en PHP y algo menos en Java, C # y estoy tratando de aprender algo de Python hoy en día. Desde el comienzo de mi carrera como programador, de vez en cuando me han dicho compañeros programadores que la programación es adecuada para algunos años de la carrera (la mayoría de ellos la toman como 5 años) y que uno debe cambiar la dirección después eso. La razón que presentan incluyen dolores de cabeza y presiones asociadas con la programación. También dicen que los programadores son menos sociables y generalmente no les gusta dar tiempo a sus familias, etc. y especialmente "¡Oh, vamos, no puedes programar toda tu vida!"
Estoy algo confundido aquí y necesito preguntarle a otros al respecto. Si dejo la programación, ¿qué hago? Supongo que la enseñanza puede ser una buena opción en este caso, pero requerirá primero obtener un doctorado tal vez. También puede ser notable que en mi país (Pakistán) la vida de un programador no es muy buena, ya que normalmente deben dedicar 2-3 horas adicionales en la oficina para realizar tareas de programación urgentes. Tengo la sensación de que la situación es algo similar en otros países y regiones también.
¿Crees que es un consejo justo cambiar la carrera de la programación a otra después de pasar 5 años en este campo?
ACTUALIZAR
Oh wow ... nunca supe que las personas pueden tener más de 40 años de experiencia en este campo. Estoy emocionado y asombrado al ver que la gente lo está haciendo desde 1971 ... ¡Eso significa 15 años antes de mi nacimiento! Es bueno poder hablar con personas tan experimentadas, no tenemos esa oportunidad aquí en Pakistán.
Gracias de nuevo por toda la ayuda y el intercambio. Ha sido una buena experiencia tener tu opinión sobre esto.
fuente
Respuestas:
No creo que esta sea una pregunta a la que se le pueda dar una respuesta general que siempre sea correcta, excepto quizás por el antiguo "Depende".
El consejo más simple es: si la programación es lo que más te gusta hacer, no te detengas a menos que eso cambie.
Hay muchos otros factores a considerar, como el mercado laboral, las oportunidades de promoción, la ubicación y, por supuesto, el salario, pero lo más importante con cualquier decisión profesional es la pregunta "¿Esto me hará feliz ?"
fuente
Tenemos varios programadores donde trabajo en sus 50 años que han programado durante más de 20 años. Si es lo que quieres hacer, no dejes que nadie te diga que solo es apropiado para los jóvenes.
fuente
Llevo 21 años lanzando código, así que creo que estoy calificado para comentar sobre esto.
En primer lugar, hay un número no trivial de personas que comienzan como programadores con la plena intención de pasar a un puesto de gestión después de unos años. No escriben código porque les gusta escribir código, escriben código porque lo ven como un paso necesario en el camino hacia su objetivo real. Sospecho que estas son las personas que le dicen que salga de la pista de codificación lo más rápido posible.
Luego hay personas como yo que disfrutan de la programación por su propio bien y cuyas habilidades con las personas son, digamos, menos que adecuadas para un puesto gerencial (lo intenté, una vez, y fue un desastre para todos los involucrados).
Es posible mantenerse en la vía técnica y avanzar en el pago y la responsabilidad. Y también hay muchos puestos para hombres mayores. Tengo 46 años, y todos menos uno de los otros muchachos de mi equipo son mayores que yo.
Si bien conozco a algunos programadores de más edad que caen en el estereotipo übergeek del MIT, me siento confiado al afirmar que no es cierto en general. Yo y la mayoría de los programadores que conozco que tienen mi edad tenemos familias, tomamos el tiempo libre que necesitamos y, en general, llevamos una vida normal. No somos fiesteros, pero tampoco somos monjes.
Sí, hay muchos trabajos de programación malos por ahí. Sin embargo, existe un esfuerzo real por parte de la industria para equilibrar el trabajo y la vida personal, y muchas compañías de software están haciendo todo lo posible para evitar escenarios de marcha de la muerte. Siempre habrá sprints (ahora estoy en medio de uno, es solo la naturaleza del negocio), pero los maratones son cada vez menos.
fuente
Eso me parece el clásico consejo de una gran empresa que todavía se está dando después de décadas.
Básicamente, uno de los problemas con la progresión profesional es que muchas empresas no están preparadas para ofrecer una carrera (en lugar de un trabajo) para los desarrolladores. En muchas otras ocupaciones, tiende a ascender lentamente a través de capas de responsabilidad administrativa adicional o especializaciones que requieren experiencia y certificaciones adicionales para lograr si desea permanecer en un puesto no administrativo. Sin embargo, la parte importante es que hay una progresión profesional conocida en esos campos, como "Haré pareja algún día" o "Abriré mi propia práctica".
Por alguna razón, muchas empresas que parecen haber adoptado la mentalidad de que "codificar" 1 es algo que se debe hacer según el grupo de mecanografía de acuerdo con las especificaciones detalladas que presentó el arquitecto de software. Como se ve como una ocupación baja, no obtienes ninguna progresión profesional como alguien que escribe software para ganarse la vida a menos que básicamente dejes de ser un practicante y pases a la capa de administración.
Lo que me parece desconcertante es que IBM se dio cuenta en la década de 1970 de que no ofrecer una carrera profesional que no fuera de administración los dejó con un montón de pésimos gerentes que solían ser desarrolladores extremadamente buenos. Eso se conoce en la industria desde hace mucho tiempo, pero el memorando no llegó a RR.HH. o las personas básicamente no se preocupan lo suficiente por este problema.
Ahora, he estado haciendo desarrollo de software profesional desde fines de la década de 1980 / principios de la década de 1990, y todavía sigo programando principalmente para vivir. Sí, he "dedicado tiempo" a la gestión en varias etapas de mi carrera, pero descubrí que estoy más feliz creando software (y posiblemente haciendo un poco de gestión al margen) que subiendo a lo que se supone que debe ser la escala profesional 'oficial'. ser.
Hay empresas que reconocen el valor que los ingenieros de software experimentados pueden aportar. El truco es encontrarlos si quieres tener una carrera a largo plazo en el desarrollo de software. No creo que hacer que la gente salga de la "codificación" después de 4-5 años es una muy buena idea a menos que queramos repetir constantemente los errores del pasado porque no hay memoria de ellos.
1 Estoy usando esto como una abreviatura para desarrollar software y para mostrar cómo la ocupación es vista a menudo por aquellos que no están involucrados en ella; para citar el PHB "si no puedo entenderlo, debe ser fácil".
fuente
No, creo que es un pésimo consejo. ¿Cuánto tiempo llevan programando las personas que dan este consejo? Esa sería una de mis réplicas. He trabajado en los EE. UU. Y Canadá como desarrollador y realmente no veo ningún problema para hacerlo durante toda mi vida si elijo que sea mi carrera profesional. Soy desarrollador desde 1998, así que tengo más de 5 años en el campo y sigo haciendo lo que hago. Puede haber varias transiciones que uno tiene para ir de un lugar a otro o averiguar qué tipo de progresión quieren tener, por ejemplo, convertirse en gerente, analista o arquitecto.
En mi opinión, los programadores pueden ser bastante sociales, aunque la clave es qué tipo de grupo estamos examinando aquí. Una colección de fanáticos de "Star Trek" que también son programadores podría tener toda la fiesta que imagino, aunque otros pueden pensar que es poco convincente.
La razón para preguntar sobre la experiencia es que puede ayudar a proporcionar contexto para sus consejos. Todos tienen prejuicios que no deberían olvidarse aquí. Las personas deberían poder seguir sus pasiones y para algunas personas la programación es su pasión. He visto desarrolladores que estaban tan entusiasmados con el desarrollo de software que era bastante contagioso. Algunas personas pueden progresar en otros campos y otras aún pueden ser desarrolladores durante décadas. Lo que funciona para uno puede no funcionar para otro.
fuente
Por lo general, cuando las personas dan este tipo de consejo ("¡No seas un mono código para siempre!"), No significan que debas buscar algo que no esté relacionado con la programación, sino que buscas un puesto de administración donde pasas más tiempo planificando el desarrollo y la gestión equipos de lo que realmente codifica. Esto está bien, y mucha gente preferiría esta alternativa eventualmente, pero muchos programadores detestan absolutamente estas responsabilidades de tipo "empresarial". Si le gusta la codificación, todavía hay espacio para avanzar, y los programadores senior en muchas organizaciones no están muy lejos de sus gerentes en cuanto a salario y beneficios. De cualquier manera, a medida que gane más experiencia, se le ofrecerán ofertas y oportunidades para avanzar, probablemente en ambos lados del espectro. Aproveche cada oportunidad caso por caso y decida si desea asumir ese rol específico. No ha hecho que parezca que odia la programación en general, sino más bien que tiene miedo de lo que otras personas le dicen sobre cómo son las cosas.No los escuches . No eres tú, y si te gusta la codificación, entonces sigue codificando. Hay muchos programadores en Programmers SE que aman lo que hacen todos los días y lo han estado haciendo durante muchos años.
fuente
Estaba votando todas las respuestas que dicen alguna variación de "sigue haciéndolo si te encanta", porque creo que esta es la respuesta correcta, pero luego pensé en la vista alternativa por un minuto, para ver si puedo idear un buen defensor del diablo contra la opción "seguir programando" ...
Creo que la idea de "avanzar y salir" de la programación en realidad no es tan exclusiva de la programación. Más bien, es un consejo general de progreso profesional para muchas profesiones técnicas, esencialmente, cualquiera que tiende a ser autolimitado y lo suficientemente general como para que ninguna persona realmente se convierta en un mega gurú. La programación, sin embargo, puede caer en el medio. Hay argumentos a favor y en contra en este sentido.
Permítanme explicar comparando ser cirujano versus ser contador:
Un cirujano cardíaco, si se vuelve mundialmente reconocida y excelente en su campo, puede tener una carrera muy buena y productiva simplemente siendo un cirujano cardíaco. Ella podría idear un nuevo procedimiento especial que revolucione la cirugía cardíaca y la cardiología, y continuar salvando vidas haciendo estas operaciones. En pocas palabras, la carrera comienza más o menos y se detiene en hacer el trabajo técnico que mejor haces . Además de dar conferencias o escribir sobre el nuevo procedimiento que se le ocurrió, la carrera sigue siendo en general la misma, técnica.
Un contador, por otro lado, probablemente solo quiera hacer un "trabajo de contabilidad" clásico y de bajo nivel como las declaraciones de impuestos personales solo en los primeros años de su carrera. No creo que los contadores simplemente quieran ser monos de declaración de impuestos para toda su carrera. Prefieren ascender y salir a la administración, o comenzar sus propias empresas. En cualquier caso, lo más probable es que un cambio de carrera "natural" para muchos contadores esté fuera del trabajo estándar, básico "técnico", y "hacia arriba" en algo más gerencial y estratégico.
El punto es, si piensas en estas dos carreras: por una, está bien seguir haciendo lo mismo de por vida. Para el otro, parece poco ambicioso. Creo que esta es la clave, es por eso que la gente da este consejo. Tienen la idea en mente de que ser programador es un rol de ingeniería de bajo nivel, y que no eres realmente ambicioso con tu carrera si sigues haciendo trabajo de mono código para toda la vida. Para mucha gente, esta idea probablemente nace de la ignorancia. Para otros, tal vez solo quieren el prestigio de ascender en una jerarquía administrativa.
En cualquier caso, creo que este es el origen básico de este fenómeno. La gente tiende a pensar que muchas profesiones técnicas son naturalmente limitantes. Que a medida que las personas envejecen, no deberían seguir haciendo el trabajo técnico duro, sino más bien subir y salir a la gestión o algo de "nivel superior" en general, como administrar su propio negocio.
fuente
O te apasiona la programación, en cuyo caso no hay razón para dejar de hacerlo.
O no lo eres, en cuyo caso no deberías hacerlo en primer lugar.
Si, en algún momento, la pasión deja espacio para otras cosas, está bien, y cuando suceda, por supuesto encuentra algo más que hacer, pero mientras tanto, ¡disfruta!
fuente
Si está casado y / o tiene hijos, lo más probable es que deje la programación después de unos años. Las marchas de la muerte son la norma en esta industria, no la excepción, ya muchos cónyuges / hijos no les gusta tener a papá / mamá lejos de casa tanto. Esta es la razón por la que muchos desarrolladores dejan la programación a los 30 años.
Sí, este tipo de problemas por parte de los gerentes es muy común, a pesar de que se ha documentado claramente durante los últimos 150 años que el modo crujiente es la peor forma posible de hacer el trabajo . En los Estados Unidos, por ley federal, todos los programadores están "exentos", lo que significa que, en ausencia de un contrato sindical en contrario, no tenemos horas extras.
http://codes.lp.findlaw.com/uscode/29/8/213
Mi consejo es tener siempre algún tipo de "Plan B", algo que harás cuando quieras salir o ser expulsado. Para algunas personas, eso implica cambiar al lado gerencial / oscuro. A veces lo hacen porque no, no quieren o no pueden mantenerse al día con los cambios en la tecnología. A veces hacen esto porque quieren resolver problemas demasiado grandes para que una persona los resuelva.
Si vienes de una cultura donde tu credencial pasada es lo único que importa, y una vez que hayas "tomado" un curso sobre un tema, nunca tendrás que volver a estudiarlo (a esto le llamo la teoría de la educación sobre la vacuna ), entonces lo harás descubra que después de unos años lo que aprendió no es útil; para este punto de vista cultural, tendrá que abandonar la profesión a menos que la "vergüenza" de aprender constantemente no sea algo que le moleste. Para ser honesto, generalmente son los gerentes estadounidenses quienes asistieron a una escuela de negocios de alto estatus los que sufren esto, pero me he encontrado con personas ofendidas por tener que volver a aprender algo que habían tomado años antes.
fuente
Nunca he escuchado eso, y todo suena ridículo.
Si eres un programador y lo disfrutas, sigue adelante ... no hay absolutamente ninguna razón para dejar de fumar arbitrariamente y esforzarte para encontrar otra carrera que lo reemplace.
fuente
Muchas personas en Pakistán e India parecen mudarse a otras profesiones de TI después de unos años. Con las empresas indias con las que trabajo tienen la política de contratar solo programadores; Todos los analistas de negocios, arquitectos, gerentes de proyectos, administradores de bases de datos y otros especialistas comenzaron originalmente como programadores. Esto es una reminiscencia de muchas tiendas de procesamiento de datos corporativos en los EE. UU. Hasta mediados o fines de la década de 1980. Entonces, en ese tipo de organización, sí, es la norma esperada "seguir adelante" o de lo contrario parecería que no tienes mucho éxito. Estamos tratando de cambiar esta mentalidad porque en nuestro grupo consideramos que los desarrolladores altamente experimentados son extremadamente beneficiosos para los proyectos. Cinco años es apenas tiempo suficiente para ser realmente bueno en su trabajo en este campo.
De todos modos, no dejaría que otros te digan lo que deberías estar haciendo, aunque si trabajas en una organización como la que he descrito, es posible que tengas que considerar la viabilidad a largo plazo de una carrera en programación si eso no se espera o respeta donde usted está.
fuente
He trabajado como desarrollador durante aproximadamente una década, así que, como muchos otros que ya publicaron aquí, tengo un poco de experiencia pertinente a la pregunta. Alrededor de los 5 años, realmente encontré que mi interés en el campo comenzó a disminuir considerablemente. Fui uno de los desarrolladores senior de mi empresa y había estado allí durante bastante tiempo. Parecía que siempre estábamos haciendo las mismas cosas de siempre, incluso cuando cambiábamos de Visual Basic 6 a C #, y me volví cada vez más desinteresado, pasando demasiado tiempo navegando por sitios web, etc.
Sin embargo, la compañía para la que trabajé no tenía a nadie prestando atención a lo que estaba sucediendo en la comunidad de desarrollo fuera de nuestra oficina. Conceptos como TDD y el resto de las prácticas de XP se estaban volviendo comunes, los patrones de diseño, SOLIDOS , refactorización y similares estaban ganando importancia, el .NET CLR introdujo la alegría de los genéricos, pero no sabíamos nada de eso. Admitiré libremente que era parte del problema, que no estaba mirando lo que otras personas estaban haciendo, pero tampoco nadie más en la empresa, incluidos los tipos de arquitectos de software.
Después de flotar de esta manera poco entusiasta durante algunos años y en un par de otras compañías con estilos similares, me encontré buscando un nuevo trabajo y viendo una gran cantidad de términos que no significaban nada para mí. En este punto, me di cuenta de que tenía mucho que aprender y empecé a ponerme al día. Descubriendo la blogosfera, suscribiéndose a podcasts como .NET Rocks, asistir a algunas reuniones de grupos de usuarios y otras actividades similares me pusieron al día con las mejores prácticas de la industria. Al hacerlo, comencé a recuperar mi interés en el desarrollo de software. La inmediatez de probar algún código nuevo con un marco TDD, refactorizar para encontrar una solución más limpia, etc. hizo que toda la experiencia fuera mucho más divertida y me empujó a buscar un trabajo donde tales habilidades serían deseables. Ahora, por primera vez en años, amo mi trabajo. Algo que nunca hubiera pensado que diría hace unos pocos años.
El punto, después de todo este parloteo, es tratar de mantenerme en contacto con lo que está sucediendo fuera de su empresa, fuera de su país, incluso si algunos de sus problemas podrían ser bastante específicos de la cultura. Si puede encontrar interés, entusiasmo y motivación en lo que está sucediendo, puede canalizar parte de eso en su rutina diaria y hacer que su vida laboral sea más agradable (y posiblemente destacarse como un desarrollador más eficiente y mejor que sus colegas, o incluso ayudar a llevarlos contigo). Si no siente ninguna chispa de entusiasmo por el tema después de todo eso, entonces tal vez la vida de codificación no sea para usted.
fuente
En su carrera como programador, usted (con suerte) pasará de la posición básica de "código mono" al programador senior a medida que se familiarice con el idioma elegido y el uso de patrones de diseño, agregue habilidades de análisis / diseño a Conviértase en un analista de software, obtenga algunas habilidades de personas y recopilación de requisitos y conviértase en analista de negocios, luego mezcle cierta arquitectura de hardware y conviértase en analista de sistemas, momento en el que obtendrá seis cifras y tendrá una gran demanda. O, desde Senior, puede continuar en la jerarquía de supervisión para liderar el equipo y luego gerente de proyecto.
... pero SIEMPRE estarás "programando". SIEMPRE tendrá una situación en la que personalmente tendrá que sentarse y escribir un código. Solo una vez que avance más allá del punto de ser parte de un equipo de software, para supervisar un equipo de software y tratar con el dinero y la logística del proyecto, dejará de hacerlo a diario y, probablemente, dejará de llamarse a sí mismo un "programador".
fuente
La programación no es diferente a cualquier otra cosa en la vida: algunas cosas las harás para siempre, mientras que otras son más efímeras. Programe todo el tiempo que desee. Un día puede sentirse lleno, como después de una buena comida, y, naturalmente, pasar a otra cosa que lo atraiga. Pero hasta entonces no me preocuparía demasiado. Como lo demuestran otras respuestas, no es raro disfrutar de una carrera de programación durante muchas décadas. :-)
fuente
Hay muchas personas que simplemente ingresan a una carrera de programación mirando el floreciente sector de TI. No están realmente interesados en la programación, pero lo hacen solo para ganarse la vida. Dichas personas se cansan de su trabajo después de un tiempo y pueden darle ese consejo.
He estado programando durante mucho tiempo. Comencé a programarme cuando estaba en la escuela, y todavía lo estoy haciendo y lo seguiré haciendo para siempre. Estoy estudiando en la Universidad ahora y, a veces, me siento todo el día escribiendo código no para completar mis tareas o para ganar dinero, sino porque me encanta. No siento que me falta nada.
La respuesta es simple: si te gusta, hazlo, si no te gusta, no lo hagas. Si le gustan las cosas de gestión más que la programación, no hay nada malo en pasar a la gestión después de 5 años de experiencia en programación.
Es posible que algunos programadores no sean muy sociables. Pero eso les llega naturalmente. Pasan mucho tiempo en cosas geek y, por lo tanto, sus habilidades sociales están un poco subdesarrolladas. (Google "problemas de personas inteligentes" para saber más.) Si actualmente eres social, no creo que te vuelvas menos social en el futuro debido a la programación. Lo único es el tiempo que pasas en el trabajo. Si cree que está pasando todo el día en la oficina, entonces hay un problema. Debido a la naturaleza de los trabajos de programación, a veces puede que tengas que sentarte horas extra. Pero si esto sucede muy a menudo en su lugar de trabajo actual, puede intentar cambiar a otro trabajo.
fuente
No sé sobre la situación en Pakistán, pero en mi país esta profesión es muy mal considerada y peor pagada. Programaré seguro toda mi vida y aprenderé nuevos idiomas, porque es algo que realmente disfruto. La pregunta es si tendré que cambiar a un trabajo diferente y escribir código solo como un pasatiempo. O tal vez huiré de mi país, quién sabe ... Pero la programación es tener el poder de hacer cosas que otras personas tienen que pagar.
fuente
Solo otro pensamiento, no hay nada de malo en ascender en la escala corporativa mientras codifica en su tiempo libre. Considero que la codificación es un buen lanzamiento de las tediosas reuniones de especificación y análisis de negocios que conlleva ser un líder del equipo de servicios tecnológicos. De hecho, terminé en este hilo buscando algo en Stack Overflow sobre Ruby on Rails, que estoy pasando muy bien aprendiendo.
Además, si se mantiene atento en el aspecto técnico, continuará desarrollando fuertes habilidades técnicas que lo ayudarán en el futuro. Los programadores tienden a tener un mejor respeto por un gerente que puede hablar y caminar. Tengo la sensación de que la persona que le dijo este consejo no entra en esta categoría.
fuente
Lo que dicen tus amigos sobre los programadores es igualmente aplicable a cualquiera que esté profundamente involucrado en cualquier campo desafiante.
Entonces su pregunta realmente es: "¿Quiero tener una carrera que requiera un alto grado de dedicación para que otras áreas de mi vida se vean algo comprometidas, o quiero hacer algo que pueda olvidar por completo cuando deje el trabajo en noche y volver a la mañana siguiente?
Tiene que conocerse bien para responder a esta pregunta, y la respuesta puede cambiar con el tiempo.
OMI, siempre y cuando te sientas satisfecho y desafiado como programador, hazlo; no te preocupes por eso a menos que desees un cambio (o no puedas encontrar trabajo ...), si y cuando ese momento viene, vendrá
HTH
fuente
Mi padre ha trabajado como programador durante los últimos 24 años. Solía decirme una sola cosa: "Demasiado de nada sirve para nada". Pero no es adecuado para la programación.
fuente
La programación es realmente un campo difícil y con poca recompensa cuando se compara con otras profesiones, especialmente en Pakistán. Cuando estuve en Pakistán, escuché acerca de jóvenes programadores talentosos a quienes se les dio un buen salario (no tan bueno, por cierto), pero tuvieron que tomarles mucho petróleo. Personalmente no me gustaría programar durante mucho tiempo. Pero luego debo hacer algo :) Y la programación es divertida por cierto.
Obtendrá mucha experiencia a medida que envejece, por lo que aparece en su currículum. Escuché eso y creo que no es cierto. Por supuesto, si se encuentra en un estado mental en el que no puede concentrarse o perder interés, realmente no puede programar. Por lo tanto, su vida social, especialmente los problemas e intereses, pueden influir en gran medida en sus habilidades en esta área.
Yo personalmente me alejaría de la programación e iría al servicio público, pero luego la programación también es divertida. Y tienes que estar un poco loco para ser programador.
fuente
En mi experiencia, hay dos tipos de profesionales en puestos superiores de TI.
Todo depende de dónde quieres ramificarte. Si prevé escribir código hasta la jubilación, entonces desea la última opción. Pero si desea ser el líder del equipo y administrar a las personas en lugar del código, la primera sería la mejor opción.
No hay respuesta correcta. Muchos de nosotros aquí realmente disfrutamos escribiendo código y programando, resolviendo los problemas esenciales. Pero también hay muchas personas que disfrutan del lado del "dibujante más grande", como la gestión de personas / proyectos.
Este no es solo el lado del desarrollo de TI. Usted ve esta misma "bifurcación profesional en el camino" en otros aspectos, como redes, administración de bases de datos, administración de sistemas, etc.
fuente