Cómo convertirse en un ingeniero de software menos descuidado

Hay pocas cosas que puede hacer no solo para convertirse en un ingeniero menos descuidado sino también para convertirse en un buen ingeniero de software.

  1. Programación de pares: en general, a los ingenieros no les gusta la programación de pares, pero podría ser realmente útil cuando eres nuevo en la industria o nuevo en un área. Encuentre a alguien en su equipo que sea un buen ingeniero y pregúnteles si pueden hacer programación en pareja con usted un par de horas a la semana. Vea cómo escriben el código y qué cosas consideran cuando programan. No necesitas exagerar. A los buenos ingenieros generalmente les gusta ayudar a los demás, así que creo que estarán de acuerdo, a menos que, de lo contrario, estén muy ocupados.
  2. Revisión de código / diseño: Obtenga su código y diseño revisados ​​por otras personas, especialmente de personas expertas en el área. Trabaja en los comentarios que dan. Piense en los patrones de retroalimentación y las áreas para encontrar dónde puede hacer mejoras. También revise el código y el diseño de otras personas. Hacer preguntas. Cuando era nuevo en la industria, mi jefe le pidió a uno de los buenos ingenieros que revisara todo su código y diseño. Me pidió que hiciera muchas preguntas, no importa cuán tontas sean las preguntas. La idea aquí era aprender de su trabajo. Me ayudó mucho y aprendí rápidamente.
  3. Prueba unitaria \ Casos de prueba: antes de escribir código, intente escribir casos de prueba para lo que sea que esté haciendo. Piensa en todos los escenarios posibles. Una vez que haya terminado con el código, verifique si todos los casos están pasando. Si más tarde encuentra algún problema, mire hacia atrás por qué su examen no lo cubrió. La próxima vez, cuide de ese tipo de escenario también. Si se está preparando para la presentación, pregúntese qué tipo de preguntas responderá su presentación. Básicamente aplique este principio a lo que sea que trabaje.
  4. Documento: Hace unos 11 años, cuando era nuevo en una empresa, solía hacer muchas preguntas a mis compañeros de equipo. Había un tipo en particular que tenía respuestas a todas mis preguntas. Comencé a observarlo y vi que solía documentar todo lo útil. Como cualquier cosa que pueda ser útil en el día a día. Lo intenté y me ayudó mucho, comencé a ahorrar tiempo. Cuando solía cometer un error, solía documentar cómo podría haber evitado eso y solía revisar ese documento con frecuencia. Del mismo modo, puede documentar sus errores y la próxima vez intente evitar ese tipo de error. Muy pronto comenzará a encontrar patrones en sus errores, por ejemplo, puede que no sea bueno para los conceptos orientados a objetos, así que puede solucionarlo estudiando (y practicando) durante un par de días.

Podría haber otras formas también para su situación específica. Puedes intentar encontrar un mentor también. A veces las personas ven nuestra posición de una mejor manera que nosotros.

Crea un frasco de fondos para fiestas navideñas. Por cada error de compilación que tenga, ingrese un dólar. Por cada error de tiempo de ejecución, ingrese diez dólares. Por cada error detectado por alguien más en su equipo en su código registrado, ingrese $ 100. Por cada error que encuentre un cliente, ingrese $ 1k. (Las cantidades no son tan importantes como el principio general. Reducirlas en un orden de magnitud puede ser igual de efectivo).

El descuido no es complicado: su conjunto actual de incentivos (entregables y plazos) lo alienta. Ajuste sus incentivos y el problema desaparecerá.

Hay una historia maravillosa de los primeros días de la informática en la que un programador en Birmingham tuvo que esperar a que la furgoneta semanal recogiera sus tarjetas perforadas y las llevara a Londres para correr. Ella obtendría los resultados la semana siguiente. La depuración iterativa llevaría meses, por lo que aprendió a escribir código libre de errores. Esa fue la respuesta racional a los incentivos que tenía. No necesitas hacer nada tan extremo. Simplemente decida cuánto vale un código libre de errores y actúe en consecuencia.

  1. Introspección. Mira lo que estás haciendo, tanto lo correcto como lo incorrecto.
  2. Documentación. Escriba sus decisiones de diseño. Tome notas de los problemas.
  3. Colaboración. Pida comentarios a otros (y esté dispuesto a ofrecer comentarios ÚTILES a otros también).
  4. Atención. Cual es el objetivo.
  5. Sencillez. Mantenlo simple. Es muy tentador crear estructuras complicadas. tratando de resolver todos los problemas posibles, pero eso crea una gran cantidad de software y agrega oportunidades para errores.
  6. Piensa antes de actuar. Escribir código en el teclado no es necesariamente pensar, aunque sí hace que parezca que estás haciendo algo.
  7. Cheque. Prueba tu código. Las pruebas unitarias son un método (y uno bueno).

Primero tienes que diferenciar entre dos tipos de errores; los errores que cometes porque simplemente no tienes la experiencia suficiente o te falta algún aspecto de la profesión de ingeniería de software y los errores que haces pensando “Deja que todo se queme, realmente no me importa”.

El primer tipo de errores necesita su trabajo, necesita que aprenda y gane experiencia. Creo que aprender patrones de diseño e imaginar que algún día tendrá que trabajar en su código para refactorizarlo es una buena manera de ganar experiencia rápidamente y reducir la cantidad de errores sin siquiera darse cuenta.

El segundo tipo de errores es un problema real para usted y sus clientes, si sufre este tipo de errores, es posible que deba considerar algún trabajo que le apasione, incluso si no paga bien, o puede considerar cambiar el carrera o al menos tomando un descanso.

Ser descuidado puede traducirse en no ser lo suficientemente cuidadoso, lo que se puede solucionar con más estudio y experiencia, y puede significar que realmente no crees que valga la pena el trabajo, lo que significa que estás en el tipo de negocio equivocado.

No puedo evitar pensar que si estás cometiendo esos errores descuidados, no estás tan concentrado en absoluto. Nadie puede realmente darle ningún consejo, pero “preste más atención a lo que está haciendo” y “sea menos descuidado”. A juzgar por sus errores ortográficos, no revisó su mensaje. Quizás comience por verificar todo lo que hace. O comienza a trabajar en tu currículum.

Parece que tienes problemas para concentrarte. Una de las cosas más simples que puede hacer para mejorar su rendimiento cognitivo es simplemente irse a dormir a la misma hora todas las noches y asegurarse absolutamente de que esté descansando lo suficiente que necesita su cerebro. Buena suerte.

En mi empresa, cada vez que detectamos un error en nuestro código, lo marcamos. Por lo tanto, tiene una lista de los errores que comete y crecerá y, si deja de cometer un cierto error, puede salirse de su lista. El punto de la lista se convierte en una lista de verificación para revisar y comparar con su código para asegurarse de detectar cualquier error común. La otra cosa es que la ingeniería se trata de resolver problemas y prestar atención a los detalles. Si no está prestando atención a los detalles de su código, debe reevaluar su entorno y sus propias habilidades.

More Interesting

Quiero una referencia para el trabajo de desarrollo de software en Amazon. ¿Alguien puede ayudarme?

¿Puedo comenzar mi carrera en operaciones de desarrollo?

¿Cuál es la diferencia entre un ingeniero frontend de VLSI y un ingeniero de backend y quién tiene un futuro más brillante?

Soy un ingeniero de software que trabaja para una empresa multinacional líder. Quiero hacer mi carrera en el campo de análisis de datos y Big Data. ¿Alguien puede sugerirme cómo puedo ingresar a esta secuencia? En mi empresa actual no estoy teniendo esa oportunidad.

¿Cuál es el procedimiento de selección para el puesto de desarrollo de software en Sokrati Technologies? ¿En qué temas debería concentrarse alguien para unirse a esta empresa?

Cómo pasar al desarrollo de software desde telecomunicaciones

¿Cuál es el mejor país del mundo para trabajar como desarrollador de software y por qué?

¿Debería tomar un breve descanso después de 7 años de carrera profesional y estudiar arquitectura de software?

¿Qué trabajo es mejor en términos de salario y futuro, desarrollador de SAP o desarrollador de software?

¿Puedo seguir siendo ingeniero de software si me especializo en Ciencias de la Ingeniería y Mecánica?

¿Qué tipo de empresas se construyen casi por completo, al menos inicialmente, sobre la habilidad de ingeniería de software?

¿Cómo es el crecimiento de un chico de TI sin un título en informática?

¿Cómo se puede conseguir un trabajo como desarrollador de software de nivel básico (web) en un buen inicio de SF Bay Area?

¿Cómo es Razer Inc. Singapore? Recientemente me ofrecieron un puesto de ingeniero senior de software. ¿Cuál es su opinión en términos de desempeño, cultura, crecimiento, desafíos, instalaciones y equilibrio entre la vida laboral y la empresa?

¿Cómo conseguir un trabajo de ingeniería de software en Amazon? ¿Qué calificaciones se requieren para conseguir un trabajo allí?