Cómo convertirse en un desarrollador web / software agnóstico

La respuesta corta: no puedes.

La respuesta larga: siempre necesitará algo de tiempo para comprender los conceptos básicos del lenguaje y el marco, y eso siempre toma algo de tiempo.

PERO hay algunas cosas que pueden hacer que ese tiempo sea considerablemente más corto:

  • Debe aprender a leer el código que no fue escrito por usted y comprenderlo. Dominar esto le permitirá corregir errores, comprender ejemplos, etc.
  • Debe evitar copiar y pegar de tutoriales o código de otras personas. Incluso si entiendes lo que hace. Entiéndelo y dale un buen uso a ese conocimiento. Copiar y pegar mal es la fuente de muchos males …
  • Debe seleccionar un par de subconjuntos de idiomas para trabajar. Hay familias de lenguajes que comparten paradigmas, estructura e incluso sintaxis, como Java y C #. Puede agregar algunos lenguajes anteriores, que no sean OOP como C. Y luego agregar diferentes paradigmas: JavaScript (está en todas partes, le guste o no).
  • Deberías codificar. Mucho. Y en diferentes idiomas. A veces, la mejor manera es crear pequeñas herramientas que tengan un propósito muy específico.
  • Debería probar diferentes arquitecturas: aplicaciones de escritorio, línea de comandos, web … Notará capas comunes en esas arquitecturas: por ejemplo, las aplicaciones de escritorio pueden depender de los servicios web de una aplicación web o cualquier otro tipo de API distribuida, pero también puede hacerlo un comando herramienta de línea (por ejemplo, una que automatiza el aprovisionamiento de servidores en AWS, utilizando sus API REST).

Entonces, lo que estoy tratando de explicar es: cuanto más programes, si te esfuerzas, mejor serás. Y mientras más cosas sepa, por lo general, más fácil será encontrar algún conocimiento que pueda relacionar con las nuevas herramientas, el marco o lo que sea …

En realidad, la ruta agnóstica es la mejor manera de administrar su carrera, pero puede ser demasiado generalista.

Elija y domine una plataforma para su conocimiento central, luego trabaje en amplitud y profundidad desde ese punto de vista.

Lo que realmente quiere hacer para tener éxito es empacar una pila de tecnología en particular: Microsoft.NET, Java, LAMP, MEAN o mainframe, y dominar todos los componentes fundamentales de la pila desde el extremo frontal hasta el extremo posterior. Esto le brinda un marco para adaptarse a las tecnologías individuales. Luego paso un tiempo profundizando mi comprensión teórica y familiarizándome al menos con las nuevas tecnologías que se adaptan a mi pila.

En mi caso, dominé la pila de Microsoft, así que estudié SQL Server, C #, WPF, ASP. NET y otras tecnologías centrales de Microsoft como LINQ, IIS y Active Directory. Luego, si mi empleador me pregunta si puedo manejar algo con SSIS o MVC, que se encuentran en la parte superior de SQL Server y ASP.NET, entonces puedo recogerlo rápidamente.

Hay un enfoque doble para convertirse en un desarrollador agnóstico.

El primer paso es dominar los fundamentos de la informática, por ejemplo, estructuras de datos, redes, algoritmos. En esencia, todos los marcos se construirán sobre estos conceptos. Al estar familiarizado y comprender estos conceptos, notará la superposición entre un marco / lenguaje / tecnología y el siguiente.

Una vez que tenga sus fundamentos bajos, el siguiente paso es nunca dejar de aprender. Sumérgete constantemente y obtén cierto dominio de los nuevos marcos. Al hacer un hábito de aprendizaje continuo, comprenderá cómo una tecnología evoluciona a la siguiente y cómo los puntos débiles se suavizan con cada nueva tecnología.

Una combinación de comprender los fundamentos y mantenerse alerta al aprender constantemente, será un desarrollador agnóstico.

La mayoría de los desarrolladores agnósticos (incluyéndome a mí) tienen pasión por las tecnologías que siguen intentando aprender cosas nuevas O simplemente están abiertos a los cambios y desafíos. Estas personas simplemente continúan comprometiéndose para satisfacer su curiosidad.

More Interesting

¿Qué es mejor, aprender diseño web o desarrollo de software?

¿Qué idioma debo aprender para el desarrollo de software? ¿He estado aprendiendo JavaScript (se recomienda) pero entiendo que JS es para diseño web?

¿La decisión de Sony de retirarse de DRM está alejando a los desarrolladores y editores externos?

¿Es posible formatear un almacenamiento externo para que ningún software pueda recuperarlo?

¿La velocidad de edición realmente importa para los desarrolladores de software?

¿Qué lenguaje de programación es mejor para un proyecto MCA de último año? ¿Alguien puede sugerirme algunos temas?

Cómo identificar un buen desarrollador / programador en menos de 2 semanas

Soy un desarrollador de software que trabaja en asp.net MVC. ¿Qué tecnología web debo aprender a continuación?

Actualmente estoy trabajando como ingeniero de control de calidad, pero quiero cambiar mi carrera y ser desarrollador de software. ¿Cómo debo proceder para lograr esto? ¿Debo dejar mi trabajo actual y comenzar a trabajar en otro?

Construyo aplicaciones web. ¿Soy considerado un desarrollador web, programador, ingeniero de software o desarrollador de software?

¿Qué pasos han tomado los desarrolladores de software en las startups con un "Monorail" (una aplicación grande y monolítica de Ruby on Rails) para dividirlo con éxito en los servicios?

¿Por qué los desarrolladores de software de la India trabajan en Windows o se desarrollan directamente en un servidor de desarrollo o producción?

¿Cuáles son algunas de las excelentes extensiones de Google Chrome que todo desarrollador de software debería saber?

¿Cuáles son las mejores publicaciones de blog de Matt Might?

Imagine que tiene un hijo, y él le pide tres cosas que debe hacer para convertirse en un gran desarrollador. ¿Qué le dirías a él?