¿Por qué la vida es tan difícil ya que no importa cuánto aprenda, todavía no puedo convertirme en un buen desarrollador de software?

Hola amigo,

Tiene toda la razón, es realmente difícil convertirse en un buen desarrollador de software. Mi propio dolor es: en el momento en que dominas un marco y puedes ganarle al pecho que eres profesional, es cuando descartan una versión más nueva y desprecian casi todo lo que dominas.

Además, hay muchas formas de resolver una sola tarea. Terminas eligiendo un algoritmo particular que te parece bien y el revisor de código te dice que tu código no es eficiente en la memoria. Así que sigo preguntando, si no es una solución aceptable, ¿por qué existe como solución?

Pero aquí está mi consejo querido amigo. Algunos tienen la capacidad de codificación natural y cualquier marco o algoritmo les conviene con facilidad como el pan y la mantequilla. Pocas horas de estudio y han dominado el marco y están listos para resolver algoritmos complejos. Algunos (como yo y supongo que tú también) han aprendido habilidades: solo pueden producir resultados en función del alcance de nuestro conocimiento. Después de seguir los tutoriales, buscamos desesperadamente código de muestra para mejorar nuestro aprendizaje y el stackoverflow siempre nos recibe con los brazos abiertos una vez que nos encontramos con callejones sin salida.

  1. Conócete amigo.
  2. Practica, practica y practica. Incluso cuando no tenga un proyecto o trabajo a mano, intente implementar lo que aprendió construyendo una réplica simple de aplicaciones populares e interesantes. He creado una réplica de Facebook, el sistema de tickets de soporte de amazon, la bolsa de trabajo de linkedin, etc. La alegría de lograr estas tareas es un buen refuerzo de la moral. Y te digo que siempre hay algo nuevo que aprender en cada proyecto.
  3. Apéguese a un marco que sea más fácil de aprender. No te unas al tren de X es un marco mejor que Y porque tus facturas y gastos no me importan si estás escribiendo lenguaje de programación X o Y. He visto a personas hacer cosas maravillosas y construir una vida de descendencia e ingresos con lenguajes simples como PHP y JAVASCRIPT.
  4. Escriba códigos y bibliotecas reutilizables. Eventualmente llegará a un punto en el que simplemente abstraerá y reutilizará los códigos existentes para nuevos proyectos. Cada proyecto requiere registro de usuario, inicio de sesión, confirmación por correo electrónico, gestión de acceso basada en roles, notificaciones de correo electrónico y transacciones, carga de imágenes, autorización de API, etc. Por lo tanto, construí bibliotecas para estas tareas comunes y nunca tuve que volver a escribirlas, lo que realmente me ha hecho la vida más fácil, dame más tiempo para estudiar y otras cosas.
  5. Estar familiarizado con la API de documentación / lenguaje de programación elegido y el manual de referencia.
  6. Obtenga un mentor o únase a un grupo de codificación / reunión a su alrededor. La codificación es divertida cuando estás en un grupo y el aprendizaje es más fácil si tienes un mentor.
  7. Finalmente, google es tu amigo. Copie y pegue cadenas de Excepciones, errores, advertencias, etc. en su barra de búsqueda de Google. Descubrirás que no estás solo. No rompa la pared con la cabeza, alguien en algún lugar ha encontrado el mismo error / problema y afortunadamente ha documentado este mismo error y solución / consejo en algún lugar de Internet.

No estoy seguro de en qué nivel de habilidad estás, por lo que esta respuesta asume que ya eres un programador al menos en un nivel junior.

Siento que muchas personas se topan con un muro en su nivel de habilidad porque su mentalidad como programador es incorrecta.

Piénsalo así:

Como programador, su trabajo es producir tantos resultados comerciales como sea posible para su empresa.

Entonces podemos hacer esto de 3 maneras.

Puedes trabajar más, pero digamos que te vuelves loco y trabajas 80 horas a la semana. Eso es bueno, pero solo te convierte en un programador 2x. Podemos hacerlo mejor que eso.

En lugar de trabajar más, puedes trabajar de manera más inteligente. Puede mejorar su conocimiento para pasar menos tiempo depurando. Puede escribir código más limpio que sea más fácil de mantener en el futuro. Estás gastando la misma cantidad de tiempo pero produciendo muchos más resultados. Aun así, en el mejor de los casos, esto te convertirá en un programador 5x. Podemos hacerlo mejor aún.

Trabajar de manera más inteligente es excelente, pero recuerde que nuestro objetivo final es tener un impacto comercial positivo tan grande como sea posible. Para hacer esto, es necesario que no solo trabajemos de manera inteligente, sino que trabajemos en lo correcto. Obviamente, nosotros, como ingenieros, no tenemos control absoluto, ya que somos caprichos de gerentes de producto y empresarios, pero tenemos cierto control.

Podemos decir que la característica A de los gerentes de producto tomará tanto tiempo como las características B, C y D combinadas, tal vez deberíamos priorizarlas.

Podemos trabajar en escribir código que haga que el desarrollo sea más eficiente. Supongamos que escribe una nueva herramienta que hace que un equipo de 5 desarrolladores sea un 20% más eficiente. Si esa herramienta tarda 1 mes en construirse, ¡ha logrado alcanzar el mismo nivel de resultados que un desarrollador 1x obtiene en un año en solo un mes!

Podemos refactorizar el código para que sea más eficiente construir funciones futuras.

Podemos cambiar las pilas de tecnología para permitir una mejor velocidad de desarrollo.

Podemos elegir excelentes bibliotecas de terceros que nos permiten evitar crear y mantener diversas funciones.

Como probablemente pueda ver ahora, es bastante fácil lograr 10 veces los resultados promedio de un desarrollador simplemente cambiando lo que está trabajando sin mejorar su forma de trabajar.

Ser un desarrollador 10x no se trata de ser un genio, se trata de enfocarse en la eficiencia a un alto nivel y pensar fuera de la caja.

¡Vota esto si ayudó!

More Interesting

¿Qué es mejor para una pasantía de desarrollo de software, Five Rings Capital o Microsoft?

¿Cómo te convertiste en un desarrollador de software independiente?

¿Qué sugeriría que un ingeniero de software mediocre debería hacer para ser un experto en algo (tecnología, plataforma o lenguaje)?

¿Las mujeres están menos inclinadas a convertirse en programadoras / desarrolladoras de software? ¿Por qué?

Como desarrollador de software, ¿cómo debo mantenerme fuerte y seguro cuando alguien dice que mis habilidades técnicas son malas?

¿Qué usan los desarrolladores para almacenar el progreso / hallazgos de desarrollo de una tarea similar a las notas en ejecución?

¿Cuál es el costo total para un desarrollador de software en Seattle?

¿Qué diferencia a un gran desarrollador de software de los mediocres / malos?

¿Es cierto que no es probable que los desarrolladores de software se conviertan en CEO porque no están dispuestos a abandonar la programación y centrarse solo en los negocios?

¿Cuánto cobran en los Estados Unidos o el Reino Unido por el desarrollo de software?

¿Por qué la mayoría de los ingenieros de software quieren trabajar en una plataforma?

¿Cuáles son los fundamentos del desarrollo web en los que todo ingeniero de software junior debería tener una sólida comprensión?

¿Cómo debería un gerente de software lidiar con una situación cuando un ingeniero que entendió el funcionamiento de un software crítico ha decidido abandonar la empresa?

Teniendo en cuenta el escenario político actual en los EE. UU. Y el creciente odio hacia todos los inmigrantes (especialmente H-1B), ¿por qué un desarrollador de software de la India (educado en Estados Unidos) debe permanecer en los EE. UU.

¿Hay escasez de desarrolladores de software en los Estados Unidos?