¿Cómo aprendo el desarrollo web PHP lo más rápido posible? Tengo un fondo de comercio.

La web como la conocemos hoy es increíblemente nueva. No hace mucho tiempo que America Online enviaba correo no deseado a nuestro buzón físico con CD y disquetes.


Y la web en aquel entonces era muy diferente de lo que es hoy. Tal vez has buscado con HotBot o Excite. Y sí, Friendster … eso era una cosa.

Internet, tal como lo conocemos, es un adolescente angustiado que está cambiando rápidamente todo el tiempo.

El progreso que estamos haciendo en la industria es fenomenal y las nuevas tecnologías están saliendo todo el tiempo. Hace un minuto, AngularJS era lo nuevo, pero hoy ReactJS es la próxima gran cosa.

Con tantos cambios sucediendo todo el tiempo, puede sentirse abrumador al comenzar. ¿Cómo puede elegir ponerse al día con todo lo que ha sucedido en los últimos 15 años?

Hay dos trucos que definitivamente debes usar para convertirte en un desarrollador web relevante en el mundo de hoy.

Truco # 1: Aprende la meta-habilidad (aprende a enseñarte cosas)

Si crees que puedes dedicar tiempo y “aprender el desarrollo web” y estar en un punto en el que sabes todo lo que necesitarás, estás equivocado. Como desarrollador web, debe enfocarse en aprender nuevas habilidades todos los días. Y esto es una gran cosa!

Ya que aprenderás cosas nuevas todos los días, lo que es más importante que aprender “las cosas” que importan es que desarrolles la habilidad de aprender a aprender nuevos conceptos de codificación sobre la marcha.

Me gusta llamar a la habilidad de poder aprender a ti mismo temas de codificación sobre la marcha “ser un desarrollador autosuficiente”. Esto significa que incluso si los obstáculos se interponen en su camino, podrá aprender por qué sucedieron los obstáculos y cómo solucionar el problema.

Debería competir para convertirse en un programador flexible y adaptable que sea capaz de aprender las nuevas tecnologías que surgen por su cuenta. En el momento en que alguien adquiere esta habilidad, la llamo “alcanzar su punto de inflexión”, y luego el desarrollador puede acelerar su aprendizaje a un ritmo increíble.

De hecho, escribí una publicación en el blog más detallada sobre cómo llegar al punto de inflexión, aquí:

La clave para acelerar tus habilidades de codificación

Truco # 2: Aprende las cosas que no cambian mucho.

Dado que es probable que el sabor de la semana cambie rápidamente, en lugar de subirse a un nuevo carro, muchas cosas en la programación de computadoras son atemporales. Aprende esos

Por ejemplo, una vez que aprenda a enseñar a una computadora cómo resolver un problema en un lenguaje de programación, generalmente es mucho más fácil elegir nuevos lenguajes de programación.

Así que sé realmente bueno en programación y conviértete en el mejor “programador” que puedas. Para hacerlo, generalmente sugiero encontrar problemas de codificación independientes (a menudo llamados kata) y resolver problemas cada vez más complejos.

También hay un montón de temas de informática que han existido desde la década de 1950. Y muchos de esos temas no han cambiado en absoluto, y siguen siendo útiles. De hecho, si está buscando un trabajo como desarrollador web … tendrá que aprender conceptos teóricos para tener éxito en el proceso de entrevista técnica .

Aquí hay algunos consejos de cosas para centrarse en:

  • Algoritmos (piense: algoritmos de clasificación, búsqueda de amplitud en primer lugar, búsqueda de profundidad en primer lugar, etc.).
  • Estructuras de datos (piense: listas vinculadas, pilas, colas, árboles, gráficos, etc.)
  • Complejidad asintótica (es decir, notación Big O)
  • Cómo construir software en un equipo.

Este video de YouTube hace un trabajo increíble al hablar sobre por qué aprender las habilidades atemporales que son importantes:


Dependiendo de su objetivo, puede hacerlo usted mismo con recursos baratos o gratuitos que existen.

Recursos de pago como:

  • Codecademia
  • Udemy
  • Habilidad compartida  

Si desea cambiar de carrera y convertirse en un desarrollador web junior de nivel profesional, elegir un campo de arranque de codificación podría ser una forma más rápida de lograr ese objetivo. Si está considerando inscribirse en un bootcamp de codificación, le sugiero que revise la siguiente guía, que le indica qué buscar en los mejores bootcamp que existen.

Ingeniería inversa de la estrategia de codificación perfecta de Bootcamp

Si le gustó mi respuesta, significaría mucho para mí si la votara, presionando el botón azul claro de abajo.

TLDR: Aprender construyendo.

1. A nivel estratégico:

Muchos de los mejores programadores autodidactos son increíblemente apasionados en resolver problemas, a menudo problemas que ellos mismos tenían. Comenzaron aprendiendo los sencillos trucos y herramientas necesarios para hacer que sus vidas facilitadas por la computadora sean un poco más fáciles y se graduaron para resolver problemas cada vez más complejos en la web.

La forma más motivadora de aprender es tener un problema que desees resolver desesperadamente, ya sea crear una startup, un sitio web personal, automatizar una tarea tediosa … cualquier cosa que te involucre emocionalmente lo suficiente como para superar los inevitables períodos de dolor cuando arañar a Google buscando la causa de un problema en particular.

Un segundo lugar es si necesita aprender a conseguir un trabajo para poder comer y poner un techo sobre su cabeza. Pero en mi experiencia, la pasión positiva es en realidad más poderosa (y creativa) que incluso la amenaza de la miseria.

Desde el punto de vista de la motivación, es la diferencia entre PULRIRSE hacia la meta usando el poder de esa meta y EMPUJARSE a través de un montón de material solo porque cree que se supone que debe aprenderlo. Es MUCHO más poderoso motivarte con el resultado primero.

Es por eso que es tan difícil simplemente preguntarle a un desarrollador cómo aprender; por lo general, le brindarán muchos recursos y asumirán que saben por qué los están aprendiendo. Si no te has dado cuenta de tu motivación, te será muy difícil aprender por tu cuenta sin la estructura de un profesor que te obligue a hacer tareas.

Por lo tanto, el paso 1 es descubrir un objetivo / proyecto de proyecto y conducir hacia él.

2. En un nivel táctico:

Construir. Construir. Construir. No solo proyectos tutoriales de juguete… sitios reales. Necesitas tomar posesión de tu educación y, de hecho, construir cosas desde cero en tu propia computadora.

Está bien empezar de cero (todos lo hicieron) y aprender lo básico, pero no te quedes atascado pensando que ya has terminado. Es posible que te sientas bien contigo mismo al completar los cursos básicos de Codecademy [1] o Treehouse [2] o Code School [3], etc. o tutoriales paso a paso, pero en realidad solo te dan entre el 5 y el 10% de los camino allí (a pesar de las afirmaciones de marketing de lo contrario). No es nada si no puedes aplicarlo por tu cuenta.

Si comienza con el objetivo que mencioné anteriormente, entonces su tarea es trabajar hacia atrás y aprender las cosas que aún necesita saber para llegar allí. Es probable que implique la construcción de piezas de tamaño pequeño como proyectos separados en el camino, pero siempre podrás decir “Lo hice porque me enseñó XYZ, que necesito saber para poder construir ABC”. La alternativa es acumular una lista de habilidades que estás tratando de aprender y abrirse camino a través de ellas … no una receta para el éxito.

Incluso si no es un proyecto grande en particular lo que te motiva, deberías encontrar algún producto que quieras construir. Una excelente manera de probarte a ti mismo es comenzar a copiar sitios web existentes. Si eres una persona de primera línea, comienza clonando la página de inicio de Google y ve hacia sitios y diseños más complejos.

Si también estás buscando en el back-end, tus opciones son un poco más interesantes porque puedes jugar con todo tipo de contenido dinámico. Comience tan granular y contenido como pueda, pero siga desafiándose.

3. El camino más eficiente

Si has descubierto tu motivación y entiendes que estarás construyendo muchos proyectos en el camino para llenar los vacíos, el último problema restante es cómo realizar la tarea de manera más eficiente. La única forma de hacer las cosas del lobo es que Google no puede entender cada paso que llegas y que no entiendes. Ha funcionado para muchos a lo largo de los años.

Te animo a buscar ayuda de terceros siempre que puedas. Nadie realmente aprende “por su cuenta”, incluso si solo estás leyendo un montón de publicaciones de blog de otras personas. Pero es MUCHO más eficiente superar los bloques conceptuales (cuando no sabes lo que no sabes) hablando con un ser humano real. Una conversación de 10 minutos con cualquier persona que haya trabajado en sitios web puede ahorrarle todo tipo de molestias al tratar de analizar las publicaciones del blog para obtener el tipo correcto de pepitas conceptuales. Internet suele ser bueno para resolver problemas específicos, pero malo para proporcionar una orientación más flexible o estratégica. Incluso solo entrar en una sala de chat o una sesión de IRC y hacer tus 3 preguntas tontas puede ser un gran avance.

Lo mejor de todo, consigue un amigo. Asociarse con alguien, incluso si están a 10 zonas horarias de distancia. Si puedes encontrar a alguien con la misma motivación o unidad o meta que tienes, tienes una ventaja enorme sobre la persona que todavía está luchando solo en casa. Ahorra tiempo porque no necesitas atascarte en los mensajes de error durante 4 horas y puedes compartir información estratégica en el camino.

Finalmente, si está buscando un camino claro hacia adelante, lo invito a revisar mi proyecto, The Odin Project, que es un plan de estudios gratuito que traza un camino hacia el aprendizaje del desarrollo web mediante el uso de los recursos existentes en la web.

De cualquier manera, motívate, construye cosas, encuentra un amigo.

[1] Aprende a codificar
[2] Aprende diseño web, desarrollo web y más
[3] Aprender haciendo – Code School