Necesito que algunos de ustedes recuerden una época en la que podrían haber sido malos programando ...
Estuve en mi nuevo trabajo (como desarrollador de software) durante un par de meses, pasé el período de prueba. Tengo muy poca experiencia en programación (solo C ++) y actualmente estoy trabajando con asp.net MVC y silverlight. Entonces, hay un sitio web en el que la compañía ha estado trabajando y me estoy uniendo al esfuerzo para mejorarlo, eliminar errores, etc.
El problema es: aprender sobre un sistema / sitio web que ya se ha creado, a través de Visual Studio. SIEMPRE me siento MUY abrumado, sin saber nunca qué parte de esta línea debería mirar hacia arriba y, en general, teniendo muchos problemas para obtener el panorama general. Visual Studio en sí es algo con lo que me resulta difícil familiarizarme, y mucho menos el marco asp.net.
Tengo la impresión de que, debido a que mis compañeros de trabajo tienen más experiencia que yo, están obteniendo todos los buenos trabajos, y me quedan muchas cosas que hacer, cosas que ni siquiera se programan vagamente. Lo que significa que están aprendiendo / creando más, y yo estoy aprendiendo / creando casi nada. Me estoy desmoralizando y demasiado asustado para decir algo.
No soy estúpido, he leído y practicado muchos de los conceptos fundamentales de programación ... Me da mucho miedo este maldito marco. Lo miro y me siento paralizado.
El resultado es que sigo haciéndole preguntas al veterano mayor, y él se irrita y prefiere darme trabajos fáciles / sin sentido / que no sean de programación para evitar perder el tiempo ayudándome. Luego, cuando no entiendo algo, dudo si debería o no preguntarle aún, y trato de decidir si sería una pérdida de tiempo.
Soy el tipo de persona que recoge las cosas lentamente, pero con mucha atención a los detalles. Sin embargo, lo primero que creo me hace parecer incompetente.
Alguien llegue de donde vengo, por favor diga algo útil ... Tengo miedo de perder mi trabajo en unos meses o algo así ...
fuente
Respuestas:
Proceso que las personas deberían estar haciendo en un trabajo como nuevo empleado
Apurar a un desarrollador ecológico sin experiencia en el dominio demasiado rápido causará demasiados problemas. Obtendrás las cosas nuevas de chico porque necesitas obtener las cosas nuevas de chico.
Cuelga ahí
fuente
Lo primero es lo primero. Eres el novato Obtendrás las asignaciones de basura. No hay forma de evitar eso. Debe comprender que esto no es malicioso. Como usted mismo ha dicho, estos muchachos tienen más experiencia y son más hábiles. También es probable que también tengan una calificación salarial más alta. Lo que significa que, desde el punto de vista del proyecto, su tiempo es precioso y más valioso que el tuyo. Entonces pueden hacer las tareas más avanzadas (y divertidas), dejándote con el trabajo más mundano (pero aún importante).
Ahora, lo importante es no quedarse atrapado en la rutina para siempre. Aproveche cada momento posible para familiarizarse con el proyecto y las herramientas disponibles. Puedes jugar al Buscaminas cuando estés muerto. Sé que aprender una nueva plataforma y ponerse al día con un proyecto existente es una perspectiva muy abrumadora. El truco consiste en cortarlo en trozos más pequeños y abordarlos uno por uno. En tus zapatos haría algo como esto:
Si esto parece mucho trabajo, es porque lo es. Pero los dividendos que eventualmente recaudarán son más que una amplia compensación.
fuente
¿Qué tan seguro estás de esto? Le pregunto a alguien que, en general, cuando está comenzando algo nuevo, se están haciendo todo tipo de aprendizaje que quizás no se dé cuenta. ¿Qué tan bien te has acostumbrado a Visual Studio? Recuerdo que fue bastante aterrador aprender el IDE desde cero cuando comencé a trabajar en 1998, pero fue un momento interesante en algunos aspectos. ¿Qué tan bien conoce el software de seguimiento de errores? ¿Qué tan bien te haces una idea de todas las diferentes personas en el equipo? Probablemente hay más de unas pocas cosas que está aprendiendo, aunque es posible que no las vea como cosas importantes para aprender.
Mi consejo sería considerar hablar con algunos compañeros de trabajo o con su jefe para ver qué tan bien o mal le está yendo. Pueden decir: "Sí, lo estás haciendo bien" o "¡Eres increíble!" que es algo que quizás tengas que aceptar, aunque algunos simplemente lo digan porque tienen miedo de decir la verdad. Al mismo tiempo, reconoce que aquí es donde descubres dónde estás parado y luego haz algo al respecto. Al estar allí durante un par de meses, debe saber algunas cosas y así poder hacerlo mejor de lo que lo hizo en su primera semana.
He escuchado y dicho ese tipo de líneas docenas de veces en mi carrera, de verdad. Hay un par de puntos diferentes que haría sobre una línea así:
Puede ser una estimación, por lo que la persona puede haber olvidado un caso peculiar que hace que la solución sea un puñado de líneas. Sé que he tenido momentos en los que pensé: "Eso debería hacerse de alguna manera en una línea de código", solo para descubrir más tarde lo que me perdí.
Algunas líneas de código pueden ser ridículamente complicadas. ¿Alguna vez viste un if donde hay docenas de corchetes para imponer una lógica en la que tomó un puñado de veces leer la condición correctamente? Sé que tengo
Considere qué tipo de imagen de la aplicación tiene ahora y cómo ve diferentes piezas encajando, qué convenciones usa generalmente el código, qué tipos de metodología de desarrollo se usan y qué herramientas se usan para varios procesos, por ejemplo, si hay un servidor de integración continua, ¿hay un guión gráfico, etc.
fuente
Toma tiempo. Un par de meses es poco tiempo. A menos que no veas futuro en tu compañía actual, le daría más tiempo.
Es común trabajar en productos existentes. De hecho, lo hará con más frecuencia que los sistemas nuevos. Se necesita mucha habilidad para mejorar los sistemas existentes que ya están en producción. Eso no es necesariamente algo malo.
Buena suerte en tu nuevo trabajo.
fuente
Siga haciendo preguntas, pero demuestre iniciativa , sin embargo, también; haz todo lo que puedas antes de pedir. Es como hacer preguntas aquí en Stack Exchange.
fuente
Tome un buen libro en asp.net y probablemente también en .net framework y léalos detenidamente fuera del horario laboral. Te sentirás bastante seguro en el trabajo una vez que los hayas leído. También es increíble trabajar prácticamente en lo que estás aprendiendo. El código tendrá sentido para usted a medida que lea y, por lo tanto, la lectura también será más divertida. Debería aprovechar al máximo el tiempo que tiene ahora mismo, no se le están lanzando muchas tareas, así que aproveche este tiempo con prudencia.
fuente
Creo que puedo hablar por muchos de nosotros diciendo que por un momento me pregunté si mi yo pasado se había transportado al futuro para hacerme esta pregunta en programmers.se. Esto es más o menos lo que le diría a mi pasado si estuviera cara a cara con él cuando estaba en tus zapatos:
No se desanime : va a ser difícil y algunos días odiarás lo que estás haciendo y desearías poder ser jardinero u otra cosa que no sea de programación. Levántese del suelo, desempolvese y continúe, porque mejorará y el trabajo que haga mejorará.
Use StackOverflow y Google , no sea un "programador de copiar y pegar", pero tenga en cuenta que hay TONELADAS de personas inteligentes en SO y en el resto de la web que están dispuestas, listas y felices de ofrecer ayuda. Además, la respuesta SO o la publicación del blog no se quejarán de ti ni te darán miradas sucias si sigues releyéndolos para asegurarte de que lo entiendes.
Siga haciendo preguntas : siempre que esté haciendo su parte para descubrir lo que puede, no hay nada de malo en pedir ayuda a alguien con más conocimiento y experiencia. Si su compañero de trabajo quiere ser un imbécil al respecto, busque otro compañero de trabajo que esté más dispuesto a ayudarlo o, como otros lo han dicho, créelo con él o ella y vea lo que dice. Un poco de comunicación en situaciones como esta puede ser muy útil.
Sigue intentándolo , no te rindas. La programación es difícil, pero eso es parte de la recompensa. Se necesita mucho tiempo y esfuerzo para aprender una nueva herramienta, marco, lenguaje, paradigma, etc., pero vale la pena porque cada vez que lo hagas mejorarás y el acto de impulsar esa experiencia de aprendizaje te preparará mejor para la próxima vez que lo enfrentes. Estoy trabajando en una base de código mucho más grande que en mi primer trabajo, pero he podido aprenderlo mucho más rápido debido al aprendizaje que he tenido en el camino.
Dése un poco de crédito : ha logrado convertir la experiencia de C ++ en un trabajo trabajando con ASP.NET MVC y Silverlight. Estás en programmers.stackexchange buscando ayuda. Estás trabajando, intentando y haciendo lo que puedes para mejorar. Estás haciendo lo correcto, y ya estás haciendo una buena parte del camino en virtud del hecho de que pudiste conseguir un trabajo de programación. Sigue así y será más fácil.
Encuentre algo que hacer al lado : hacer una programación que sea demasiado difícil o demasiado mundana o lo que sea que pueda desgastar rápidamente su disfrute de la nave. Encuentre un proyecto en el que pueda trabajar para usted, aparte del trabajo, uno que no sea demasiado desafiante pero que mantenga su interés y lo mantenga entusiasmado con la programación. No solo lo salvará de odiar la codificación, sino que cada pieza de código que escriba lo ayudará a perfeccionar sus habilidades y sus proyectos personales se verán bien en los currículums si decide que este trabajo no es adecuado para usted.
Lo siento si esto suena como una charla demasiado grande. Acabo de estar en tus zapatos y sé cómo se siente. Esperemos que este y los otros consejos de la gente aquí sean de ayuda para usted. Ah, y una cosa más: comenzaste tu pregunta con esta línea:
¡Aun lo estoy! ¡Todos lo somos! Seguimos trabajando en ello y tratando de chupar menos cada año .
fuente
Le pasa a todos en la programación. Incluso los programadores con muchos años de experiencia tendrán una curva de aprendizaje sustancial cuando se enfrenten a un sistema complejo que ha existido durante muchos años. Es raro entrar a un trabajo con casi todo el conocimiento que necesitará. Puede esperar sentirse abrumado por un tiempo a menos que esté trabajando en un desarrollo 100% nuevo en una empresa / división relativamente nueva o sistemas muy simples.
fuente
Creo que tu preocupación es realmente válida. Pero no debes preocuparte demasiado .
Como nuevo empleado, por supuesto, obtendrá las tareas que nadie quiere hacer. Como tarea que queda por hacer, tarea que es más mecánica y desagradable.
Realmente siento tu dolor, porque todos aquí, como yo, ya han estado allí. Lo que necesita es hacer las cosas rápido y hacer lo mejor que pueda .
De esta manera: la gente verá que puedes hacer cosas cada vez más difíciles, que realmente estás dando lo mejor de ti y que realmente mejorarás, lo que te permitirá rendir aún mejor y dejar una buena impresión (de la manera correcta).
Y también se paciente . Lleva algo de tiempo, pero vale la pena.
fuente
Paciencia. Hace 20 años, cuando era el chico nuevo, me enviaban de vuelta a la sala de servidores para reiniciar los enrutadores que fallaban todo el tiempo. Consejo rápido: para aprender un nuevo marco cuando tenga un código existente, intente agregar otro campo a un formulario existente y luego lleve sus efectos hasta donde iría a una base de datos. Siguiendo el valor de otro campo que ya está en ese formulario. Aprenderás una tonelada.
fuente
Entre sus opciones: encontrar un trabajo donde no se espera que empiece a correr. No todas las empresas son un buen lugar para un trabajo de nivel de entrada. Una corporación de consultoría importante (por ejemplo, Dell o Accenture) puede ser un infierno que agota el alma para permanecer como programador regular, pero deben tener programas de capacitación sólidos y los recursos para lidiar con los gastos generales de los empleados con su estilo de aprendizaje.
El corolario es que es muy posible que sea el empleado incorrecto para su empleador actual y viceversa. Si bien perder su trabajo es una propuesta aterradora, podría ser mejor reducir sus pérdidas.
Por supuesto, no digo que debas rendirte. Existe una buena posibilidad de que solo necesite más tiempo para superar la peor parte de la curva de dificultad y llegar al punto en que todo "haga clic".
Otras observaciones aleatorias:
La razón principal por la que ponerse en marcha con nuevos proyectos se vuelve más fácil con la experiencia es porque habrá trabajado con la mayoría de los sistemas en los que consisten, por lo que no son realmente "nuevos". No existe una "experiencia general", solo estar familiarizado con una gran cantidad de conceptos, marcos y herramientas y aprovechar el problema relacionado con las cosas con las que está familiarizado. Para un programador de nivel básico sentirse abrumado con un sistema no trivial es perfectamente normal. (Como lo es para un programador experimentado si trabaja en un sistema con suficientes cosas que son nuevas para él. La programación es una bestia compleja, y la mayoría de los programadores tienen una "zona de confort").
fuente
La programación es un proceso de aprendizaje interminable. No entraré en lo que te hará sentir mejor, pero abordaré esa sensación de abrumador, haber estado allí y ocasionalmente sentirme así. Saltar a un gran proyecto mientras aprende el IDE y la tecnología que se está utilizando es muy difícil de manejar. Estoy en un trabajo donde estoy usando VS 2010, C #, WPF, SQL Server y MVVM por primera vez. Entonces, nada ha sido fácil sin toneladas de Google.
Considere algunas cosas: pasó el período de prueba, por lo que les gusta lo que hace. Creen en ti como empleado. También saben que eres nuevo y no esperan que absorbas 10 años de experiencia abriendo VS un par de veces. Te permitirán crecer. Eres una inversión y un activo: no quieren que fracases y si muestras progreso y deseo, te mantendrán cerca para tener éxito.
En lo que respecta al hombre mayor "irritado", está 100% equivocado. Si muestra una inclinación por el esfuerzo y la investigación antes de preguntar, no tiene motivos para irritarse. Parte de ser un líder es liderar, alguien diría que es una gran parte. =) Si está liderando con ese pobre ejemplo, han elegido al hombre (o mujer) equivocado. Aborde el tema con él y hágale saber que aprecia la ayuda. Los desarrolladores pueden ser hoscos y, a menudo, pueden estar un poco llenos de sí mismos. Si es un problema, hable con su gerente al respecto. Una vez más, eres un activo y hacer que alguien obstaculice tu crecimiento al no ayudar, ya que debería dañar al equipo.
Lo más importante: no te preocupes. Si te esfuerzas y te gusta lo que haces, es una garantía de que mejorarás y liderarás ese equipo algún día o algo así. Si son inteligentes, te darán bocados que puedes masticar.
Por último, tengo 6 años y sigo aprendiendo. A veces, cuando no lo "entiendo" de inmediato, me deprimo un poco. Yo, como tú, solo tengo que decirme: 'Cálmate, el mundo no se acaba. Es .Net por el amor de Dios.
fuente
En primer lugar, acepte el hecho de que no es bueno programando. Si no quieres aceptarlo, entonces será un problema. Eres un novato Sé práctico. Y sé sincero contigo mismo. Período. ¿Aceptado? Entonces sigue leyendo.
En segundo lugar, demuéstrate a ti mismo (y a nadie más. Repito, nadie más que tú) que ya no eres un novato y que puedes descifrar, hacer, depurar el código más sucio y atrozmente escrito. Puede encabezar las listas, esperar la escala salarial más alta de su buen jefe, demostrándose a sí mismo que ya no es un novato .
Ahora, llegando a la respuesta real: ¿Cómo diablos se supone que debes hacer eso entre tus apretadas horas de trabajo, tu familia, tu tiempo libre? Sí. Sé que no es fácil. La forma en que lo hago Y, con mucho, creo que es el más efectivo:
Obtenga sus conceptos básicos de forma correcta : los conceptos de OOP deben integrarse dentro de su cerebro.
Códigos de diseño (en lugar de Castillos) en el aire Sé que suena loco, pero ver las ruedas de los autos como funciones ayuda al cerebro humano a acostumbrarse al mundo de la codificación.
¡Practica en papel primero! Mi profesor me contó este truco. Practica en papel primero. Seco Ejecute sus programas en el propio papel. Te ayudará a entrar en el flujo de un compilador + abrirá esas puertas lógicas en tu cerebro.
Diseña tu propio proyecto sí. ya sea una calculadora basada en CLI. diseña tu propio código. Hazlo único. ¿Por qué tu propio programa único? Porque te obligará a pensar '¿Cómo se supone que debo hacer esto?' y no forzarte a frustrarte. Y cuando tenga dudas, pregunte a Herbert Schildt (perdóneme si la ortografía no es correcta) o Google o deje una pregunta aquí. Esta es la mejor manera de autoaprendizaje e improvisar tus habilidades.
Cuando me presentaron a C, yo también lo pasé mal. Especialmente con Estructuras n Punteros n Blahs n blahs. Aprendí estas cosas en tiempo extra ... de la manera más difícil si puedes llamarlo. Y luego, cuando estaba roto, no perdí la esperanza. Compré un libro de referencia y comencé a hacer un programa que siempre quise. Después de 3 meses (¡sí, puedes reírte!) Finalmente hice una versión CLI de un programa que tomará tu nombre como entrada y mostrará tu personalidad como salida. Acrofonología
Sí. ¡Me estoy jactando porque me siento orgulloso de ello! Porque vi las caras de mis mayores que solían burlarse de mí. Todo es determinación mi amigo! ¡La programación no es ciencia espacial! Si hubiera sido así, ¡no habrías pasado por la libertad condicional! ¡Es fácil!
Mi creencia personal: si tienes lógica en tu cerebro y entiendes lo que es sentido común, puedes ser un buen programador.
Y la buena noticia es que tienes ambos. ¡Porque si no lo hubieras tenido, no habrías dado el paso correcto al compartir tu problema con nosotros!
Si te sientes bien ahora, estoy feliz. Y sí, ahora puede ignorar la primera línea de esta respuesta ... era necesario entonces ... ¡No es necesario ahora! ¡Aclamaciones!
fuente
Descargo de responsabilidad: Soy de la opinión de que su problema, aunque específico del programador, se enfrenta a nuevos profesionales / profesionales en todos los campos. Quiero decir, nadie sabe nada durante los primeros meses, y los chicos nuevos siempre tienen las peores tareas ( excepto tal vez cuando estas tareas son demasiado críticas).
Todavía soy malo en eso. No hay dudas.
Nuevamente, recuerde que cada jugador fue un niño de pelota una vez. Para trabajar en algo bueno, primero debe demostrar su valía en cosas que no le gustan, y esto es común en todos los campos, no solo en la programación.
¿Qué te hace sentir paralizado? ¿Temes volver al marco una vez más , o simplemente odias verlo por completo?
Siempre trate de dividir sus problemas en uno o más pasos simples. Luego continúe con cada uno por separado. Aquí no hay una bala mágica, excepto para seguir colgando, y eso es lo que importa.
A medida que el nuevo individuo, que se enfrentan a problemas en llegar a conocer las herramientas que trabaja con (VB, ASP, etc.) y las cosas que trabaja en (el marco ). Esto es natural Todos lo enfrentamos. Su principal prioridad debe ser continuar.
¡Sigue aprendiendo los idiomas, sigue haciendo preguntas, sigue buscando en los marcos y repite!
fuente