¿Cómo puedo volver a ser un desarrollador seguro?

Así que esta es la historia: soy un recién graduado de informática que ha estado trabajando para una empresa del gobierno durante aproximadamente medio año, no porque fuera mi primera opción, sino porque tomé su beca universitaria y no tengo medio millón para devolverles el dinero. Es triste porque inicialmente tuve una oferta de trabajo en Silicon Valley, pero tuve que rechazarla y regresar a mi país natal debido a toda la situación.

Actualmente, mi trabajo gira en torno a más trabajo de I+D y consultar a los clientes, por lo que paso gran parte de mi tiempo organizando reuniones y haciendo papeleo, en lugar de trabajar en desarrollo, que es lo que realmente disfruté en prácticas anteriores en otros lugares. La cultura es trabajar individualmente en un proyecto, el control de versiones rara vez se usa (!) y no estoy interactuando mucho con otros miembros del equipo. Me he esforzado mucho por encajar, pero me siento aburrido y triste la mayoría de los días, como resultado, está afectando mi desempeño.

Estoy haciendo todo lo posible para salir de este agujero, siendo más activo en Stack Overflow y teniendo algunos proyectos paralelos (que encuentro mucho más interesantes que mi trabajo), con la intención de enviar algunos parches a código abierto pronto, pero A menudo vuelvo del trabajo cansado y desmotivado, rodando en la cama en lugar de buscar trabajo y trabajar en mis proyectos.

¿Cómo puedo obligarme a continuar con el trabajo debido a las deudas? ¿Qué puedo hacer para recuperar la confianza en mí mismo como programador?

EDITAR: ¡Gracias por el consejo, es esclarecedor ver diferentes perspectivas y es genial tener un grupo de personas experimentadas y de apoyo aquí en Stack Exchange! Ahora volvamos a esos bichos...

Hola d3lphi, bienvenido a Workplace, el sitio de preguntas y respuestas para preguntas sobre cómo navegar en el lugar de trabajo. Algunos puntos, primero, sugeriría aclarar el punto sobre el género, ya que las personas de cualquiera de los dos podrían tomar su declaración de manera incorrecta. Además, voy a editar un poco la última parte de su pregunta para que se centre en encontrar respuestas al problema y no en una encuesta. Siéntase libre de hacer otra edición para enfocarse en aclarar la pregunta si mis ediciones no dan en el blanco. ¡Buena suerte! :)
Yo diría proyectos paralelos y/o de código abierto. Además, podría tratar de hablar con su jefe sobre la situación (a menos que tenga que pagar la deuda si lo despiden, ¿qué tiene que perder?)
Un momento, ¿cuál es tu función en esta pasantía? ¿Se ve empujado a manejar clientes y administrar reuniones debido al problema de confianza cuando debería estar escribiendo código? ¿Por qué este equipo del gobierno te daría esta pasantía solo para que no contribuyas con las habilidades que has ganado? Tiene que haber alguien allí que espere y quiera más de ti que eso. Si no lo hay, convierte a esa persona en ti y haz que te despidan para que seas libre de conseguir ese trabajo en Silicon Valley.
@Amy: Sí, tendré que pagar la deuda de todos modos (¡con intereses!), pero cuanto más tiempo me quede, menor será. Pero cambiar la situación tanto como sea posible y hablar con la gerencia superior suena bien.

Respuestas (3)

Hace un año, estaba casi o incluso en una situación peor que la actual, luchando con las preocupaciones monetarias y familiares. Me tomó 2 años ordenar las cosas de mi hogar para estar en un lugar donde se suponía que debía estar después de completar mi graduación de CS stream.

Entonces, desde mi experiencia personal, te puedo sugerir lo siguiente:

  • Trate de mantenerse positivo, independientemente de la situación.
  • "Roma no se construyó en un día", por lo que con su carrera debe continuar con el proceso de desarrollo.
  • La TI es una de las industrias más dinámicas, necesita estar actualizado para seguir el ritmo.
  • Trate de ahorrar algo de tiempo de su trabajo diario y el código abierto realmente sería una buena opción (sugerido por algunos usuarios aquí, como se preguntó una vez Mi pregunta ).
  • Para fines de codificación, intente obtener conceptos sobre patrones de diseño, escritura de algoritmos, programación, etc.
  • Mire este sitio: http://projecteuler.net/ ; Lo estoy usando para mejorar mi codificación.
  • Puede ser que a algunas personas no les guste esto como respuesta, pero desde mi experiencia personal, Workplace es un gran lugar para mantener una actitud positiva, siga las preguntas y respuestas, ya que seguramente descubrirá que no es el único que está luchando.
  • También intente escuchar a sus amigos, familiares y pídales sus sugerencias sobre la configuración de su carrera, pero deje la decisión final en sus manos.

Una cosa que probablemente debería tener en cuenta es que, si bien ser desarrollador es algo grandioso (yo mismo lo he sido durante casi 30 años), no puede subestimar el beneficio a largo plazo de aprender a relacionarse y, lo que es más importante, escuchar. a sus clientes Ya sea que elija creerlo o no, se encuentra en una muy buena oportunidad en este momento, por lo que ha descrito. Tienes la pasión que requiere un desarrollador para tener éxito, pero ahora, probablemente necesites trabajar en la paciencia y las habilidades de interacción social que no siempre se obtienen cuando pasas de seis a ocho horas al día frente a una computadora. . Incluso si planea trabajar para usted mismo, debe considerar esta oportunidad para aprender sobre el lado comercial del desarrollo de software.

Trabajar en proyectos paralelos para mantener tus habilidades frescas y nítidas es una muy buena idea, pero dale una oportunidad a este puesto por un tiempo más. Si el trabajo es tedioso y aburrido, use su experiencia técnica para encontrar formas de mejorar la calidad de su tiempo. Desarrolle pequeños proyectos de automatización del flujo de trabajo para ayudarlo a mantener sus tareas bajo control y también para brindarle la oportunidad de flexionar sus músculos de codificación. Parece que te están diciendo lo que debes hacer, pero no cómo debes lograrlo. Así que no tengas miedo de usar tu imaginación. Si lo manejas bien (lo que confío en que eres capaz de hacer), las personas adecuadas se darán cuenta, lo que no dañaría en absoluto tus aspiraciones profesionales y definitivamente hará que los días transcurran mucho más fácilmente.

A veces, aplicar el dicho "Cuando la vida te dé limones, haz limonada" no es tan difícil como lo hacemos nosotros mismos...

Pero, ¿y si realmente odias la limonada también?
sin mencionar que sus "clientes" más importantes serán su jefe y aquellos con los que se entreviste
@Erik Reppen: "¿Pero qué sucede si realmente odias la limonada?" Luego lo das o lo vendes a otros. O haz cuadrados de limón en su lugar y regálalos o véndelos. O lo cortas en rodajas finas y lo decoras con un gin-tonic, y lo bebes, lo regalas o lo vendes. O cambias los limones por limas, los exprimes y los pones en una licuadora con hielo, triple sec y tequila. Pero todos esos son un poco menos concisos como dichos.

Me he encontrado trabajando en un entorno similar antes. Todavía podía hacer mucha programación, pero la cultura del aislamiento era un problema igual de importante. No solo sufrieron mi motivación y rendimiento, sino que no hubo contrapeso a mis debilidades, por lo que el software resultante también sufrió. La combinación eventualmente resultó en que me soltaran antes de que pudiera cambiar las cosas.

Estas son sugerencias que tengo basadas en lo que funcionó y no funcionó para mí:

  • "Permanecer positivo" es absolutamente un buen consejo, pero una de esas cosas que es simplemente molesto de escuchar. ¡No es como si no lo estuvieras intentando ya! Intenta concentrarte en ti mismo y en lo que puedes hacer para ser un mejor desarrollador y un mejor jugador de equipo. Imagina que estás en ese dulce trabajo de Silicon Valley, pero aún tienes que hacer este tipo de trabajo mientras pagas tus cuotas como el chico nuevo. Hazlo como si quisieras impresionar a tus increíbles nuevos jefes mientras minimizas el tiempo que pasas sin programar. Use su conocimiento de CS para ayudar a diseñar el flujo de trabajo para que coincida mejor con la estructura técnica del proyecto. Trabaje en la optimización de la creación de documentos mediante la exploración de plantillas y el aprendizaje de métodos abreviados y sugerencias para la edición de documentos.
  • Neil tiene razón sobre la oportunidad de mejorar tus habilidades de comunicación. Comprender los deseos y necesidades de un cliente, y saber detectar las diferencias, siempre será una habilidad esencial. Deje que la emoción de los clientes sea contagiosa y concéntrese en ayudarlos a lograr sus objetivos; déjalos ser tus compañeros de equipo. Si eres un introvertido como muchos programadores, esfuérzate por ser encantador y afable también. Piense en ello como una práctica empresarial; esta es una de las clases requeridas para ser una puesta en marcha exitosa.
  • Lo mismo ocurre con la automatización del flujo de trabajo. Siempre que sea posible, escriba y automatice las tareas mundanas y regulares. A medida que las pequeñas empresas se vuelven exitosas y crecen, esta es un área que comienza a afectar seriamente el progreso. El mantenimiento es un sumidero de tiempo sustancial; conviértete en un gurú en minimizarlo con fuerza.
  • Si el control de versiones no se usa realmente, eso le da mucho margen para aprender a configurarlo y desarrollar buenas tácticas de bifurcación y hábitos de compromiso. Puedes experimentar con ideologías y tecnologías sin impactar a los demás. Configure un repositorio de Git para usted y practique el malabarismo con las ramas de desarrollo, corrección de errores y lanzamiento, juegue con secuencias de comandos automáticas para agregar numeración de versiones, etc. Si estará allí el tiempo suficiente, aprenda más de una forma de hacerlo.
  • Como dijo swapnesh, trabaja en tus habilidades de desarrollo. Si todavía programa cosas, practique algunas de las metodologías de desarrollo de software tan verdaderamente como pueda por su cuenta. Probablemente sea bastante difícil Scrum como una sola persona, pero aún puede tener una idea. Infórmese sobre los patrones de diseño y las mejores prácticas. Tal vez un programa que necesita escribir sea apropiado para usar Class Factory aunque nunca se amplíe lo suficiente como para que marque la diferencia. Todavía puedes usarlo para practicar. Incluso podría probar diferentes arquitecturas para el mismo problema para aprender a usarlas en la práctica.
  • El aislamiento puede ser un gran problema. No solo se refuerza a sí mismo, sino que es fácil culpar a las personas por no esforzarse más. Almuerzo con gente, tanto como la cultura lo permita; Brown-bagging es frugal, pero tiene un costo social. Averigüe en qué son buenos o les encantan otras personas y trátelos como expertos locales en ello. Digamos que una persona es conocida por la programación de redes y necesita implementar algún análisis de mensajes o similar. Elabore su plan y luego pregúnteles si creen que funcionará o podría mejorarse. O pruebe su plan y haga lo mismo si necesita alguna modificación. No importa lo buenos que sean tú o ellos; les darás la oportunidad de sentirse bien mostrando su experiencia y socializar al mismo tiempo. Es importante para la vinculación, y si comienza a ponerse de moda, es posible que tenga más oportunidades de trabajar en el código. Esto también funciona para todas las cosas que no son de programación que tiene que hacer.
  • Ahora no es el momento de ser agresivo para desafiar el statu quo. Si intenta defender el control de versiones para todos o algo similar, es probable que fomente el resentimiento, aumente el aislamiento y comience a ser visto como un pícaro. No tenga miedo de ayudar a mejorar las cosas, pero sea humilde y servicial al respecto. Las cruzadas no ganan amigos.

Con suerte, esta publicación de fin de año es útil para usted o para alguien más que la encuentre. El punto principal aquí es concentrar sus esfuerzos en ser un buen programador . Tu trabajo aún está lleno de oportunidades para mantener tus garras afiladas y aprender más, solo tienes que encontrarlas y aprovecharlas tú mismo. Crecer es lo que aumentará tu confianza en ti mismo y, a medida que hagas que tu entorno de trabajo sea cada vez más productivo para ti , se volverá más tolerable.