¿Cuál es la razón principal por la que algunas personas pueden aprender programación y algoritmos más rápido y mejor que otros?

Casi cualquier persona puede llegar a ser grande en cualquier cosa que se propongan. Las diferencias genéticas o la “habilidad natural” solo importan cuando se quiere pasar de “excelente” a la Clase Mundial.

Casi todos los nadadores de nivel olímpico tienen el tipo de cuerpo ideal “pez” para ser un nadador realmente rápido, al igual que la mayoría de los jugadores de la NBA son altos.

Pero aún así … ¡Cualquiera puede llegar a ser genial en el baloncesto o la natación, al igual que cualquiera puede ser excelente en la programación!

Entonces, ¿cuál es la diferencia entre el éxito y el fracaso en aprender a codificar?

Creo que es tu mentalidad entrar en programación.

Cuando comencé a aprender a codificar, lo hice porque quería comenzar un negocio. No me importaba “aprender a codificar”, solo quería construir mi producto. Así que cada vez que recibía un mensaje de error me enojaba. El error estúpido se está interponiendo en el camino de mi éxito.

Aprenda más sobre lo que hace que un programador sea exitoso

No quería aprender “sql” o cómo configurar un servidor web … Así que intenté tomar atajos.

En la programación, el aprendizaje es infinito, por lo que ayuda a disfrutar el aprendizaje. La curiosidad natural sobre cómo funciona la tecnología es el elemento más importante que hace que un programador tenga éxito.

Los mejores programadores saben lo que hacen, porque QUIEREN conocer en profundidad todas las herramientas que usan.

Los programadores exitosos también disfrutan resolviendo rompecabezas. La programación es básicamente un montón de pequeños rompecabezas pegados para resolver un problema.

Para aprender a programar, sé curioso y disfruta resolviendo rompecabezas, y disfruta desafiándote a ti mismo. Disfruta de la investigación, porque vas a estar haciendo mucho de eso.

La programación es el acto de aplicar secuencias lógicas para resolver problemas. La inteligencia general no es la principal determinación de la capacidad de programación. Para la mayoría de los programas, se necesita un coeficiente intelectual superior o superior, pero el producto producido se basa más en cómo se conecta el cerebro.

Algunas personas piensan de forma muy lógica y, por lo tanto, pueden adaptarse a los requisitos lógicos puros de las máquinas que requieren instrucciones muy explícitas y correctamente secuenciadas para que funcionen correctamente.

Algunas personas, piensan más artísticamente; lo que significa que no siempre ven una progresión lineal, sino un gran universo fluido con dinámicas siempre cambiantes. Pueden hacerlo muy bien utilizando herramientas de alto nivel con suficientes capas de abstracción que no necesitan tratar de forma lógica; Pero no son buenos candidatos para la programación.

Luego, agregue a estas diferencias, los tipos de sesgo que obtenemos a través de las interacciones al crecer, la educación, la actividad religiosa y política, y encontrará que hay muchas, muchas formas de ver y pensar cómo resolver un problema.

Así que la respuesta corta es que nuestros cerebros no todos funcionan igual, y algunas formas de pensar parecen producir mejores programadores; Algunas formas de pensar producen mejores músicos; Algunas formas de pensar producen mejores gerentes; etc. y nos alegramos de que el cerebro humano tenga patrones tan diversos para hacer que cada uno de nosotros sea único.

Diferentes tipos de inteligencia.

Algunos somos propensos a pensar que hay genios que son, o pueden ser, buenos en cualquier cosa, idiotas que no pueden ser buenos en nada en absoluto, y una variedad de matices intermedios.

Pero constantemente veo personas que, dadas dos tareas de dificultad comparable pero de naturaleza diferente, fallan en una y sobresalen en la otra.

Personas que pueden cocinar una comida mala, pero no saben cómo tomar una receta para 4 personas y hacer una para 6.

Profesores universitarios que luchan por hacer funcionar un proyector.

Músicos increíbles que pueden perderse en un pequeño edificio.

Hay muchos tipos de inteligencia y la programación requiere una buena relación con la lógica, las habilidades y el enfoque de las organizaciones.

No todos los tienen todos. No todos pueden escribir programas y algoritmos.

No significa que sean estúpidos. Es muy probable que sean inteligentes en alguna otra forma.

Algunas personas tienen una habilidad natural para trabajar con números.

Yo no soy uno de ellos. Cuando estoy aprendiendo matemáticas, tengo que estudiar y pensar en cada paso.

Cuando mi hijo mayor tenía 7 años, mi esposa recitó un montón de números, pensó que podría calcularlos en mi cabeza. Llevamos casi 20 años estropeados, usted pensaría que ella ya lo sabría.

De todos modos, después de que ella haya disparado estos números, mi hijo dijo: 143.

Nos reímos y dijimos, eso es probablemente una gran suposición. La esposa sacó el teléfono y sumó los números. 143.

Yo dije, hijo, ¿cuáles son estos números sumados? Solté 7 números tan rápido como pude. Nosotros, los humanos, tenemos dificultades para mantener 7 de cualquier cosa en nuestra memoria y mucho menos para sostenerlo y calcularlo.

Él respondió con la respuesta correcta.

Aparentemente hay algo en su mente donde los números solo tienen sentido.

Lo mismo con los programadores.

Cuando empecé a enseñar a otras personas y estudiantes, me di cuenta de que pueden tener un enfoque realmente pobre si no saben cuál sería el resultado de cierta acción o algoritmo, y por qué la necesidad de preocuparse por cierto algoritmo.

Entonces, si enseño a alguien o aprendo por mí mismo, uso un ejemplo de palabra real que es similar a mi interés o el de alguien. Es mucho más eficaz.

Entonces, si me entero de árboles, uso ejemplos de sistemas de archivos, bases de datos o análisis de sintaxis. Cuando enseño algunos algoritmos de datos (regresión lineal, knn) trato de usar datos que son interesantes para los estudiantes (les pregunto de antemano qué les gusta).