En un nivel individual:
- Curiosidad: querer aprender más y saber más. Cuanto más conocimiento tenga, más capaz será para crear y resolver diferentes situaciones;
- Creatividad: el conocimiento es el combustible para la creatividad, y usted necesita creatividad para descubrir diferentes formas de resolver diferentes situaciones;
- Enfoque y disfrute / pasión en resolver problemas y construir cosas, porque el desarrollo se trata de construir cosas y descubrir cómo detectar dónde están los errores y cómo solucionarlos. ¿Es algo que disfrutas hacer? ¿Incluso por horas? Para algunos puede ser adictivo como jugar un juego de consola: es una buena señal si puedes entrar en flujo, que es un estado mental muy concentrado;
- Alguna obsesión por estructurar y afinar: arquitectura de aplicaciones, estructuración de código y refactorización … ¿Qué tan obsesionado está con la construcción de una buena estructura? Una buena estructura y arquitectura es algo que puede garantizar que todo sea fácil de mantener y escalable.
En el nivel de habilidades blandas:
- Bueno para comunicarse y trabajar con el equipo, incluidas las personas no técnicas. ¿Puedes comunicarte claramente con ellos y de una manera que puedan entenderlo claramente? ¿Puedes trabajar con ellos sin problemas?
- Ayudar y obtener ayuda, apoyarse mutuamente: ayudarse mutuamente puede ahorrar toneladas de veces. No gastes durante horas, deja que alguien se pierda por horas, lo que puedes resolver en minutos cuando otra persona o tú ya has tratado el mismo problema anteriormente;
- Predecir diferentes escenarios e impactos: cuando alguien pregunta sobre una implementación o habla sobre posibles soluciones, ¿cuántos impactos y posibles implicaciones, así como las dificultades y las partes afectadas de la aplicación puede predecir? Si un diseñador no técnico sugiere un botón adicional con funcionalidades adicionales en una interfaz, ¿puede predecir estos escenarios para evitar impactos negativos o sugerir mejores alternativas?
- Proporcionar soluciones además de señalar problemas: cuando alguien propone algo que podría no funcionar o ser la mejor solución, o solicita una posible solución, o cuando ve algo que no está bien diseñado, simplemente señala los puntos negativos o también puede sugerir soluciones alternativas? Los gerentes y los miembros del equipo a menudo valoran a aquellos que no solo señalan problemas sino que también brindan posibles soluciones.
A nivel profesional:
- Un ingeniero de software se casa con un ingeniero de software. ¿Cómo serían sus vidas?
- Cómo evaluar la madurez de un equipo de ingeniería de software
- A un ingeniero de software experimentado se le ha ofrecido un trabajo de Data + ML. ¿Qué debería hacer ella?
- ¿Cómo debo prepararme para una entrevista telefónica de prácticas de Amazon SDE?
- ¿Cuáles son las características de un mal ingeniero de software?
- Mantenerse al día con las tendencias tecnológicas: es importante que un desarrollador se mantenga al día con la evolución tecnológica y aprenda nuevas pilas tecnológicas;
- Obtenga más información sobre patrones, diseño, mejores prácticas, etc. – lea Code Complete 2, mire los videos del tío Bob, etc., siempre aprenda sobre el arte y la ciencia del desarrollo de software, desde algoritmos y código hasta arquitectura;
- Obtenga una mejor visión general: no solo sea ese codificador que codifica en la esquina, sepa cómo funcionan los diferentes equipos, cómo encajan las piezas en un equipo, cómo se influyen entre sí las diferentes partes del proyecto, cómo se puede utilizar la tecnología para resuelva qué problemas comerciales, sí, aprenda sobre los aspectos comerciales y de diseño de la ingeniería de software también, incluso si es superficial y no demasiado en profundidad;
- Adapte su trayectoria profesional: sepa a dónde quiere ir y cambie cada vez que sienta que su lugar actual ya no le está enseñando cosas nuevas. Nada es más una muerte profesional que quedarse en un lugar donde ya no puedes aprender durante años;
- Aprenda su propio valor de mercado y aprenda a promocionarse usted mismo, negociar adecuadamente.