¿Intentaste aprender a codificar y luego dejar de fumar? ¿Por qué?

Por desgracia sí. Hice mis primeros intentos de codificar hace unos siete años y me avergüenza decir que no lo he hecho hasta hace poco, a pesar de ser plenamente consciente de las maravillosas oportunidades que se ofrecen a quienes pueden hacer que las computadoras hagan lo que quieren.

Varias explicaciones vienen a la mente:

Demasiado tiempo dedicado a encontrar “el lenguaje correcto”: leer sobre las diferencias y los méritos relativos de múltiples idiomas solo es útil en un grado muy limitado. Básicamente se reduce a “¿Qué quieres hacer con tus habilidades?”. Crea una aplicación móvil, crea una aplicación web, crea un juego, crea un juego.

El lenguaje es secundario al principio, los principios subyacentes son lo que importa. El modo de pensar y el enfoque general trascienden los idiomas, esa es una de las razones por las que los desarrolladores experimentados pueden ser productivos en nuevos idiomas en cuestión de días (o menos).

Para facilitar la configuración, los comentarios inmediatos, los enormes recursos de aprendizaje, un futuro brillante, una comunidad masiva y una amplia variedad de posibles dominios de aplicación, sugiero que los principiantes prueben Javascript .

Falta un mentor : Especialmente al principio es útil tener un mentor directo para formular preguntas.

Muchas preguntas conceptuales o preguntas muy específicas a la circunstancia / dominio de un problema son difíciles de buscar en Google sin perderse / abrumar. Los principiantes a menudo buscan una respuesta rápida, no un gran hilo de desbordamiento de pila.

Personalmente, logré el mayor progreso al construir un proyecto concreto y obtener ayuda de expertos (gracias a Gregor) cuando estoy atascado. Una interacción rápida de ida y vuelta entre humanos para poner a prueba la comprensión de la persona es difícil de superar en términos de velocidad de aprendizaje.

Grueso insuficiente (mi fuente personal de vergüenza). Cualquier cosa que valga la pena aprender es difícil y el dominio llega a aquellos que se mantienen en un tema durante años.

Habrá mucha frustración y puntos de debilidad donde uno se sienta tentado a darse por vencido. Después de todo, entrar en un modo de pensamiento computacional (¿cómo puedo dividir este problema en sus subcomponentes lógicos y crear una solución algorítmica?) Es toda una transición.

Tomará tiempo lograrlo, pero tenga en cuenta la enorme satisfacción que experimentará con el dominio y disfrute del viaje. Peter Norvig (un titán del campo) brinda consejos atemporales sobre el tema:

Enseñe tu programación en diez años

Además, las computadoras son extremadamente literales y usted tiene que instruirlas exactamente, de lo contrario, el compilador / intérprete de su elección probablemente sea bastante implacable. Este punto se hace con mucha elegancia en el mejor curso de Ciencias de la Computación que conozco (y lo recomiendo a cualquier principiante) CS50:

Psicología: ¿Estoy hecho para esto? Como lo sugieren las innumerables preguntas de Quora en este sentido, las personas se preocupan mucho si son “personas informáticas” que parecen estar conectadas genéticamente a la programación o si aún son lo suficientemente jóvenes.

Este comportamiento auto-racionalizado de dejar de fumar conlleva un gran peligro, ya que es fácil renunciar a algo que está convencido de que no puede aprender por razones fuera de su control.

Insto a cualquier principiante a que rompa esta barrera y les recuerde que incluso Linus Torvalds, Marc Zuckerberg, Bill Gates y todos los demás partieron de orígenes humildes. Simplemente se apegaron al aprendizaje.

Asaltos relacionados con el género:

Como me sorprendió aprender en el curso Cómo aprender matemáticas, las niñas se ven impactadas drásticamente por esta noción de que la lógica es un dominio masculino y que sus esfuerzos son “no femeninos”. Esta visión de la vieja escuela debe superarse, las ingenieras más exitosas son la mejor manera de lograr este objetivo.

No hay absolutamente ninguna base objetiva para los conceptos erróneos culturales y las mujeres no son menos capaces de aprender programación (o matemáticas, o ciencias naturales, etc.) que sus homólogos masculinos. Entiendo que esta noción requiere un esfuerzo extra, pero siéntase cómodo porque el primer programador fue una mujer.

Dificultades para la configuración: a menudo, la puesta en marcha requiere trabajo y habilidades que no están directamente relacionadas con la programación (por ejemplo, incluso la configuración de un entorno de producción de Rails puede ser audaz si eres completamente nuevo en el juego. Estas habilidades son valiosas y necesarias, pero Detener a un principiante en sus pistas. Conocer su camino alrededor de UNIX es una capacidad extremadamente gratificante, una gran parte de la infraestructura de TI del mundo se ejecuta en sistemas similares.

Espero que esto brinde una perspectiva sobre las razones por las cuales las personas podrían renunciar y cómo los recién llegados podrían superar estas dificultades iniciales.

Si y no.

Ya había codificado con ASP clásico durante bastante tiempo cuando intenté aprender los formularios web de ASP.NET y regresé a ASP clásico.

¿Por qué? No me gustó la forma en que trató de hacer la programación web como la programación de Windows ocultando la naturaleza sin estado de la web y todo el código fuente HTML.

Por supuesto, no me di cuenta de la verdadera razón “por qué” hasta que ASP.NET MVC estaba en vista previa y me enamoré de él. ¿Por qué? Porque nos devolvió el control y todo lo que realmente es la web.

Así que sí, a veces son las herramientas o el lenguaje o el marco. Pero la mayoría de las veces es la historia de mierda que te repites a ti mismo sobre por qué no puedes hacerlo.

Aunque sigo codificando como un pasatiempo, he renunciado al diseño de juegos, que fue la razón original por la que comencé a aprender programación. Runescape era mi juego cuando estaba en la escuela secundaria y en el noveno grado comencé a aprender Actionscript como parte de una clase de computación gráfica. Después de aprender ActionScript, ahora tenía las herramientas para comenzar a hacer juegos, pero también me di cuenta de algo muy significativo: me faltaba creatividad (y, para agregar a eso, capacidad artística). Hice algunos juegos de laberinto simples y jugué con algunos modelos de física, pero finalmente abandoné el diseño del juego en favor del diseño web y otras hazañas de codificación no relacionadas con el juego. Aunque estoy seguro de que hubiera sido divertido y emocionante hacer mis propios videojuegos, estoy contento con el camino que he elegido.

Aprendí HTML, luego CSS, luego JavaScript, luego ASP clásico, luego algo de PHP 3 y eventualmente VB6. Fui el mejor desarrollador de “buscar, copiar y pegar” de todos los tiempos. Hice más de $ 100k por año durante más de una década. Luego mi mundo se derrumbó cuando ASP.NET y c # entraron en escena. No quería separarme de lo que ya sabía y me sentía cómodo. Intenté aprender C #, pero me sentí derrotado por los cambios constantes en el marco (1.1 a 5), ​​IIS, Visual Studio, etc. Luego me convertí en un Project Manager, lo que me permitió mantener mi pie en el sector tecnológico sin sentir. Como un quitter o un fracaso. Hace aproximadamente dos años comencé a ver MVC 5, hasta ahora he podido solucionar problemas y realizar algunos desarrollos complejos, pero me gusta administrar proyectos mucho mejor, y saber que puedo saltar durante las pruebas y solucionar problemas menores me hace sentir como un mayor contribuyente a mi equipo.

Comencé a aprender cómo codificar el día después de que saliera interestelar, y desde entonces no he dejado de codificar.

Ha habido períodos de días en los que no he codificado nada por desaliento, pero siempre volví a ello.

También ha habido momentos en que comencé proyectos, me aburrí y cambié a algo completamente diferente.

Una razón por la que me tomé un descanso es porque no me gustaba la idea de sentarme en una silla todo el día mirando una pantalla. Todavía no lo hago, pero a veces tienes que hacer un sacrificio para conseguir algo que quieres.

La codificación realmente tiene una gran cadena de temas. Siento que la mayoría de las personas que adquirieron fama a través de la codificación han mantenido la perpetuidad. Intento trabajar en una programación, pero varios temas de programación se basan en ese tema en particular. Hoy en día, la codificación ha sido elegida por todos y cada uno de los individuos, ya que se ha convertido en la plataforma más sencilla para acceder a un trabajo. Pero si realmente desea tener éxito en el campo, realmente creo que la persona tiene que mantener la calidad de perspectiva para alcanzar ese nivel honorable y admirable.

Mark Twain dijo:

“Dejar de fumar es lo más fácil del mundo. Lo sé porque lo he hecho miles de veces”.

Yo también, mientras aprendía a codificar. He renunciado 100 veces. He empezado a aprender otro idioma. Me di por vencido. Pero al día siguiente volví a empezar. Y ahora estoy trabajando como desarrollador web, y este hecho me hace muy feliz.

¿Por qué renuncié tantas veces? Porque aprender a codificar es un trabajo duro. Y habrá muchos días en los que se sentirá completamente atascado, sin hacer absolutamente ningún progreso, sintiéndose mudo.

Pero continúa y sentirás la alegría de superarte a ti mismo, y al final verás que acabas de resolver el problema que era como un muro irrompible hace una semana.

Realmente no puedo en esta profesión. Hay algunos dominios de Javascript que elegí no bajar. Si planeas seguir siendo un desarrollador web, siempre tendrás que aprender nuevos idiomas a medida que se desarrollan.

Intento aprender a codificar por mí mismo, pero no renuncio porque descubrí que la codificación es muy interesante y relajante. No te rindas. Intenta ser un programador autodidacta. Usa referencias leyendo libros y navegando por Internet.

Sí, sucedió paso a paso:
Primero, pensé que podía hacerlo de todos modos. Déjame intentar algo más.
Luego, descubrí que hay mejores programadores en el mundo y nunca estaré en el 1% más alto del mundo.
Finalmente, encontré lo que me gusta hacer y nunca tuve que volver a la programación básica.

Podría “dejar de fumar”, pero mi experiencia en codificación sigue siendo un trabajo en progreso. Continúo y desactivo la codificación en mi tiempo libre, aprendiendo más sobre el idioma y aplicando gradualmente lo que aprendí en los proyectos que hice.

Hubo un tiempo mientras estaba en la escuela de posgrado en que me desanimé y quise cambiar de especialización de CS a música. Sin embargo, decidí quedarme en CS.