La programación no toma genio, solo toma un tiempo.
Comencé a programar en el verano entre sexto y séptimo grado en Python, y no tenía “lógica e inteligencia avanzadas”, solo acceso a la búsqueda de google, mucho tiempo libre y ganas de resolverlo.
Me llevó menos de una semana pensar que era programador, pero mucho más tiempo para tener una idea de lo que estaba haciendo. Poco a poco me di cuenta de las cosas y, un año después, aprendí un segundo idioma, C ++, y con él pude obtener un código básico de espagueti para un juego de 3D en primera persona (piense en el juego de disparos en primera persona, pero sin disparos, sin objetivos y demasiado retraso) con la biblioteca 3D, en realidad un poco tosca, OpenGL. Una buena hazaña para la escuela secundaria, pero sigue siendo bastante bonita.
- ¿Por qué trabajas duro todos los días?
- ¿Crees que es una buena idea enviar un segundo correo electrónico de seguimiento 5 días después de una entrevista 'nerviosa' para enfatizar mi entusiasmo y deseo de trabajar duro?
- ¿Puede el trabajo duro compensar la falta de inteligencia?
- ¿Cómo le va a CGI en comparación con otras empresas de servicios similares como Capgemini, Cognizant, etc.? ¿Trata bien a sus más frescos?
- ¿Cómo es trabajar en Palantir? ¿Puedes compararlo con lugares de trabajo como Wix, Waze, Soluto, Hasoffers, Matomy, CrossRider, Ironsource, Similarweb, Unomy, etc.?
Ahora, seis años más tarde, al graduarme de la escuela secundaria, he trabajado más de mis 10,000 horas (ver http://norvig.com/21-days.html) de lo que me gustaría admitir, y creo que me he acostumbrado. pero siempre hay más para aprender.
El truco para programar es simplemente hacerlo. La gran mayoría de los problemas en realidad son bastante fáciles de resolver, la mayoría del resto están bien documentados, y lo que queda a menudo es agradable, generalmente se abordará con suficiente investigación, y casi siempre se puede evitar si se llega a empujar.
En lo que respecta a la habilidad matemática, me gustan mucho las matemáticas, y no tengo miedo de usarlas, pero aun así, el 90% del tiempo el nivel de álgebra I es suficiente, a veces la ayuda básica de trigonometría ayuda, pero la trigonometría es bastante fácil. , los logaritmos nunca duelen, y el Álgebra Lineal es útil para el diseño y análisis de algoritmos, renderizado 3D, y mucho más, pero puedes escapar sin él. Hasta ahora solo he usado cálculo dos veces dentro de la informática, una vez para mantener a un esquiador perpendicular a una pista de esquí que seguía una ecuación conveniente, y una vez para demostrar rigurosamente la eficiencia de una fórmula para números de Fibonacci, ninguno de los cuales son requisitos para ser un programador, y honestamente, ninguno requería lo que yo llamaría “lógica avanzada o inteligencia”.
Alguna intuición ayuda, pero la desarrollas con el tiempo. Puedo pensar en diseñar algoritmos mucho mejor de lo que podría en la escuela secundaria, y espero que en la universidad me recuerde en la escuela secundaria y diga lo mismo. El truco está en la práctica y el aprendizaje activo, y la práctica de la investigación de estructuras, algoritmos y la teoría detrás de ambos. Aprenda un lenguaje fácil de entender primero como Python, y luego pase a algo más relacionado con su interés, y trate de descubrir cómo están trabajando detrás de escena. He soñado con algoritmos (y lo he disfrutado por completo), y he estado atrapado en problemas durante semanas antes de encontrar soluciones que cambiaron mi perspectiva sobre la programación por completo, no porque desde entonces haya adquirido esta tan codiciada “lógica e inteligencia avanzada”, sino porque Miré un trozo de papel durante horas hasta que hizo clic para mí, y eso es lo suficientemente bueno.
Conozco personas que son mucho más inteligentes que yo, y no necesariamente son mejores programadores, sin embargo, podrían aprender más rápido si lo intentaran. Las personas sobreestiman las brechas en las habilidades, las atribuyen mal y luego sienten que nunca podrían ponerse al día como resultado. Cualquier inteligencia que traigas te ahorrará mucho tiempo y problemas. Las personas más inteligentes encontrarán atajos más rápido. Cualquier conocimiento externo que traigas te ahorrará mucho tiempo y problemas. Los genios de las matemáticas a menudo encontrarán atajos más rápido. Pero programar solo, no es tan difícil. Si puede explicar cómo hacer un sándwich, con un detalle tan sangriento, que un par de brazos robóticos podrían hacerlo, entonces eso es casi todo.
Consejos si lo toma en serio (y por qué no lo es):
- Prepárate para pasar mucho tiempo codificando.
- Prepárate para decidir que no es para ti si no lo disfrutas, no te fuerces solo porque la programación es rentable o algo así, sin embargo, dale tiempo justo y persiste en las etapas frustrantes primero, espera hasta que son competentes en lo básico antes de decidir.
- Comience con un lenguaje de programación simple y cercano al inglés como Python. La programación es dos cosas, la sintaxis y el pensamiento: desea lidiar con la menor cantidad de sintaxis posible y entrar directamente en el pensamiento como un programa al comenzar. Python también es un lenguaje útil para saber.
- Trabajar hacia objetivos específicos del proyecto. Te mantienen motivado.
- Dedique algo de tiempo a encontrar un excelente tutorial para comenzar. Comience con un mal recurso, y pensará que la programación es mucho más difícil o más frustrante de lo que tiene que ser.
- Comprenda que algunos (no la mayoría) de los programadores son personas condescendientes, que consideran que alguien que está aprendiendo a programar amenaza de alguna manera su superioridad sobre ese individuo. Estas personas pueden señalar de inmediato que los proyectos para principiantes son más simples que los suyos o que normalmente se compran y venden, y tratarán de hacer declaraciones sobre cuánto más difícil es la “programación real” y en qué nivel debe estar para llegar allí. Solo di “Meh”.
El programa básico realmente se reduce a la comprensión de algunos puntos de gramática (qué significa si realmente significa, qué significa y realmente significa, qué significa o realmente significa, etc.). En cuanto al programa más complejo, bueno, pronto llegarás allí.