Problemas al empezar como desarrollador


"Más de a uno ha pasado por lo mismo"


En esta entrada he decidido comentar algunos de los problemas por los que hemos pasado sino todos, muchos, a la hora de empezar a programar. Para que de esta forma las nuevas generaciones de desarrolladores (entre las que me incluyo) puedan tener una ayuda sobre lo que no hacer.

He decidido resumir todo esto en 7 tips o 7 problemas que le suelen suceder a la mayoría de la gente cuando empieza. Digo esto sin generalizar claro, basándome en propias experiencias y en experiencias de compañeros.

Problema 1: Quiero hacer "un videojuego, un virus, dominar el mundo..."
Aunque suena a chiste para muchos. Muchos de los que estamos en este increíble mundo empezamos por querer "hacer un videojuego" y buscamos en google "cómo hacer un videojuego".  Lo primero es el motivo por el que empezamos. Aunque queramos aprender a programar para realizar un videojuego, ya sabéis el dicho. Hay que aprender a caminar antes de correr. Y si centramos nuestros esfuerzos en crear un videojuego en lugar de profundizar en algún lenguaje de programación. No vamos a ir a ningún lado, porque lo primero requiere que lo segundo se haga primero.


 Problema 2: "Voy a hacer un videojuego en batch, he visto en youtube cómo hacer un virus en batch, seré un hacker."

1.¿Really? Antes de ponernos a aprender un lenguaje debemos saber para que sirve o para que se suele utilizar. Hay que indagar un poco antes de ponernos a aprender algo y elegir el lenguaje adecuado para nuestro proyecto. 
2. ...sin palabras. Y es que cuando eres pequeño (como en mi caso cuando empecé tenía 12/13 años) y buscas en youtube cosas de informática, o en google. Muchas veces no sabes como buscar y te salen cosas tipo "como crear un virus blanco en batch", que no es más que un acceso directo con un shutdown. De virus nada. Hay mucha desinformación por la red y debemos contrastar todo antes de darlo por válido.
3. Queremos aprender a programar y programar es algo bonito, bello y puro donde la creatividad es el motor de todas las cosas que creamos. Intentar crear cosas con fines maliciosos no nos va a llevar a ningún sitio.
4. ...me ahorro el comentario. Antes de proclamarte como algo deberías buscar en varios sitios el significado de esa palabra.



Problema 3: ¿Con qué lenguaje empezar?

Eso ya es cosa de cada uno, yo empecé haciendo pequeños Scripts en batch y rápidamente me pasé a C, con lo que estuve poco tiempo porque conocí C++ y lo preferí enormemente. Después me hice amigo de Python y desde entonces hemos sido inseparables aunque ahora le estoy dando la oportunidad de entrar en mi vida a Ruby.

Lenguajes hay muchos, se recomienda empezar por C. Aunque yo personalmente hubiera preferido empezar por Python. Dado que el nivel de C es más para gente que ya tiene ciertos niveles de conocimientos superiores a los que se dan en la ESO. Lo que importa es coger las bases. Cuando coges las bases en un lenguaje migrar a otro te será relativamente fácil.

Problema 4: ¡Qué mi código no lo vea nadie!
Cuando empezamos en este mundo muchas veces somos reacios a compartir nuestras creaciones. Pero debemos pensar... si nosotros sabemos esto es porque alguien nos lo ha enseñado. Alguien se ha tomado la molestia de escribir un libro o explicar una documentación o... crear un lenguaje de programación. Que tire la primera piedra quien no haya preguntado nada nunca en ningún foro.
Debemos ser fieles a la filosofía OpenSource. Nuestro código puede ser todo lo sagrado que queramos y sentirnos desnudos al principio dejando que cualquiera haga lo que quiera con algo que es... como nuestro hijo jajajaj... Pero toda modificación que haga una persona en lo que originalmente hicimos nosotros solos es a mejor. Y no solo van a ayudarnos a ver nuevas cosas para incluir, sino a detectar errores y lo mas importante. Todo esto ayudará a personas que como nosotros, quieren escribir software por hacer de este un mundo mejor.
El software privativo es como la comida del McDonalds, puede estar muy rico pero no sabemos que nos comemos.


Problema 5: "Ya sé programar"
Nunca, y repito nunca, terminamos de aprender cosas y los lenguajes de programación evolucionan día a día. Yo soy el primero que reconoce que no tiene ni la más remota idea de casi nada. Por eso día a día intento aprender cosas nuevas y día a día descubro que hasta el final de mis días. Seguiré sin tener ni la más remota idea de casi nada porque el software va evolucionando a velocidades vertiginosas.
Somos desarrolladores, creadores de contenido. Debemos tratar de innovar y superarnos cada día por lo que decir "ya se programar" no tiene sentido. Deberíamos decir más bien "he aprendido a hacer esto de esta manera que no sabía antes".


Problema 6: He aprendido un lenguaje, ahora solo me queda profundizar en él.
No es necesario conocer todos los lenguajes de programación, ni mucho menos. Pero si es importante conocer varios porque cada uno te introduce una nueva filosofía y una nueva perspectiva del mundo. Además de una nueva comunidad.
Y evidentemente...  no podemos realizar un videojuego o crear una página web (que no se viera neolítica) conociendo única y exclusivamente HTML.

Problema 7: "Comoditis aguda"

Si tienes una duda primero intenta resolverla por ti mismo. Mira y remira tu código, analiza el error que te da en caso de darte un error. Busca en google, mira la documentación oficial del lenguaje de programación que estés usando. De la librería que estés usando y si después de mil quebraderos de cabeza no lo consigues solucionar.
Pregunta. Si no te saben responder a la primera sigue buscando y si no lo encuentras vuelve a preguntar en otro foro. Si a pesar de esto parece no haber documentación acerca de tu error o duda sigue husmeando y cuando encuentres la respuesta publícala. Así podrás ayudar a otros programadores en tu situación.
Además, te sentirás mucho mejor por haber sabido resolver la duda por ti mismo en lugar de que te la resuelvan otras personas. Estamos aquí para ayudar pero no para perder el tiempo. Y que te digan como hacer una cosa no vale nada sino la aprendes para una próxima vez.
La mejor forma de aprender algo es descubrirlo. Te debes de sentir cómodo resolviendo tus propias dudas.

En definitiva, si quieres dedicarte al mundo del desarrollo bien sea por una meta, la gratificante sensación de auto-realización, por ayudar a otras personas o por cualquier otro motivo. No olvides que este es un mundo lleno de creatividad y que los desarrolladores nos parecemos más a chicos y chicas con ganas de innovar y diseñar un mundo nuevo desde los engranajes, que a monos tocando botones delante de una pantalla.


Espero que esta entrada pueda ayudar a otros que estén empezando a programar y a jóvenes programadores que ya tengan algo de base.

Un fuerte abrazo!

No hay comentarios:

Publicar un comentario