Aclaro que este recurso será actualizado periódicamente, por lo que te recomiendo darle star para estar al tanto de su estado en GitHub.
Esta guia no es más que una guia de estudio con recursos relevantes para conseguir competencias y conocimientos de cálidad con el fin de lograr un pérfil de un desarrollador de software completo.
Personalmente invito al lector a seguir paso por paso cada sección/entry de la guia para una mejor experiencia.
Cada sección incluye un apartado de recursos que usted debe estudiar, para obtener mejores resultados lo mejor es que desarrolle una mentalidad autodidacta.
Caution
Yo no promuevo la piratería pero casi cualquier libro se puede conseguir fácil en internet, bibliotecas públicas o archivos publicos (Anna's Archive, Internet Archive), aqui indexo los recursos de sitios oficiales (en su mayoría) para apoyar a sus autores, por lo que es su responsabilidad cómo conseguirlos.
Cada entrada tiene unos recursos organizados por temas, debe estudiar cada tema a menos que este incluya algún mensaje como el de "No es necesario"
La motivación es clave al querer estudiar, personalmente creo que la motivación es importe en muchisimos aspectos, en especial en el camino autodidacta, el cual representa muchisimas ventajas en la vida profesional y personal.
La programación es un campo extenso y muy competitivo, asi que entre más tiempo invierta en su propia educación más posibilidades tendrá de sobresalir.
Las bases son los cimientos de los conocimientos, sin buenas bases no será capaz de solucionar problemas. Aprender un lenguaje de programación es realmente fácil, basta con entender el paradigma y memorizar su sintaxis, pero esto no es suficiente para resolver problemas, el cual es el verdadero propósito por el cual lo van a contratar como desarrollador de software.
- Curso de ciencias de la computación - Khan Academy
- Curso de ciencias de la computación - Hardvard CS50
Las estructuras de datos organizan y gestionan información eficientemente. Son clave en software porque impactan el rendimiento, optimizan algoritmos y facilitan la resolución de problemas. En esta sección se invita a estudiar la teoría e intentar entender sus algoritmos y su estructura.
Introducción
- Opción 1 | INTRODUCCIÓN ESTRUCTURAS DE DATOS - Usalesiana
- Opción 2 | INTRODUCCION ESTRUCTURAS DE DATOS
- Articulo | ESTRUCTURAS DE DATOS
Importante
El código es la forma en la que nos comunicamos con lo que vamos a crear, por lo que dominar un lenguaje de programación será lo que nos permitirá crear soluciones mediante software y nos va a permitir definir un enfoque en el cual especializarnos:
- Grokking Algoritms (MUY RECOMENDADO)
Esta sección se dedica a temas que le pueden ayudar y que significan una ventaja bastante grande en sus conocimientos, sería ideal que pudiera adentrar en ellos.
Si la meta es llegar lejos con la programación y tener una comprensión superior, no debes olvidarte de las matemáticas pues estas te abren las puertas a una infinidad de soluciones por la que podrás destacar.
Comprender conceptos informaticos más allá de hardware y cómo una computadora funciona, es muy importante para hacer una gestión de recursos correcta y un correcto desempeño en ingenieria.
- The Hidden Language of Computer Hardware and Software — Charles Petzold (Libro recomendado)
- Building a modern computer from first principes
- Computer Science crash course (Este recurso se expande más allá de solo informática)
Esta guia está en construcción y renovación, lo invito a darle star y a colaborar.
Derechos de autor La mayoría de los recursos son links a los sitios oficiales, por lo que todos son extraidos de internet e indexados por google, esta guia no promueve la piratería ni el fraude.
Todos los textos que no son recursos ni tienen citas a fuentes extenas, son escritos por Esteban Gonzalez esteban@estebandev.xyz.