Aprender a programar: ¿mejor en escuelas o de forma autodidacta?

bigpreview

La programación interesa cada día más. La tecnología avanza y ya no nos conformamos con lo que nos ofrecen, también queremos aportar y crear nuestras propias aplicaciones. Es por ello que iniciar a los niños en la programación es cada vez más frecuente, ya no es algo reservado para los que optaban por carreras de ingeniería. El problema es que, para los que ya pasaron su etapa educativa, si ahora se plantean aprender a programar no saben qué opción es mejor, por libre de forma autodidacta o a través de los cursos que organizan escuelas u otros empresas del sector.

La programación y el futuro de los niños

La importancia de la tecnología es tal que no tardará mucho en llegar un momento donde los nos tendrán que aprender a programar en las escuelas. De igual modo que aprenden matemáticas, lengua o inglés lo harán con un lenguaje de programación. Las clases de informática no tratarán sobre cómo funciona un teclado o un ratón, qué es la CPU o la RAM. Que sí, que es importante conocer un poco de esa informática básica pero en una era donde smartphone y tabletas dominan, ¿quién necesita un PC?

Por ello, en algunos países ya se están aprobando planes de estudios que contemplan el aprendizaje como programador como una asignatura más. Además, la lógica que se obtiene resolviendo retos de programación es muy beneficiosa de cara a otras asignaturas. Todo sin olvidar que se les está dotando de unas habilidades que les permitirán ser más competitivos y gozar de más oportunidades en el mercado profesional, incluso, crear su propio trabajo.

¿Cómo aprendemos a programar, en casa o en la escuela?

programacion
El problema es saber cómo comenzar. ¿Qué hacemos, aprendemos de forma autodidacta o en una escuela? Esta es la pregunta que muchos nos hacemos cuando pensamos en aprender a programar. Si somos estudiantes, posiblemente, podamos encontrar cómo hacerlo en nuestra escuela o universidad. Pero si no es así, hay que saber delimitar las ventajas e inconvenientes de cada opción.

Vamos a suponer que somos usuarios sin base alguna en temas de programación, que nunca ha visto que es una sentencia, una definición de variable o un bucle. Por tanto, se nos plantean diferentes posibilidades:

Aprendizaje autodidacta: libros y tutoriales online

prog
La opción más sencilla, ahora que todos disponemos de una conexión a internet, es aprovechar todo el conocimiento que hay en la red. Sin importar si queremos aprender Objetive C, C++, Python, Ruby, Javascript, Scala o Java entre otros tantos lenguajes vamos a encontrar material de sobra.

El problema es filtrarlo y tener un índice que seguir. En ese caso los libros no son una mala opción de aprender por libre pero hemos de estar seguros que se trata de un buen libro y dos, que no lo dejaremos a la mínima dificultad. Consultando en librerías especializadas o por internet encontraréis muchos libros para programar para los sistemas de Microsoft, iOS, Android, etc.

Si no tenemos nociones previas hemos de procurar que el primer libro nos de las nociones básicas para programar en dicho lenguaje. Luego, que se traten de fundamentos y tengamos ejemplos con los que practicar y asimilar mejor cada nueva lección. Si es un texto demasiado denso el intento será fallido.

Mi primer curso online o presencial de programación

android
Si has optado por un curso, este debe comenzar con aquello que te falta. Volviendo al caso de no haber visto nunca nada de programación, entonces debe ser un curso sobre fundamentes de programación nuevamente. También aquí es importante que el docente tenga capacidad de transmitir sus conocimientos. Y si cuenta con opciones a consultas mejor que mejor. Sobre todo si es un curso online.

Con estos cursos, si están bien estructurados, el material es de calidad y se nos permite poner en marcha lo aprendido para su evaluación o consulta de dudas, entonces es una opción validad. Pero ojo, no cualquier curso que descarguemos ha de ser de calidad.

Si buscáis cursos de calidad, echad un vistazo a nuestro post con los mejores cursos universitarios para este verano.

Escuelas para aprender a programar

code
Cursar unos estudios informáticos, como la licenciatura en sistema y gestión es la opción más adecuada. Sobre todo si nuestra intención es dedicarnos de forma profesional. Vamos a requerir una mayor dedicación pero no sólo abordaremos los temas dede una perspectiva diferente, también seremos capaces de conocer los principios de la lógica en programación y mucho más.

Es cierto que nos ocupará más tiempo pero la preparación será mucho mayor. Porque aprender un lenguaje con sus sentencias, modos de encadenar ordenes, etc no nos hace programadores. Sabremos leer código pero no crearlo para solventar un problema concreto.

El cuñado programador

code

Si ya tenemos un trabajo, la programación es algo que nos interesa más a modo de hobby y no podemos hacer cursos presenciales puede que, junto a los cursos online, nuestra solución sea recurrir al cuñado programador o amigo. Si optamos por esa alternativa tenemos que tener claro su nivel de conocimientos, capacidad de comunicación y ser responsables con lo que aprendemos y el tiempo que invertimos.

¿Qué opinan los implicados?

Hay opiniones para todos los gustos. Bajo mi propia experiencia, los cursos online en los que se nos entrega un temario y por nuestra cuenta vamos estudiando me parecen una buena opción para ver si nos atrae y gusta el tema o no. Pero siempre viene bien poder contar con un contacto con el que podamos resolver dudas. Es por eso que cualquier docente implicado en enseñar a programar nos dirá que mejor hacerlo en escuelas o cursos online con tutor. Si no es así, se puede hacer muy cuesta arriba y a menos que tengamos una base de inicio terminará siendo un intento frustrado de aprender a programar por nosotros mismos. Pero conozcamos la opinión de profesionales implicados.

José M. Rodríguez es desarrollador i+d en idealista.com además de coordinador en Genbetadev.

En mi opinión, la escuela te aporta un background y unos cimientos más sólidos para asimilar mejor futuros conceptos de programación. Entre lo más importante que se debe aprender en la escuela son los patrones de diseño, arquitectura de software y los principios de los paradigma de programación. Pero no creo que sea estrictamente necesario aprender a programar en la escuela. Cualquier persona puede comenzar de forma autodidacta a aprender a programar, actualmente existen decenas de plataformas online que aportan una guía para ir progresando en el aprendizaje y probando en distintos sandbox para practicar. El aprendizaje autodidacta ha evolucionado mucho desde hace unos años que solo contábamos de un libro y nuestra fuerza de voluntad, ahora existen las mencionadas plataformas online, cientos de foros en los que compartir problemas con otros desarrolladores y herramientas (IDE, servidores de pruebas, maquinas virtuales) que facilita el aprendizaje y la práctica.

Fernando Rodríguez, de Agbo Training

Me dedico fundamentalmente a enseñar a programar, desde alumnos que no tienen ninguna base previa a ingenieros de Facebook en Menlo Park que necesitan aprender a desarrollar para iOS. Impartimos cursos tanto en formato presencial, como a distancia u online. Uno de nuestros cursos online ha sido mencionado en el Financial Times, Venture beat e InformationWeek.

Esto hace que tenga una cierta experiencia como instructor, pero como informático tengo muchísima más experiencia aprendiendo, ya que tenemos que reciclarnos constantemente y no pasan dos años sin que nos cambien absolutamente todo.

Aunque terminé optando por la programación, mi formación ha sido algo distinta (estudié ingeniería química) y tuve desde muy temprano que buscarme las habichuelas para aprender lo que necesitaba. Esto ha sido una carrera de obstáculos, obstáculos que desde hace algunos años intento quitar del camino de los que empiezan.

A lo largo de mi vida, he sido casi siempre auto-didacta. Esto tiene una serie de ventajas, como poder organizar tu tiempo de la forma que te resulte más cómoda. Sin embargo, exige un gran esfuerzo de tu parte y te cuesta mucho tiempo malgastado. Rara vez sabes de ante mano cuales son los conceptos que de verdad vas a necesitar en tu trabajo diario y muchos libros parecen estar diseñados no para enseñar algo al lector sino para demostrarle que el autor es mucho más inteligente. Y a menudo lo consiguen.

El encontrar libros o cursos buenos es la primera gran labor y un error en este punto puede descarrilar por completo tu proyecto, desmotivándote y haciéndote perder el tiempo. Sabiendo Inglés, la tarea es muchísimo más llevadera y hay una abundancia enorme de material disponible. Un gran ejemplo es todo el material de ADUni, que contiene video-cursos de una versión abreviada del currículum de informática del MIT. Aunque un poco antiguo (fue un concepto muy adelantado a su tiempo, muchísimo antes de los MOOCS), sigue siendo una de las mejores opciones para el que quiera aprender conceptos más avanzados

Eso si, si no sabes Inglés, te encuentras con el descubrimiento de que el Inglés es precisamente el lenguaje de programación más importante que existe…. Esto limita más aun tus opciones si quieres ser auto-didacta.

Una de las grandes ventajas de acudir a un buen curso es que alguien con más experiencia que tú ha organizado el material que vas a aprender, teniendo en cuenta lo que de verdad vas a necesitar en tu trabajo. Yo calculo que en los casos en que acudí a un curso, de iOS y de Android, cada uno me ahorró unos 3 meses de trabajo en solitario. Esto es algo a tener muy en cuenta a la hora de tomar una decisión.

Cuando quise crear un curso, decidí que sería aquel de me hubiese gustado a mi cuando empecé.
Se enseñaría aquello que de verdad necesitas para crear Apps para iOS, de forma gradual, para que el alumno no sólo entienda los conceptos, sino la necesidad de los mismos. También hice todo lo posible para que fuese lo más ameno y divertido posible.

Existen muchos cursos que enseñan un lenguaje, sea este ObjectiveC, Swift, Java o lo que sea. Sin embargo, eso no es suficiente: es como enseñarle a un aprendiz de cocinero cómo manejar el horno, pero no enseñarle a preparar y combinar los ingredientes para crear un plato.

Mis alumnos aprenden mucho más que un lenguaje, sino que salen sabiendo hacer BIEN Apps para iOS, lo cual es mucho más difícil y mucho mejor recompensado: lo primero no vale nada y con lo segundo puedes encontrar empleo en cualquier parte del mundo.

Mi gran objetivo es que el que termine el curso, salga con una base muy sólida que le permita abordar cualquier desarrollo en iOS. Por lo que me cuentan muchos de ellos, no solo es así, sino que es algo que valoran mucho. Esa es mi mayor satisfacción.

Si estás pensando en aprender algo totalmente nuevo, recomendaría buscar un curso, y uno que esté avalado por comentarios de ex-alumnos. El arranque inicial es lo más difícil y el momento en que más te va a beneficiar tener a un mentor con más experiencia. A partir de ahí ya puedes volar solo y todo dependerá exclusivamente de tu esfuerzo y dedicación.

Por tanto, sin descartar ninguna, si tengo que elegir me quedaría con cursos presenciales o los estudios universitarios si queremos trabajar de forma profesional. Existen interesantes iniciativas para aprender a programar. Algunas que me han resultado atractivas son:

  • Ironhack, cursos intensivos de programación para desarrolladores y emprendedores. Es necesario tiene runa base pero la intensidad del curso hace que se aprenda mucho en un tiempo que para muchos es récord.

  • AGBO es una buena opción para todos aquellos que quieren iniciarse en la programación para dispositivos iOS.

  • Tal y como recomendaban en GenbetaDev, si quieres aprender a programar en Android en Udacity disponen de un interesante curso: Curso Developing Android Apps

Ahora vosotros, ¿qué opción preferís? Si os habéis lanzado al mundo de la programación, recomendáis algún libro o curso en especial; o mejor optar por lo seguro y asistir a una escuela.

En Anexo M Blog oficial de Jazztel | Los mejoresescirrosos para empezar a programar aplicaciones móviles

4 respuestas a “Aprender a programar: ¿mejor en escuelas o de forma autodidacta?

  1. Yo creo que sea mucho mejor hacer un curso para aprender a programar, como para aprender cualquier otra cosa. Los profesores son especializados y saben bien como hacer para que aprendas una cosa más fácilmente. Yo tome clases de desarrollo web y programación con Másqueclases. Son profesores particulares que dan clases particulares a domicilio y además las clases son muy baratas. Los profesores son muy muy buenos y yo estoy de verdad muy contenta con las clases que tomé. Aquí dejo la página web, por si alguien está interesado: http://www.masqueclases.es/
    Espero haber sido de ayuda. Un saludo a todos.

  2. Sin duda para aprender a programar yo opino que es mucho mejor hacer cursos presenciales y una vez se consigue una base si que se puede ampliar información a través de Internet. Hoy en día hay tanta información en la red que se pierde más tiempo en encontrar la información que necesitamos del que invertimos en un curso presencial. Por otra parte yo os recomiendo que visitéis http://www.KNOWTECH.es, tienen cursos presenciales por un precio muy atractivo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *