Cómo forzarme a aprender programación.

Entonces hazte una oferta!

Forzarte a ti mismo a aprender programación no te llevará a ningún lado. Aprender programación no consiste en terminar un curso en línea o un libro sobre algún lenguaje de programación, sino que es un largo camino para aprender la sintaxis, comprender cómo funciona el lenguaje, contribuir a proyectos, aplicar sus propias ideas y aprender siempre cómo hacer cosas más complicadas. cosas.

Realmente te aconsejaría que establezcas un objetivo por adelantado, como contratarte o contribuir a algunas cosas sofisticadas y comenzar a trabajar en él, motivándote con algunos logros secundarios, como vender o hacer cosas independientes a algunas personas que conoces que puedan necesitar algunas aplicaciones. Las personas que tienen negocios pequeños no relacionados con la informática preferirían a los programadores que hacen el trabajo con el menor precio independientemente de la calidad (a menos que el programa no funcione en absoluto). Estas personas serían un buen entrenamiento al principio y te ayudarían a ganar una cierta cantidad de dinero y motivarte. Todo lo que tiene que hacer es establecer el precio bajo y buscar entre su propia conexión y amigos para alguien que pueda automatizar su propio trabajo con la ayuda de su aplicación.

Después de vender el primer proyecto (presumiblemente pequeño), dando tiempo para depurar y ajustarlo a las necesidades del cliente, habría adquirido la experiencia suficiente para hacer su verdadera configuración. comience a aprender cómo funciona el compilador, cómo implementa algoritmos y estructuras de datos sofisticadas y qué bibliotecas de la tercera parte pueden facilitarle el trabajo. Intente contribuir a algún proyecto de código abierto, este logro debe ser en sí mismo una gran motivación para usted.

Después de este punto, deberías poder conseguir un trabajo con el lenguaje como freelance o como empleado en alguna empresa, lo cual sería la motivación para practicar y hacer cosas más y más.

Bueno, dado que su factor motivador es el dinero para resolver un problema, hablemos de eso: Resultados de la Encuesta de Desarrolladores de Desbordamiento de Pila 2016 El desbordamiento de pila cada año realiza una encuesta. Esto es respondido por personas en el campo que escriben el software. Por supuesto, te envié directamente a la sección de tecnología contra dinero.

La programación puede ser descrita como un continuo en 3 ejes.

Un eje es el talento / habilidad. Obviamente, cuanto más lejos en este eje mejor. Este es también el eje que las personas tienen más dificultades para autoevaluarse.

Otro eje es la pasión. De nuevo, cuanto más a lo largo de este eje, mejor. Un desarrollador en el otro extremo de este eje crecerá en los otros dos muy rápidamente.

El tercer eje es el conocimiento. Más arriba en este eje indica tanto la amplitud como la moneda / aplicabilidad de ese conocimiento.

El primer eje no puede ser controlado directamente. El talento es innato, pero la habilidad se desarrolla naturalmente con el tiempo con la exposición. El talento y la pasión ayudan a desarrollar esa habilidad.

El segundo eje es el núcleo de la motivación. Me apasiona mucho la programación. Por eso programo en casa, en mi tiempo libre. Por eso también respondo preguntas aquí. Como resultado, mi habilidad y conocimiento se mantienen altos porque siempre lo hago, como más de 60 horas a la semana haciéndolo.

El tercer eje solo puede ser mejorado con trabajo duro. Este es el eje que finalmente intentas mejorar aquí (obligándote a ti mismo a aprender programación). Entonces la pregunta es, ¿sigues forzando ese eje a pesar de que no te funciona bien?

Tienes pocas opciones:

  • Encuentra un proyecto que realmente quieras hacer. Deja que eso conduzca tu pasión. Como resultado, naturalmente gravitarás hacia el aprendizaje.
  • Muerde la bala y establezca un objetivo difícil para usted donde quiere que se mueva ese tercer eje. Utilice cualquier táctica motivacional estándar que le funcione (recompensas, restricciones, etc.) y hágalo.
  • Busca un nicho en la programación donde tu pasión sea mayor.
  • Busque en la programación exterior un lugar donde pueda combinar pasión e ingresos en lugar de solo uno u otro.

Inicialmente, mi motivación era la seguridad financiera. Con el tiempo, cuando comencé a involucrarme en el desarrollo móvil, mi motivación se convirtió en querer crear cosas que puedan ayudar a otras personas.

En mi curso CS160, que trataba sobre el diseño de la interfaz de usuario y la interacción humana con la computadora, mi equipo terminó construyendo una aplicación de reloj inteligente cuyo propósito era alertar a los usuarios de la aplicación de cualquier escena del crimen o ciertos eventos que ocurrían a su alrededor. Fue después de construir este producto que se encendió una chispa dentro de mí para crear aplicaciones que las personas pueden usar a diario.

Hasta ahora he estado construyendo principalmente juegos, pero actualmente estoy trabajando en un sistema de intercambio de puntos de comida (al final de cada semestre siempre hay un montón de estudiantes que tienen muchos puntos de comida y otros que se han agotado por completo). Esta aplicación tratará de hacer coincidir un “solicitante” con un “swiper” que puede deslizar al solicitante en el comedor común deseado.

Creo que la motivación generada por la pasión es una fuerza motriz mucho más fuerte que la motivación impulsada por la ganancia monetaria (aunque es necesario poder ganar suficiente dinero para sobrevivir).

Bueno, en general, solo aprendo un nuevo lenguaje de programación porque lo necesito.

Soy un chico de C ++, y preferiría escribirlo todo si pudiera razonablemente.

Así que principalmente aprendo nuevos idiomas porque lo necesito para trabajar, o para algún proyecto de hogar.

Hay algunas excepciones: algunos idiomas (Prolog, por ejemplo) parecen tan fascinantes que tengo que aprenderlos solo por mi propia educación / interés.

Sin embargo, diré una cosa: aprender tu primer idioma es difícil. Aprender tu segundo idioma es casi la mitad de difícil. El tercero es la mitad de duro que eso.

En estos días, puedo aprender lo suficiente de un nuevo idioma en un par de días para ser “útil”, y dentro de unas semanas lo dominaré bastante.

Así que quédate con eso … se vuelve más fácil.

Bueno, necesitas motivación para aprender, pero no tienes motivación, así que lo más probable es que no aprendas. Lo que me parece interesante es por qué estás interesado en algo por lo que no tienes motivación? Responder a esa pregunta puede llevarlo a dinero, a la influencia de otras personas oa la idea de que es una habilidad exigente. Tal vez otros también, pero si no está motivado, debería preguntarse qué quiere lograr con el aprendizaje para programar. Además, escucho que estás hablando de lenguajes en lugar de programación. ¿Eres nuevo en la programación? Si es así, te recomendaría aprender los principios de programación en lugar de un lenguaje específico. Espero que esto ayude

Estaba exactamente en tu situación.

No pude ver el futuro. ¡Déjame abrirlo para ti!

Sin forzarme y sin dinero en absoluto. Ni siquiera un centavo por los próximos 2-3 años.

O forzándome a mí mismo y sin dinero por 6 meses, luego haciendo 30k por los próximos 6 meses. Y ganando 80.000 el próximo año y más trabajos / ventajas a medida que adquiera más experiencia.

Además, algo que me mantuvo motivado e hizo que las cosas fueran más divertidas fue responder Preguntas sobre Stackoverflow (o simplemente publicar buenas preguntas y recibir respuestas, en minutos por personas que son desarrolladores de clase mundial) y ganar reputación / distintivos. Verte a ti mismo teniendo una reputación de +10000 con insignias de oro no solo es un gran motivador, sino también diversión, te obliga a aprender cómo funciona el programa y la depuración, también puede ser excelente para marketing / redes. Las personas pueden comunicarse con usted al ver su perfil, currículum vitae, nombre de usuario de Twitter, sitio personal, que ha incluido en su cuenta de stackoverflow.

También es muy importante tener compañeros, amigos, usted puede mostrar su trabajo y ser elogiado o hacer preguntas cuando golpea un bloqueador que no pudo resolver por horas. Ser un lobo solitario es frustrante como el infierno.

Habiendo dicho eso para obtener su primer trabajo, debe publicar una aplicación o, al menos, poder mostrar un proyecto de muestra propio a un reclutador (es posible que el flujo de apilamiento no sea suficiente)

Si te obligas a hacer algo, nunca lo amarás. Y si no lo amas, tu potencial para ser extremadamente bueno es muy bajo.

La programación suele ser una buena paga, pero esa no es la razón para que los buenos programadores se conviertan en unos. Por lo general, les encanta escribir código, el arte de convertir código en un producto funcional. Tus motivos están equivocados.

La programación puede ser muy exigente como carrera. Trabajará en un producto que no es el suyo y es posible que no tenga ningún interés en el producto real. Eso ya bajará un poco tu motivación.

Te sugiero que pruebes diferentes tipos de campos de desarrollo. Web front-end, back-end, inmersión en inteligencia artificial, microservicios, seguridad, tiempo real, móvil, etc. Tal vez encuentre algo que realmente disfrute, y luego su curva de aprendizaje será muy aguda, y mucho menos disfrutará el viaje.

Si eso no funciona, es posible que desee volver a considerar todo el campo de la programación, manteniéndolo como un pasatiempo. Como le digo ahora, con la actitud de “Soy el tipo de persona que solo aprende cuando alguien le obliga o le ofrece dinero”, no va a durar en la industria por mucho tiempo. No porque serás despedido, sino porque tu motivación bajará a cero.

No puedes forzarte a hacer nada. Pero puedes motivarte a ti mismo.

Andrew Carnegie dijo esto hace algún tiempo.

Las personas que no pueden motivarse deben estar contentas con la mediocridad, sin importar cuán impresionantes sean sus otros talentos .
Lea más en: Andrew Carnegie Quotes

En cierto sentido estoy de acuerdo contigo, aunque no del todo. Leeré sobre idiomas sin ninguna presión externa, pero para comenzar a usarlos necesito un poco de empuje. Sin embargo, no iría tan lejos como para hacerlo solo por dinero. Si lo hubiera hecho, solo estaría usando los idiomas que odio, como el lenguaje de macros de Excel 3 (el punto más bajo de mi carrera) y C ++ (que en un principio me pareció positivo, pero terminé despreciando; ya que Rich Hickey lo expresa mejor y tiene mucha más credibilidad que yo.

Pareces estar en la misma pista, ya que PHP y Javascript son lenguajes espantosos que me cuesta mucho imaginar que alguien esté contento usando. (Bueno, está bien, es posible que Javascript no sea tan malo como parece. Conozco gente razonable que lo usa a diario, así que podría haber pasado por alto algo. ¿Pero PHP? ¿En serio?)

Aceptar una mala lengua si alguien te empuja a hacerlo es una cosa. Pero suponga que alguien le ofrece un trabajo en el que puede elegir el idioma usted mismo. ¿Vas a elegir PHP o Javascript porque eso es todo lo que sabes? Dependiendo de la tarea, tal vez ninguno de los idiomas sea adecuado para el trabajo de forma remota. O incluso si lo son, estos son idiomas aburridos y usted acaba de renunciar a la oportunidad de algo más divertido.