Cómo convertirse en un gran programador o ingeniero de software
No soy muy buen programador, pero llevo cinco años pensando en este problema. Permítanme compartir mis puntos de vista con ustedes:
En primer lugar, creo que la respuesta definitivamente no es "simplemente escribir código durante muchos años". He entrevistado a muchos programadores que tienen 10 años de experiencia pero escriben códigos terribles. La experiencia es valiosa, pero la experiencia por sí sola no es suficiente. Al igual que jugar al ajedrez, si estudias mucho, revisas y te desafías constantemente, puedes convertirte en un maestro. Pero si continúas jugando al ajedrez de forma perezosa, después de 20 años de jugar serás simplemente una "cesta de ajedrez apestosa".
Creo que las formas más útiles de mejorar son:
1. Aprender a leer código
La mayoría de los programadores solo están dispuestos a utilizar el código que escriben, pero los maestros generalmente pueden llamar fácilmente al código escrito por otros. En la superficie, parece que tienen diferentes hábitos de trabajo, pero en realidad es una diferencia de capacidad. Leer código es muchas veces más difícil que escribir código.
Sugiero hacer revisiones de código para los compañeros de equipo durante el trabajo e intentar leer el código fuente abierto en github después de salir del trabajo.
2. Revisión
Los programadores generalmente están muy ocupados y tienen trabajo interminable entre manos. Pero en algunas empresas simplemente se hace lo mismo una y otra vez. De vez en cuando deja lo que estás haciendo y reserva algo de tiempo para analizar tus debilidades, cambiar malos hábitos, leer libros nuevos o aprender un nuevo idioma.
3. Realizar proyectos personales
La programación en el trabajo generalmente solo permite familiarizarse con parte de la tecnología, lo que genera lagunas. Es como si hubieras estado practicando tiro solo en tu patio trasero durante mucho tiempo, pero solo en el primer juego (en una derrota desastrosa) descubriste los conceptos de pase, defensa y rebotes fuertes.
A Facebook le gusta contratar a los llamados "programadores full stack", lo que significa que una persona puede hacer de todo, desde diseño hasta interacción, html, css, javascript, servidor, sql, arquitectura y estadísticas. La mejor manera de convertirse en un programador full stack es seguir trabajando en proyectos personales.
4. Sitio web de preguntas y respuestas
Hacer y responder preguntas son buenas formas de aprender. A veces es más difícil escribir una buena pregunta que escribir el código necesario para responder la segunda pregunta. Escribir preguntas puede ayudarte a organizar tu lógica de pensamiento. Puedes intentar hacer una buena pregunta o escribir una buena respuesta cada semana.
5. Únete a un buen equipo
La mejor forma de mejorar es trabajar con personas que sean mejores que tú. Los expertos están dispuestos a reunirse, por lo que muchos optarán por acudir a excelentes empresas emergentes en etapa inicial. Cuando comencé mi negocio en Silicon Valley y Sinovation Ventures, conocí a mucha gente increíble y aprendí mucho de ellos.