Lo primero que me gustaría preguntar es esto: ¿realmente quieres hacerlo? Porque si lo haces, entonces disfrutarás poniendo el esfuerzo requerido. Y luego * nada * puede evitar que te conviertas en programador.
Primero te diré lo que no importa :
1. Edad : al menos en tu caso. 30 no es nada. Tenía 20 años cuando escribí la primera línea de código. Conozco a alguien que tiene 65 años y ha comenzado a codificar un poco, solo por diversión.
2. Experiencia con computadoras : cuando aprendí a escribir algo de código, también fue la primera vez que me senté por más de 1 minuto en un tramo frente a una computadora. También la primera vez que tenía una computadora. No tuve conexión a Internet hasta otro año.
3. Educación formal : es genial si la tienes. No es tan malo si no lo haces. He trabajado como programador durante más de una década con empresas que desarrollan y venden productos y servicios de software. Nunca me senté en ninguna clase para una conferencia de ciencias de la computación. Tomé un solo curso de programación C en 8 semestres de educación universitaria. Tenía un amigo que me ayudó a aprender Unix explicando el concepto de un núcleo y programas de usuario, un shell y descriptores de archivos y creo que eso era importante. Eso es lo más formal posible. No soy un súper triunfador menor de edad, pero he seguido aprendiendo. Mantente hambriento, mantén una mente abierta y lee de las mejores fuentes. Y ten paciencia y tenacidad. Aquí es donde lo que primero te pregunté cuenta. ¿Realmente quieres? Porque si lo hace, entonces su disfrute y la diversión de haber resuelto incluso un pequeño problema mediante la codificación lo ayudarán a avanzar mucho y el esfuerzo que haga parecería menos estresante.
4. Inteligencia de primer nivel : la programación * requiere * inteligencia, pensamiento abstracto, comprensión sofisticada. Pero no es necesario tener una reputación exitosa en estas áreas para comenzar. Escribir más y más programas puede ayudar a que estos rasgos mejoren significativamente. Por lo tanto, estos rasgos no son un requisito previo.
Y ahora a lo que importa (sin ningún orden en particular):
1. Paciencia : nada te hará aprender cosas rápidamente. La programación requiere una buena comprensión, pensamiento estructurado y buena memoria. Te vuelves cada vez más inteligente a medida que avanzas por problemas más complejos. La paciencia es clave porque muchas veces no entenderás ni lograrás lo que estabas intentando. Dormirás sobre esas fallas y no las volverás a visitar durante meses. Y luego volverás más sabio. Siempre debe sentir que está más cerca de solucionar un problema que de darse por vencido.
2. Curiosidad : ¿cómo funciona algo? A medida que comienza a codificar, ¿comenzará a cuestionar la forma en que un programa hace algo? Esa es la mejor manera de descubrir más información y más técnicas. Podrían ser cosas simples como cómo aparece una nueva ventana emergente cuando presiono ese botón o cosas más complejas, como cómo pueden conectarse tantas personas a Amazon al mismo tiempo y hacer sus compras, y nada parece ralentizar a Amazon. Este es el único rasgo que no puede prescindir.
3. Comprometerse con la comunidad : lea esto como “usar Internet de manera efectiva”. En cierto modo, para aprender a codificar solo necesita saber cómo enmarcar buenas consultas de búsqueda en Google. Cada vez que esté atrapado, debe estar preparado para descubrir por sí mismo por qué está atrapado y qué han hecho los demás para sortear situaciones similares. En el proceso, deberá suscribirse a las listas de correo e inscribirse en los foros (oh, espere un minuto, ya está en Quora :)) y hacer preguntas. Sin embargo, en un momento, también podría estar respondiendo algunas de esas preguntas.
4. Elegir el punto de partida correcto : debe comenzar con algo cuyo resultado le interese y que no sea excesivamente desalentador. Podrías comenzar con Python o Ruby. En algún momento sabrá dónde se encuentra con estos y podría intentar construir cosas interesantes con ellos, como un pequeño sitio web que realmente hace algo útil.
5. Recoger buenos libros sobre programación, teoría de la informática, diseño, etc .: hay una gran cantidad de literatura y vale la pena leerla. No puedes leerlo todo en la vida, pero puedes hacer una elección juiciosa que se pueda leer. Mantenga una lista de libros que desea leer. Una de esas listas aquí, hay muchas más:
¿Cuáles son los libros que hay que leer para los ingenieros de software?
6. Desarrollar una opinión : esto no es algo que pueda hacer de manera totalmente consciente. Pero desarrollas una opinión al saber más y también al escuchar lo que piensan los demás y luego razonar contigo mismo lo que tiene sentido.
7. Priorización : debe desarrollar un sentido de lo que es importante aprender y crítico para su comprensión y lo que se puede posponer u omitir.
8. Ser práctico : la capacidad de hacer algunas puñaladas en un problema sin conocer necesariamente el mejor método para resolverlo es muy importante. No espere para aprender toda la teoría antes de intentar resolver un problema. No funciona así y es menos divertido también.
9. Sin comprometer : asegúrese de conocer los “no hacer” y evitarlos. Demasiado a menudo es fácil de ignorar, pero apegarse a los buenos consejos de programación, comprender la lógica detrás de ellos y practicarlos ayuda a construir una perspectiva y una opinión (# 6 arriba) y también mejora la calidad de su código.