¿Por qué no soy lo suficientemente inteligente?

Una vez tuve un amigo en la universidad que me gemía por no ser inteligente. Mi respuesta fue que no hay personas inteligentes con la excepción de unos pocos notables como Terry Tao, etc. Decir que no eres inteligente significa que implícitamente estás imponiendo un límite superior a tu meta y evitando que trabajes duro, que es No es lo que deberías estar haciendo. Creo que la inmensa mejora personal viene a través del trabajo duro. Todo lo que tiene al principio es una compensación de aptitud básica que es el resultado de centrarse en otras habilidades similares a la que tiene problemas para perseguir.

De vez en cuando caigo en el hoyo de sentir que soy estúpido cuando estoy aprendiendo una habilidad completamente nueva, pero rápidamente salgo del hoyo trabajando duro en esa habilidad y haciéndome razonablemente bueno en eso durante un período de tiempo razonable (no de la noche a la mañana) . También ayuda si tiene amigos que sean buenos en la habilidad que está tratando de mejorar y quién puede guiarlo si tiene obstáculos, pero sitios de preguntas y respuestas en línea como Quora.

También ayuda si no te comparas con otras personas que pueden ser más competentes con la habilidad que estás desarrollando. Compárese con el “usted” de un mes atrás, 6 meses atrás. Intente establecer objetivos concretos, pero para algunas habilidades, establecer objetivos concretos puede ser bastante difícil. En ese caso, sea paciente y manténgase al tanto y notará su mejoría gradual.

Para dar una experiencia similar: en la escuela secundaria, un grupo de mis compañeros de la clase solía burlarse de mis dibujos de vez en cuando hasta el punto en que renuncié a mi sueño de hacer películas animadas. También caí en el pozo oscuro de creer que todos los que eran mejores que yo en una habilidad en particular lo hacían muy bien y todos más débiles que yo en algo que me chupaba. Tuve la alegría de conocer a mi mejor amigo durante mi primer y cuarto año de preparatoria, que me inspiró mucho. Muchos de los consejos que te doy se basan en mi observación de él.

Sigue avanzando y nunca te rindas y sé feliz.

Un avance al futuro: soy un estudiante de último año de la Universidad de Michigan y he realizado pasantías en Facebook y Nest en Informática. Para abordar algunos puntos concretos sobre cómo mejorar:
– Trabaja en proyectos personales y hospédalos en Github (asegúrate de que tu código esté limpio)
– Aprender a estructurar grandes proyectos.
– Usa el IRC para hacer preguntas.
– El sub-reddit de Programación de Aprendizaje le daría punteros
– Repasar Matemáticas en la escuela secundaria (Ir sobre combinatoria elemental, probabilidad, geometría euclidiana, geometría analítica, variables complejas, álgebra elemental, cálculo y trigonometría)
– Aprenda sobre matemáticas discretas (comience con Rosen ya que es bastante fácil. Puede aprender de libros más avanzados si lo desea)
– Ahora vaya a Coursera y tome Algorithms I y Algorithm II para aprender sobre estructuras de datos básicas como matrices, listas enlazadas, árboles, montones, etc. y tipos de datos abstractos como pilas, colas, colas de prioridad, etc.
– Aprenda sobre el diseño del sistema (lea un libro de introducción a los sistemas operativos y el diseño de bases de datos. La introducción a las redes también debería ayudar)
– Boom ahora se aplica a una compañía y le da un enlace a su Github para mostrar sus increíbles proyectos colaterales (estos proyectos colaterales son la culminación de su autoaprendizaje. Es posible que otras personas no los tengan, ya que las compañías generalmente se inscriben en la universidad)
– También toma el GRE de nuevo, y prepárate para ello y mejora. Obtenga una buena declaración de propósitos y solicite su maestría.
Mucha suerte a tu compañero.

¡Disparates! Esto definitivamente no es un asunto de inteligencia sino de falta de disciplina para participar en un proceso de autoaprendizaje exhaustivo.

Tus colegas pueden ser más inteligentes, o no, eso es irrelevante. Pon tu ego a un lado. La diferencia es que han sido expuestos a un excelente plan de estudios en sus escuelas Y han practicado y continúan afinando sus habilidades.

Salte, ahora, a Coursera que están ofreciendo 2 cursos de Algoritmos gratis (Algoritmos Parte I y Parte II) de la Universidad de Stanford. Inscríbase, estudie, practique, practique un poco más y utilice lo que aprendió para resolver más desafíos de programación que no forman parte del material de su curso.

Cada uno de estos cursos dura aproximadamente 6 semanas y requiere de 3 a 4 horas por semana para cubrir el material (excluyendo las tareas de programación). Cuantas más horas invierta, mejor obtendrá en un período de tiempo más corto.

Lo bueno de estos 2 cursos es que el material (conferencias y ejercicios) y las tareas de programación están inspirados en aplicaciones del mundo real, lo que hace que el desafío de resolución de problemas sea más interesante y divertido.

Vaya a http://www.quora.com/about/challenges resuelva sus desafíos, lo expondrán a MUCHAS cosas nuevas con las que aprender y jugar.

Como una última nota, no se deje intimidar por los nombres de algoritmos sofisticados y las implementaciones de aspecto incoherente, para entender realmente un algoritmo que tiene que hacer la implementación al menos una vez en el idioma que elija.

¡Va a tomar algún tiempo! No te rindas Práctica.

Otras fuentes de retos de programación.
HackerRank
Torta de la entrevista: Codificación Preguntas y consejos de la entrevista

Si tienes pasión, ciertamente puedes hacerlo. Necesita mucha práctica y pierde la actitud de no poder hacerlo. Lo único que importa es la dedicación y la persistencia.
Identifica tus debilidades. La programación no tiene nada que ver con la escuela. Hay muchas oportunidades increíbles en línea. Hay personas que son ingenieros de software en Silicon Valley sin un título en absoluto.

Nicola tiene un buen punto: “la práctica hace perfecto”. Bueno, tal vez la práctica hace mejor. Ciertamente, la práctica mejora el rendimiento, incluso cuando parece que no se está haciendo ningún progreso. Si esta es tu pasión, pasa el tiempo practicando, como si estuvieras intentando dominar un instrumento musical. A veces parecerá una pesadez, pero el cambio sucederá. Sin embargo, mi recomendación es que intentes dominar un instrumento musical y ver si descubres que tu pasión está en otra parte.

Probablemente deberías intentar resolver problemas lógicos básicos. Luego pasar de lo básico a avanzar. Tu reacción al respecto te dirá si la programación es lo tuyo. La programación tiene que ver con el razonamiento lógico. El resto seguirá.