¿Con qué está relacionada la programación? ¿Conocimiento o inteligencia?

Es a la vez, y más. Mucho más.

La programación es una habilidad como cualquier otra, por ejemplo, jugar al golf.

El golf requiere conocimiento, porque necesita saber dónde está el hoyo, qué tan difícil es golpear la pelota, cuál es la velocidad del viento, etc. Siempre requiere inteligencia porque no solo necesita conocer la velocidad del viento, sino comprender cómo afectará pelota en vuelo, y cómo se comportará cuando aterrice.

La programación se trata de saber cosas, como qué bibliotecas / funciones / métodos usar si desea, por ejemplo, descargar el contenido en una URL. También se trata de inteligencia como en resolver cosas .

Con toda honestidad, olvídate de lo que es la programación y simplemente comienza a aprender. Descubrirá por sí mismo qué habilidades necesita a medida que avanza.

Elige un idioma. Busque tutoriales en Google y comprenda qué hacen esos tutoriales y por qué lo hacen. OK, comprenda los conceptos básicos del lenguaje, ahora comience un proyecto simple, como un juego de Buscaminas o algo así.

No se preocupe por lo que la programación es o no, solo elija un idioma, si no lo desea, elegiré uno para usted (C # en Windows, Swift en Mac o Java si le gusta la idea de ambos), y comienza a buscar en Google.

Por lo que puedo decir, básicamente hay cuatro elementos clave que producen buenos desarrolladores, clasificados de manera más o menos importante:

  • Experiencia
  • Atención
  • Inteligencia
  • Conocimiento

El conocimiento es la información en bruto. Esto incluye conocer la sintaxis, conocer idiomas, etc.

Esto es de vital importancia al principio, pero se vuelve cada vez menos importante, y servicios como Google y StackOverflow lo han hecho aún menos importante, ya que las respuestas del tamaño de un bocado están constantemente disponibles.

La inteligencia es valiosa, pero el límite para el 95% de la codificación no es tan alto. Supongo que hay un piso para hacerlo bien que definitivamente está por encima del promedio, pero lejos de lo que la mayoría consideraría genio.

Podrá sentir y notar una diferencia en la inteligencia entre los codificadores, pero en términos de trabajo real y resultados producidos, no creo que la diferencia sea tan extrema.

Cuando digo enfoque no me refiero a estar en flujo o enfocado, me refiero a la priorización. Elegir cuánto enfatizar diferentes áreas de trabajo con un proyecto. Clavar el equilibrio adecuado entre el rigor y sacar las cosas por la puerta. Algunas personas son obsesivas al respecto y realmente los detiene. Algunos no hacen lo suficiente y también retiene sus proyectos a largo plazo.

Finalmente, la experiencia es el rey. Hará que alguien con talento innato sea excelente, y puede hacer que incluso alguien sin él sea razonablemente bueno o al menos capaz de producir resultados. La experiencia corta cada curva de aprendizaje y corta cada línea de tiempo de principio a fin. Incluso si es brillante, tiene el enfoque correcto y tiene conocimientos, alguien que tenga mucha experiencia con el desarrollo en general y en un espacio específico casi siempre tendrá una ventaja marcada.

Como otros han dicho, requiere tanto conocimiento como inteligencia. Sin embargo, voy más allá y digo que un exceso de conocimiento e inteligencia no te llevará a convertirte en programador. Son cosas útiles para tener, pero realmente tienes que disfrutar de la programación para llegar muy lejos con ella. ¿Por qué? Porque para obtener el conocimiento necesita pasar mucho tiempo trabajando en las cosas. Necesitas fallar mucho y persistir. Debes ser ese tipo de persona a la que le gusta resolver problemas y no está dispuesto a dejar las cosas hasta que las entiendas.

En la mayoría de los dominios de programación, no creo que la inteligencia sea tan importante. Seguir con las cosas es mucho más importante.

Recuerde que “programación” es realmente un término elegante para “encontrar soluciones a los problemas”. El idioma que elige usar, las plataformas en las que opera y la audiencia a la que elige dirigirse no cambian eso. Estás buscando solución a los problemas. Necesito calcular un promedio móvil de estos 10K números. Necesito dibujar una línea de aquí para allá. Necesito actualizar una tabla SQL. Necesito saber cuándo el usuario presiona en la pantalla. Necesito encontrar el número de factura en este archivo XML. Todos estos son problemas. Puedo hacer cualquiera de los anteriores en cualquiera de una docena de idiomas diferentes (más probablemente) con diversos grados de dificultad y ventajas. El punto es que estos son problemas a resolver.

Todo esto se construye con el tiempo. Cuantos más problemas resuelva, mejor resolverá los problemas. Puede ser altamente conocedor o altamente capaz de absorber nueva información. Si no está motivado para resolver problemas difíciles, no es probable que llegue lejos en el mundo de la programación.

Bastante conocimiento y un poco de inteligencia. Hay algunos temas en ciencias de la computación que son muy difíciles y requieren una inteligencia real para enfocarse por completo, pero para hacer el tipo de trabajo que hacen la mayoría de los programadores e incluso la mayoría de los algoritmos, el conocimiento hará el truco.

La mayoría de las personas ya han hecho el trabajo duro por ti al crear todos los algoritmos clásicos y análisis de tiempo de ejecución. Todo lo que necesita hacer es aprenderlos y comprenderlos. Eso se trata principalmente de dedicar horas y escribir tu trabajo. La programación no es como el cálculo u otras matemáticas superiores. Principalmente son solo algunos bucles de procedimiento y aritmética. Se trata solo de aprender a pensar de esa manera en que algunas personas se tropiezan.

También agregaría que la creatividad es otro buen rasgo para tener como programador. A veces es necesario encontrar una solución diferente al enfoque estándar y poder pensar de manera innovadora ayuda mucho. Tiendo a pensar que la creatividad se puede aprender, pero realmente no tengo ninguna evidencia de una manera u otra.

¿Con qué está relacionada la programación? ¿Conocimiento o inteligencia?

Depende de lo que estés haciendo.

Algunas cosas no requieren mucha inteligencia. Requieren conocimientos específicos sobre cómo conectar las cosas, y hemos terminado aquí.

En otros lugares, la inteligencia puede entrar en juego de diferentes maneras. Saber que un problema particular se resolvió de una manera particular requiere conocimiento. Obtener una solución similar usted mismo sin saber cómo se resolvió el problema requiere mucha inteligencia. Reconocer que el problema que estás viendo es similar al problema que sabes que se resolvió de cierta manera requiere algo de inteligencia y conocimiento.

Saltando de un gran conjunto de cosas que sabes decir “¡Ajá! ¡Apuesto a que sé por qué esto no funciona correctamente en este caso en particular!” A menudo requiere inteligencia. El conocimiento te da las cosas que necesitas para llegar allí. La inteligencia le permite dar el salto de un montón de hechos a una cosa en particular que puede estar causando este problema.

Con menos inteligencia, aún puede llegar a una solución. Puede que no sea tan óptimo, y puede llevar mucho más tiempo llegar allí.

Diseño y desarrollo del programa … Debe considerar ambos como diferentes. Para diseñar un buen programa, necesita tener conocimiento e inteligencia con seguridad … Para desarrollar el diseño, solo necesita conocimiento …

En este escenario, la inteligencia también puede denominarse habilidad de diseño lógico …

Supongo que esta pregunta se refiere a la implementación de la solución. Dado que la implementación debe ser metódica, no se debe poner inteligencia en ella. Entonces, la programación está relacionada solo con el conocimiento. Por supuesto, para aprender metodología, para el caso, cualquier cosa que necesite inteligencia.

Ambos. Debe tener conocimiento de los idiomas que se utilizarán en el proyecto. Las damas que se utilizarán, y el tema del problema a resolver. También tienes que cubrir la creatividad y la inteligencia para poner todo junto.

La programación es como construir algo de Legos que pensaste de ti mismo, por lo que no hay instrucciones. Tienes que saber lo que comiste usando para construir, debes saber lo que estás construyendo y debes crearlo.

More Interesting

Como desarrollador de software que trabaja en una gran empresa, ¿cómo hago para comenzar por mi cuenta?

Cómo conseguir proyecto para empresa de software

¿Es posible graduarse de DigitalCrafts y obtener un trabajo en ingeniería de software en Atlanta?

¿Qué pasos debo tomar para convertirme en un banquero de inversión? (En este momento estoy trabajando como ingeniero de software con 1 año de experiencia)

Cómo diseñar sistemas en lenguajes funcionales de tipo dinámico

¿Qué es el ciclo de vida del desarrollo de software?

Si quiero aprender software y desarrollo web, ¿debo estudiar informática o ingeniería informática?

¿Cuál es la diferencia entre DFD lógico y físico?

Como soy un probador de software, ¿qué curso debo hacer en Canadá para obtener PR?

¿Qué país del golfo es bueno para los profesionales del software?

¿Los gerentes de producto tienen menos demanda que los ingenieros de software o más demanda?

¿Cómo limita la "Trabajo en proceso" (WIP) ayudar a los equipos de productos de software?

¿En qué medida Asana ha conservado la filosofía de Facebook de moverse rápido y romper cosas?

Si soy el CEO de una empresa de tecnología, ¿por qué debería considerar contratar a un personal de control de calidad? Parece que este rol podría estar cubierto por un gerente de producto y una ingeniería que divida el rol de un personal tradicional de control de calidad.

Sector de TI: en los EE. UU., Incluso personas no técnicas pueden unirse a empresas de TI y son totalmente bienvenidas. En la India, ¿no se valora a las personas con antecedentes técnicos?