No describiría ningún trabajo de programación como emocionante. Te sientas en una oficina mirando una pantalla. A veces resuelves intrincados rompecabezas lógicos, pero la mayoría de las veces intentas escribir un código que resuelva el problema dado de forma sencilla, clara y fácil de mantener. Cuando interactúas con otras personas, es sobre todo para discutir cómo deben encajar tus diferentes piezas de software. Siempre corres el riesgo de pasar vergüenza cuando tu código no resuelve del todo el problema o lo hace a costa de causar más problemas en otros lugares. Por lo general, te enfrentas a una enorme masa de código existente que no has escrito y que no comprendes del todo, pero con el que debes solucionar problemas y añadir funciones. En muchos de estos trabajos hay mucho estrés, por la presión de los plazos y la competencia dentro de tu grupo o entre grupos. Además de todo eso, tienes que estudiar regularmente para mantenerte al día con los cambios de lenguajes, bibliotecas y herramientas.
No me malinterpretes, es una gran manera de ganarse la vida si tienes la personalidad para ello. Lamentablemente, la mayoría de la gente no la tiene, pero si eres uno de los pocos afortunados, es como si te pagaran por dedicarte a tu afición.