¿Cuál es un buen consejo profesional para un joven ingeniero de software?

Elija un problema (¿una aplicación de tienda de mascotas?) E intente resolverlo con la tecnología con la que se sienta cómodo. Suponga que va a llevar la producción a un puñado de clientes. No desea que sus clientes se sientan descontentos con el producto. Así que realmente debes asegurarte de que esté libre de errores. Entonces aprende a probar el software que escribió y a asegurarse de que sea funcionalmente correcto. Pero cada vez que realiza un cambio, termina pasando tiempo probando todas las funcionalidades para comenzar a aprender la automatización. Sus clientes están contentos y el boca a boca se extiende atrayendo clientes adicionales. Ahora descubres que tu sistema no está escalando. Usted ve tiempos de inactividad, errores del sistema, lentitud en su sistema. Aprende que su pila de tecnología es la culpable e introduce una pila que le permitiría escalar. Para garantizar que la nueva pila sea realmente escalable, debe ejecutar pruebas de escalabilidad y rendimiento. Ahh, su sistema ahora tiene una carga enorme y justo cuando se relaja ve que hay problemas de consistencia de datos en la base de datos. Usted descubre que su sistema tiene problemas de confiabilidad y no tolera fallas. Trae tecnologías como colas de mensajes, cachés, software de sincronización, etc. para resolver el problema. Antes de comenzar a sonreír, se da cuenta de que su código se ha vuelto malo y comienza a refactorizar.

¡Y ahí lo tienes, dominaste la codificación, el diseño y la arquitectura del software!

Estoy a punto de desarrollar un proyecto basado en mis experiencias como joven ingeniero de software. Siento firmemente que hay un vacío gigantesco de información sobre los aspectos sociales y de desarrollo profesional de la programación que no se amplía con mucha frecuencia. En mi experiencia, la destreza técnica es tan importante como dominar el juego social. Sin embargo, el juego social es exclusivo de la industria en la que nos encontramos, por lo que los adagios comunes sobre el desarrollo profesional no se aplican necesariamente.

Aquí hay algunas notas y diapositivas de una presentación que hice recientemente http://pjnb.io/assets/presentation/ – siéntase libre de visitar el sitio principal para obtener más contenido, todo gratis, por supuesto.

Construir una cartera. Sitio de una página que muestra todos los proyectos. iniciar un blog y comprometerse a 1 publicación por semana. Puede preguntar sobre todos los libros que puede leer y la gente le dirá que obtenga una pasantía y todo este jazz, pero al final necesita una cartera que muestre lo que puede hacer con el código para que pueda obtener esa pasantía o trabajo .