¿Cómo es ser un programador? ¿Es un trabajo que podrías ver hacer por el resto de tu vida?

Como estoy sentado aquí en un tren atascado detrás de un incendio en el ferrocarril, también escribiré mi respuesta.

Ser programador varía. Mucho.

Mi primer gran trabajo fue un desarrollador de sistema operativo / bugfixer. Yo era el tipo enviado a lugares lejanos y no tan lejos (algunos de nuestros usuarios estaban literalmente al lado en Silicon Valley) para investigar y posiblemente corregir errores que no pudimos reproducir en el laboratorio. Era joven, sin trabas, y me encantaban los viajes de negocios, las miradas esperanzadas de los clientes frustrados, las herramientas mágicas que llevaba en un maletín muy costoso (que finalmente rompí), y la sensación de victoria cuando remendé el kernel y el kernel. El problema desaparecería. Pude ver tantas salas de servidores, empresas y hardware diferentes. Por supuesto, hubo muchos días sin viajes, pero incluso entonces no me senté en un escritorio la mayor parte del tiempo; Estaría en el laboratorio, conectando equipos de prueba, instalando y probando el sistema operativo en situaciones inconcebibles.

Luego trabajé para una de las compañías que usaban el SO. Más plataformas de prueba y hardware novedoso extraño, trabajando en un sitio de prueba alimentado por generador en medio de la nada, o incluso en una computadora portátil mientras se camina a través de los sensores y dispositivos. Este lugar vivía contrato a contrato, a veces jugaba ping pong con el DBA, a veces trabajaba durante la noche todas las noches durante una semana en la sala de servidores de un cliente. Mucho tiempo me sentaba frente a la computadora o me paraba frente a una pizarra, también. Un equipo pequeño, viajes a restaurantes de carnes y espectáculos, espíritu emprendedor, todos somos responsables de todo. Sentí que era normal levantarme a las 3:30 cada noche durante una vacación para iniciar sesión y evitar silenciosamente una falla importante, la solución para la cual aún no estaba lista. A mi mujer no le hizo gracia.

Luego me lancé a finanzas, códigos de código muy grandes (175 millones de líneas de código en mi último trabajo), clientes muy grandes con mucho dinero a merced de mi programación. No es tan divertido con el hardware; En realidad, me siento frente a una computadora todo el día, pero tengo compañeros de trabajo muy interesantes, inteligentes y, a veces, increíblemente famosos, las mejores y más recientes herramientas, y los problemas a los que me enfrento hacen que los niveles de comprensión sean más difíciles que en mi investigación de doctorado. Lo hice en mi carrera de preprogramación.

Sí, felizmente seguiré haciendo esto por el resto de mi vida.

Aquí hay un breve resumen de mi día:

– Llegar al trabajo, y revisar el correo electrónico para cualquier cosa urgente
– Si estoy en medio de una tarea, averigüe dónde lo dejé la noche anterior y continúe trabajando en ello. Piense en escribir un trabajo de investigación en el que tome un descanso en medio del proceso de composición.
– Si estoy cerca de terminar una tarea, limpie el código (revisión) y ejecute pruebas para asegurarse de que funciona
– Cuando termine una tarea, informe a mis superiores usando el método que prevalece en la organización (correo electrónico, sistema de seguimiento o lo que sea).
– Si no tengo nada en mi plato, tome una nueva tarea para trabajar. Dedique tiempo a investigar lo que requiere la tarea, luego comience a escribir código para ello.
– Si mi código ha causado un error, dedique tiempo a corregirlo. Puede enviarlo para una revisión de control de calidad o verificar que la solución realmente solucione el problema.
– Si mi organización lo admite, realice revisiones de código del trabajo de otros desarrolladores. Asegúrese de que cumpla con los estándares de formato y no haga nada extraño o innecesariamente caro en términos de potencia de procesamiento.
– Hacer cualquier cambio introducido por otros desarrolladores revisando mi código.
– Actualizar la documentación a medida que trabajo en las tareas, para facilitar las cosas a las personas que podrían necesitar mi código.

Esta es solo una vista de 90,000 pies de lo que es un programador. Los detalles varían tanto que los hace casi sin sentido cuando se los toma fuera de contexto.

Es como resolver puzzles para vivir. Cada lenguaje de programación tiene un conjunto de reglas que debe seguir, y el desafío es utilizar la mejor combinación de técnicas disponibles en ese lenguaje para resolver el problema dado.
La cantidad de problemas es infinita, pero la cantidad de soluciones óptimas son pocas.
Hacerlo más interesante es el hecho de que los diferentes idiomas tienen diferentes puntos fuertes cuando se enfrentan a diferentes tipos de problemas, aunque cualquier lenguaje completo de Turing debería poder resolver cualquier problema. Pero eso es como decir que se puede construir una casa igualmente fuerte de concreto y de madera. Las técnicas que utilice variarán considerablemente, incluso si la solución (un lugar para vivir) es buena en ambos sentidos.

Sí a la última. Diría que “puedes tener mi teclado cuando lo saques de mis manos frías y muertas”, excepto por haber visto la clásica línea de Men in Black: “tu propuesta es aceptable” (entonces empieza a gritar). 😉

El trabajo varía ampliamente.

Primero, el campo cambia . Cuando empecé, no había internet. Los teléfonos celulares aún no existían. Las PC acababan de salir. Mi primera computadora de hobby usaba un procesador Z-80 de 4MHz de 8 bits y tenía 8k x 8 RAM (8096 bytes). Conocí a personas que habían trabajado con tubos de vacío. ¡Seguir aprendiendo!

En segundo lugar, las empresas varían, y tienen ciclos de vida. Grande. Medio. Pequeña. Contraté a un gigante aeroespacial, donde algunos ingenieros mecánicos tienen carreras que saben todo lo que hay que saber sobre un tipo de cerrojo, y ayudé a iniciar una pequeña empresa en la que hice todo el hardware y el software. Mira el software médico si eres un perfeccionista. Diseño web si eres artístico. Embebido si te gusta tanto el hardware como el software. Unos pocos compiladores expertos. Controles de la máquina. Financiero. ¿Qué te interesa?

En tercer lugar, las posiciones varían. Si eres bueno con la gente, trabaja hacia la gestión. Si no, haz el código. Si te gusta viajar, servicio de campo o ventas. Proyectos de ritmo rápido o plurianuales.

Puedes estar contento con un gerente y odiar al siguiente.

Desarrolla tus habilidades sociales y políticas sin importar lo que hagas.

Me imagino que es la versión mental del gimnasta olímpico, al igual que la gimnasta ejercita su cuerpo para hacer cosas que las personas generalmente no hacen con sus cuerpos de la misma manera en que los programadores necesitan ejercitar sus cerebros para pensar por un período prolongado de tiempo sobre algoritmos y otros métodos abstractos. En términos generales, las personas no prestan mucha atención.

Y así como la carrera de gimnasta cobra peaje en las articulaciones, los huesos y los tendones, de manera similar, estos períodos prolongados de disociación de su cerebro de otras actividades diarias cobran su peaje emocional y social. Basta con decir que la tendencia a la adicción a las drogas, la depresión y la necesidad de psicoterapia seria como se muestra en el Sr. Robot es una ficción no muy distante de las experiencias de la vida real de muchos profesionales de TI.

Hace aproximadamente 4 años era un ingeniero de redes profesional, con un título en redes y un trabajo relevante en una compañía de redes razonable. Luego el giro, en una línea: “Tuve un amigo programador que me presentó, me convenció y me llevó a una carrera de programación”.

Cambié y desde entonces soy programador y me va muy bien. Ahora, si comparo ser un programador con cuando no era uno; Estoy mucho más satisfecho y feliz con mi trabajo actual.

Es un trabajo duro por cierto. Casi todos los días tienes que lidiar con un nuevo problema y aprender algo nuevo. Esto no es tan común normalmente en otros campos.

Una vez que resuelva un problema, o implemente una idea increíble, o diseñe un algoritmo complejo; te da una gran satisfacción y un sentimiento de satisfacción, lo que hace que te guste tu trabajo. La próxima vez que sientas que quieres tomar un desafío más grande.

A los programadores se les paga lo suficientemente bien en casi todo el mundo, en comparación con la mayoría de los otros campos. Ganar más dinero que tus amigos en otros campos también se siente muy bien. :pag

Sin embargo, tendrías que acostumbrarte a hacerlo al principio. Al igual que las matemáticas, puede ser muy aburrido para aquellos que no lo tienen, y para aquellos que tienen su trabajo más agradable.

Entonces, de una forma u otra, definitivamente quiero hacerlo el resto de mi vida.

Ser programador y trabajar como programador pueden ser dos experiencias diferentes. Es por eso que ser un “aficionado” puede ser muy divertido en comparación con alguien que es un empleado regular. Las experiencias de programación pueden variar según la cultura del lugar de trabajo. Algunas compañías protegen a los programadores de interrupciones innecesarias, mientras que en otras es normal que los empleados se desplacen cada vez que desean realizar solicitudes o hacer preguntas. Además, si una pequeña empresa lo contrata, es probable que se le pida que haga algo más que solo programación de computadoras, como la administración del sistema o incluso la edición de gráficos.

Si es el tipo de trabajo que le gustaría hacer, eche un vistazo a su perspectiva de empleador y vea si hay técnicos más antiguos además de los más jóvenes. Si habitualmente ve solo a técnicos de menos de 40 años, es posible que desee hacer otros planes para lo que hará con el resto de su vida laboral futura.

Nunca se sabe qué sucederá en los próximos 10 años, pero esperaría quedarme en mi trabajo. Me gusta ser programador. Me gusta resolver problemas complejos, especialmente si están relacionados con las matemáticas.

El trabajo depende en gran medida de la empresa. Trabajar en un entorno ágil hace que sea divertido, pero también hay muchas empresas que crean una alta presión sobre sus desarrolladores. En todos y cada uno de los casos, debe observar de cerca la empresa antes de decidir si este es el lugar adecuado.

Lo más importante es la pasión. Debes estar interesado en aprender cosas nuevas. Ser programador significa que necesitas estar al día. Si te identificas con eso, tal vez tengas razón. En todos y cada uno de los casos, diría que tengo razón y me encanta mi trabajo.

Si te encanta la programación, es como estar constantemente enojado o (con menos frecuencia) constantemente elogiado (sin área gris). De lo contrario, si usted está buscando un trabajo; podría lograr el mismo resultado (especialmente los aspectos financieros) en campos mucho más fáciles; una vez más, de lo contrario (si aún así has ​​decidido ser programador) te estás bromeando como una criatura empleada (podrías decir que esta es el área gris).

Y no puedo imaginarme haciendo otra cosa, solo las últimas 3 noches; Logré desarrollar un algoritmo basado en la ubicación, un aspecto tan complicado que necesita X, que casi me emborracho sin beber; Yo diría que por lo menos 2 a 4 semanas.

Pero mi último consejo para los jóvenes es: “Corre, corre; y no mires hacia atrás. No hay tal cosa como una Medusa “.

Como nunca tuve un trabajo, responderé: ¿Cómo es tener la programación como un pasatiempo? Depende de mucho factor.
Si decides tomarlo con calma, es muy divertido. Puede hacerlo en cualquier momento y en cualquier lugar (siempre que esté con una computadora). Puedes hacer una tarea trivial (como un sitio web personal html simple para blogs o un juego flash en el trabajo de 1 día) y aún así poder presumir a tus amigos.
Pero si te lo tomas en serio, te conviertes en … Hmm … ¿algo así como tener un hijo, supongo? (Quizás me equivoque en esto porque ni siquiera tengo edad para casarme) Es muy agotador y frustrante porque tienes que presionar constantemente salga de su zona de confort para obtener lo que desea. A veces, paso una tarde tratando de entender un concepto, su algoritmo y el seudo código, tarde y noche para descifrarlo, medianoche para rastrear algunos errores y refactorías, entonces es hora de ir a la escuela. Pero cuando veo lo que mi código había logrado, instantáneamente siento que mi dolor y trabajo duro están justificados.
¿Me arrepiento? Sí: ¡Me gustaría poder tomarme en serio la programación a una edad más temprana!
Consejos finales: Si decide tomar en serio la programación, ¡esté al tanto de su salud / relación / escuela / trabajo! No contradice esto, pero puede que inconscientemente no se preocupen por esto.

de alguna manera, su pregunta suena como una persona ciega que le pide a una persona no ciega que describa los colores …

Creo que es genial ser un programador, lo encuentro relativamente fácil, aunque siempre hay mucho que aprender. Creo que coincide con la forma en que naturalmente trabajo y pienso …

Supongo que lo que realmente me sorprende es cómo reaccionan los no programadores ante los programadores. En esencia su máquina trabaja con lógica booleana. Las cosas solo pueden ser verdaderas o falsas, sí o no, negras o blancas, o porque en realidad son binarias 1 y 0

Todo lo que haces es interactuar con estos 2 estados.

Así que cuando alguien pregunta, X, Y y Z, la respuesta es siempre sí, por supuesto que puedes (lo negativo es que “solo cuesta tiempo y dinero”), así que alguien me pide que haga algo y mientras lo miran. abra Visual Studio y todas estas palabras aparecen en la pantalla, o hago clic con el botón derecho en la página, veo la fuente y empiezo a leer el código allí.

Cuando estoy leyendo, puedo visualizar lo que me dice el código, crear la página a medida que leo el código y puedo encontrar y cambiar fácilmente la pieza que desean modificar (asumiendo que es una página web, si es un proceso que se ejecuta en la En el servidor, me lo imagino como una cadena con insignias en él.

Entonces el programador no me mira con asombro y dice “¡Oh, hombre, quisiera poder hacer eso! ¿Cómo entiendes toda esa basura?” y que siempre me divierte. Cada uno tiene un talento y puede hacer algo que otros no pueden. por ejemplo, puedo leer inglés y francés y un poco de alemán, pero en chino (aparte de los caracteres de Mahjong) ¡no tengo oportunidad! cuando la gente lee chino es como la magia para mí … ¿cómo pueden entender todas esas líneas onduladas?

Ser un programador es un trabajo como ser un lechero, o ser un maestro, o ser un astrofísico. Te despiertas, vas a trabajar, haces lo que tienes que hacer para terminar los días de trabajo, luego te vas a casa, disfrutas y duermes, te despiertas y regresas al trabajo. En días pasados, el equivalente a ser un programador podría ser ser un forjador de metales. Ahora los programadores de días son los creadores de cosas (al igual que los ingenieros y fabricantes), la única diferencia es que casi todas las compañías necesitan programas de todo tipo, por lo que es bastante fácil encontrar un trabajo.

Así que volviendo a la pregunta inicial, ¿cómo es ser un programador? ¡Es genial!

Para algunos, escribir miles de líneas de códigos día y noche mirando una computadora mientras está sentado en una silla y viviendo con dietas de comida rápida es bastante monótono y aburrido. Para otros, todo esto no importa porque están cautivados por la visión, por la idea de las cosas que podrían crear con solo una computadora y un suministro infinito de chips.

Es una gran ocupación. Si lo ves como un trabajo, entonces no es el trabajo para ti.

Si te apasiona resolver problemas y aprender cosas nuevas (y estás dispuesto a gastar el esfuerzo para hacer ambas cosas), entonces tal vez sea una gran ocupación para ti.

No se preocupe, quedará atrapado como programador de una tecnología en particular para siempre. Los programadores se exponen a muchas tecnologías e información empresarial (y personas). Eso puede abrir puertas para ampliar la experiencia, la especialización o oportunidades completamente inesperadas.