6 formas de convertirse en programador

Tabla de contenido:

6 formas de convertirse en programador
6 formas de convertirse en programador

Video: 6 formas de convertirse en programador

Video: 6 formas de convertirse en programador
Video: ¿Cómo pasar corriente de un coche a otro? 2024, Mayo
Anonim

Convertirse en programador es un proceso acumulativo que desarrolla sus habilidades día tras día y año tras año, y la programación puede ser divertida y gratificante (mental, espiritual y financieramente). Esta guía no promete ofrecer una manera mágicamente fácil de convertirse en programador, y el orden de los pasos no es sagrado, pero obtendrá un esquema general de cómo convertirse en programador en uno de los campos de la programación moderna.

Pasos

Conviértete en programador Paso 1
Conviértete en programador Paso 1

Paso 1. Realice un curso introductorio en una (o todas) de las siguientes disciplinas:

  • Lógica
  • Matemáticas discretas
  • Lenguaje de programación (participe en los diferentes paradigmas de programación, comenzando desde secuencial / procedimental hasta orientado a objetos, después de la programación funcional y lógica. Preferiblemente Ruby / Python / Pascal para principiantes y después de un buen conocimiento profundizar en C ++ / C # / Java)

CONSEJO DE EXPERTO

Gene Linetsky, MS
Gene Linetsky, MS

Gene Linetsky, MS

Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.

Gene Linetsky, MS
Gene Linetsky, MS

Gene Linetsky, MS

Fundador de startups y director de ingeniería

No sienta que tiene que obtener un título en codificación.

Si bien tomar cursos en un lenguaje de programación puede ser útil, Gene Linetsky, ingeniero de software y fundador de una startup, dice:"

Conviértete en programador Paso 2
Conviértete en programador Paso 2

Paso 2. Aprenda conceptos de bases de datos como tablas, vistas / consultas y procedimientos

Puede usar cualquier paquete de base de datos simple para hacer esto, como:

  • Acceso MS
  • DB V
  • Fox Pro
  • Paradoja
  • MySQL es una buena base de datos para aprender porque es gratis, de uso común y se accede comúnmente a las bases de datos con consultas SQL.
Conviértete en programador Paso 3
Conviértete en programador Paso 3

Paso 3. Decide qué tipo de programador quieres ser

Los programadores generalmente pertenecen a una de las siguientes categorías:

  • programador web
  • Programador de aplicaciones de escritorio

    • Programador orientado al sistema operativo (SO) (vinculado a un único sistema operativo o conjunto de sistemas operativos)
    • Programador independiente de la plataforma
  • Programador de aplicaciones distribuidas
  • Programador de biblioteca / plataforma / marco / núcleo
  • Programador del sistema

    • Programador de kernel
    • Programador de controladores
    • Programador del compilador
  • Científico de programación
Conviértete en programador Paso 4
Conviértete en programador Paso 4

Paso 4. Aprenda las tecnologías y los lenguajes de programación relacionados con su campo de programación de elección

Las siguientes secciones desglosan las tareas para diferentes tipos de programación.

Método 1 de 6: programación web

Conviértete en programador Paso 5
Conviértete en programador Paso 5

Paso 1. Conozca lo que implica la programación web

Las aplicaciones web son componentes de software diseñados para funcionar sobre la arquitectura de Internet. Esto significa que se accede a las aplicaciones a través de un software de navegador web como Firefox o Internet Explorer. Construirse sobre la arquitectura de Internet no requiere necesariamente una conexión activa a Internet. Significa que las aplicaciones web se construyen sobre tecnologías web estándar como:

  • HTTP
  • FTP
  • POP3
  • SMTP
  • TCP
  • Protocolos IP
  • HTML
  • XML
  • Fusión fría
  • ÁSPID
  • JSP
  • PHP
  • ASP. NET
Conviértete en programador Paso 6
Conviértete en programador Paso 6

Paso 2. Explore muchos sitios web diversos para conocer su apariencia habitual

(Haga clic con el botón derecho, luego haga clic en Ver código fuente o presione F12.) Busque diversidad en el tipo / contenido del sitio web, no en la cantidad de sitios web visitados. Por lo general, deberá visitar al menos uno de cada uno de los siguientes tipos de sitios web:

  • Sitios de presencia corporativa (corporaciones comerciales, corporaciones / organizaciones sin fines de lucro, organizaciones gubernamentales)
  • Motores de indexación web (motores de búsqueda, sitios de metabúsqueda, motores de búsqueda especializados, directorios)
  • Sitios de minería de datos
  • Sitios personales
  • Páginas informativas / enciclopédicas (wikis, hojas de datos, especificaciones técnicas y manuales que enumeran directorios, blogs y revistas, sitios de agencias de noticias y noticias, páginas amarillas, etc.)
  • Sitios sociales (portales sociales, sitios de marcadores, sitios para tomar notas)
  • Sitios colaborativos (esto incluye otras categorías mencionadas anteriormente, como wikis y blogs)
Conviértete en programador Paso 7
Conviértete en programador Paso 7

Paso 3. Aprenda al menos una técnica / método de lluvia de ideas y un software que se utiliza para implementar ese método

Por ejemplo: diagramas de lluvia de ideas y MS Visio.

Conviértete en programador Paso 8
Conviértete en programador Paso 8

Paso 4. Familiarícese con la estructuración de sitios web

Se trata de crear diagramas web conceptuales, mapas del sitio y estructuras de navegación.

Conviértete en programador Paso 9
Conviértete en programador Paso 9

Paso 5. Realice un curso intensivo sobre diseño gráfico

Intente aprender al menos un paquete de software de edición / manipulación de gráficos (opcional, pero muy recomendable)

Conviértete en programador Paso 10
Conviértete en programador Paso 10

Paso 6. Aprenda los conceptos básicos de la infraestructura de Internet

Esto incluye tener una idea básica sobre:

  • Protocolos de servicios web básicos (HTTP, FTP, SMTP y POP3 o IMAP4)
  • Software de servidor web (preferiblemente, uno para la plataforma en la que trabajará principalmente)
  • Software de navegación web.
  • Servidor de correo electrónico y software de cliente
Conviértete en programador Paso 11
Conviértete en programador Paso 11

Paso 7. Aprenda los lenguajes HTML y CSS

Es posible que también desee obtener el paquete de software "Lo que ve es lo que obtiene (WYSIWYG)" para editar HTML.

Conviértete en programador Paso 12
Conviértete en programador Paso 12

Paso 8. Aprenda XML y tecnologías relacionadas con XML, como XSL y XPath (opcional pero recomendado)

Conviértete en programador Paso 13
Conviértete en programador Paso 13

Paso 9. Cree sitios web estáticos simples hasta que se familiarice y se sienta cómodo con HTML

Conviértete en programador Paso 14
Conviértete en programador Paso 14

Paso 10. Aprenda un lenguaje de secuencias de comandos del lado del cliente

La mayoría de los usuarios aprenden JavaScript. Algunos aprenden VBScript, pero esto no es compatible con la mayoría de los navegadores.

Conviértete en programador Paso 15
Conviértete en programador Paso 15

Paso 11. Familiarícese con el lenguaje de programación del lado del cliente que aprendió

Intente alcanzar su potencial utilizando solo ese idioma. Solo vaya al siguiente paso después de que al menos se haya familiarizado con el lenguaje de programación del lado del cliente.

Conviértete en programador Paso 16
Conviértete en programador Paso 16

Paso 12. Aprenda al menos un lenguaje de programación del lado del servidor

Si elige restringirse a un software de servidor, aprenda uno de los lenguajes de programación compatibles con ese software. Si no es así, aprenda al menos un lenguaje de programación en cada software de servidor.

Conviértete en programador Paso 17
Conviértete en programador Paso 17

Paso 13. Crea un proyecto piloto usted mismo después de que termine de aprender el lenguaje de programación del lado del servidor.

Conviértete en programador Paso 18
Conviértete en programador Paso 18

Paso 14. Obtenga su propio sitio web y comience a experimentar en línea dentro de su propia página

Método 2 de 6: Programación de aplicaciones de escritorio

Conviértete en programador Paso 19
Conviértete en programador Paso 19

Paso 1. Sepa en qué se está metiendo con la programación de aplicaciones de escritorio

La mayoría de los programadores de escritorio escriben código para soluciones empresariales, por lo que hacerse una idea de las empresas, su estructura organizativa y financiera será un gran ahorro de tiempo.

Conviértete en programador Paso 20
Conviértete en programador Paso 20

Paso 2. Conozca las diferentes arquitecturas de hardware informático

Es útil un curso de nivel introductorio en diseño de circuitos digitales y otro en arquitectura de computadoras; sin embargo, algunos lo ven como un punto de partida avanzado, por lo que leer dos o tres artículos de tutoriales (como este y este) podría ser suficiente. Luego, puede volver a este paso más tarde, después de aprender su primer lenguaje de programación.

Conviértete en programador Paso 21
Conviértete en programador Paso 21

Paso 3. Aprenda un lenguaje de programación de nivel de entrada (para niños)

No seas tímido para aprender un idioma así solo porque eres mayor que el que te llamen "niño". Un ejemplo de estos lenguajes de programación puede ser Scratch. Estos lenguajes de programación pueden aliviar enormemente el dolor de aprender su primer lenguaje de programación. Sin embargo, este paso es opcional. También se puede hacer antes del paso anterior.

Conviértete en programador Paso 22
Conviértete en programador Paso 22

Paso 4. Obtenga una introducción al procedimiento, orientado a objetos, y paradigmas de programación funcional.

Conviértete en programador Paso 23
Conviértete en programador Paso 23

Paso 5. Realice un curso introductorio en uno de los lenguajes de programación procedimental

Independientemente del idioma que elija más adelante para ser su idioma de elección, requerirá programación de procedimientos en algún nivel. Además, la mayoría de los programadores informan que la programación procedimental es la más fácil de usar como punto de partida para hacerse una idea de la programación en general.

Conviértete en programador Paso 24
Conviértete en programador Paso 24

Paso 6. Aprenda al menos una técnica de modelado avanzada como UML u ORM

Conviértete en programador Paso 25
Conviértete en programador Paso 25

Paso 7. Comience a escribir algunas aplicaciones pequeñas de consola o similares a una consola

Puede hacer uso de pequeños ejercicios comunes en libros de lenguajes de programación. Para ello, elija una herramienta para escribir programas en el lenguaje de programación en el que está escribiendo.

Paso 8. Tome un curso más avanzado en el lenguaje de programación que elija

Asegúrese de comprender bien los siguientes conceptos y de que puede aplicarlos con relativa facilidad antes de seguir adelante:

  • Entrada y salida de información a los usuarios de un programa.
  • El flujo lógico y el flujo de ejecución de programas en lenguajes procedimentales.
  • Declarar, asignar y comparar variables.
  • Construcciones de programación de bifurcación como if..then..else y select / switch..case.
  • Construcciones de bucle como while..do, do.. while / until, for..next.
  • La sintaxis de su lenguaje de programación para crear y llamar procedimientos y funciones.
  • Tipos de datos y su manipulación.
  • Tipos de datos definidos por el usuario (registros / estructuras / unidades) y su uso.
  • Si su idioma admite funciones de sobrecarga, entiéndalo.
  • Los métodos de acceso a la memoria de su idioma de elección (punteros, mirar a escondidas, etc.)
  • Si su idioma admite la sobrecarga de operadores, entiéndalo.
  • Si su idioma admite delegados / punteros de función, entiéndalo.
Conviértete en programador Paso 27
Conviértete en programador Paso 27

Paso 9. Aplique las técnicas avanzadas que ha aprendido

Conviértete en programador Paso 28
Conviértete en programador Paso 28

Paso 10. Realice un curso introductorio en al menos un lenguaje de programación más en otro paradigma de programación

Se recomienda aprender un lenguaje de programación de cada paradigma, y la mayoría de los programadores avanzados lo hacen, sin embargo, generalmente comienzas con uno, trabajas por un tiempo aplicando tus conocimientos y practicándolo, y luego aprendes el otro más tarde, después de que ya hayas tenido una experiencia real. -experiencia vital en programación. Pruebe una de las siguientes áreas de idioma:

  • Paradigma de programación lógica.
  • Paradigma de programación funcional.
  • Paradigma orientado a objetos.
Conviértete en programador Paso 29
Conviértete en programador Paso 29

Paso 11. Intente comparar los dos lenguajes de programación que aprendió hasta ahora

Evalúe las fortalezas y debilidades de cada uno. Por lo general, esto se hace mediante:

  • Tomar muestras simples de sus primeros trabajos en el primer lenguaje de programación y reescribirlo usando el segundo lenguaje de programación.
  • Creando un nuevo proyecto e intente implementarlo usando ambos lenguajes. A veces, dependiendo de su elección de proyecto e idiomas, es posible que no pueda implementar el proyecto en uno de los idiomas.
  • Escribir comparaciones en una hoja de trucos o en una tabla de resumen entre construcciones similares en los dos idiomas y características únicas de cada uno de los idiomas.
  • Intente encontrar formas de imitar características que sean exclusivas de uno de los dos idiomas utilizando el otro idioma.
Conviértete en programador Paso 30
Conviértete en programador Paso 30

Paso 12. Aprenda conceptos de programación visual usando uno de los lenguajes que aprendió

Casi todos los lenguajes de programación tienen versiones / bibliotecas que admiten programación visual y otras que admiten programación de consola o similar a una consola. Esto se puede lograr mediante:

  • Obtenga una introducción a la programación impulsada por eventos. La mayoría de la programación visual se basa en algún nivel en eventos y manejo de eventos (utilizando el lenguaje de programación que elija).
  • Pruebe todo el software de escritorio que pueda y comprenda lo que hace. La mayoría de las empresas de desarrollo de software ofrecen versiones de prueba beta de sus productos que puede utilizar para probar el software. Manténgase actualizado sobre los avances de la interfaz de usuario.
  • Lea algunos artículos o tutoriales sobre interfaces gráficas de usuario.
Conviértete en programador Paso 31
Conviértete en programador Paso 31

Paso 13. Empiece a aplicar sus conocimientos en pequeños proyectos de software que diseñe

Intente aplicar su experiencia en programación a los problemas que enfrenta en su vida diaria. Por ejemplo, escriba programas que renombren archivos en masa, compare archivos de texto visualmente, copie los nombres de archivos en un directorio a la memoria / archivo de texto, y cosas por el estilo. Mantenlo simple al principio.

Conviértete en programador Paso 32
Conviértete en programador Paso 32

Paso 14. Crea un proyecto de graduación virtual

Complete esto hasta el final, aplicando las técnicas de programación visual que aprendió hasta ahora.

Conviértete en programador Paso 33
Conviértete en programador Paso 33

Paso 15. Amplíe su comprensión del marco / biblioteca / paquete visual que aprendió antes tomando cursos avanzados, prestando especial atención a los detalles y aprendiendo más consejos y trucos para su marco a partir de recursos en línea

Conviértete en programador Paso 34
Conviértete en programador Paso 34

Paso 16. Busque otros paquetes / bibliotecas de elementos visuales para sus lenguajes de programación y apréndalos

Conviértete en programador Paso 35
Conviértete en programador Paso 35

Paso 17. Realice un curso de gráficos (no de diseño gráfico)

Será muy útil para los programadores que deseen escribir elementos de interfaz de usuario atractivos.

Conviértete en programador Paso 36
Conviértete en programador Paso 36

Paso 18. Considere convertirse en programador de juegos (opcional)

La programación de juegos se considera, en la mayoría de sus partes, programación de escritorio. Si tiene la intención de convertirse en programador de juegos, deberá aprender más sobre la programación de juegos después de completar estos pasos. Un curso de gráficos es imprescindible para los programadores de juegos y el segundo idioma de elección en los pasos anteriores debe ser un lenguaje de programación lógico / funcional (preferiblemente Prolog o Lisp).

Método 3 de 6: Programación de aplicaciones distribuidas

Conviértete en programador Paso 37
Conviértete en programador Paso 37

Paso 1. Abordar la programación de aplicaciones distribuidas

Muchos consideran que la programación de aplicaciones distribuidas es una de las más difíciles de aprender y requiere conocimientos diversos en tecnologías de la información y la comunicación.

Conviértete en programador Paso 38
Conviértete en programador Paso 38

Paso 2. Realice una rápida introducción a los sistemas de telefonía y su hardware

Este paso es opcional. Sin embargo, es muy útil para comprender las topologías de red.

Conviértete en programador Paso 39
Conviértete en programador Paso 39

Paso 3. Familiarícese con las arquitecturas de hardware de red y los dispositivos como concentradores, conmutadores y enrutadores

Conviértete en programador Paso 40
Conviértete en programador Paso 40

Paso 4. Realice un curso sobre protocolos y conceptos básicos de redes

Necesita un buen conocimiento del modelo de interconexión de sistemas abiertos (OSI), Ethernet, IP, TCP, UDP y HTTP antes de comenzar a programar aplicaciones distribuidas.

Conviértete en programador Paso 41
Conviértete en programador Paso 41

Paso 5. Aprenda el lenguaje XML y familiarícese con él

Conviértete en programador Paso 42
Conviértete en programador Paso 42

Paso 6. Empiece por aprender un lenguaje de secuencias de comandos de shell

Para la programación basada en Windows, sería cualquier script que funcione con Windows Scripting Host. Para la programación basada en Linux, los scripts Bash y Perl serán suficientes. Se recomienda encarecidamente JavaScript para esto en ambas plataformas por las siguientes razones:

  • Es compatible con casi cualquier host de scripting en cualquier sistema operativo (Windows Scripting Host es compatible con JavaScript de forma predeterminada, la mayoría de las distribuciones de Linux tienen un paquete para compatibilidad con la consola de scripting de JavaScript).
  • Muchos desarrolladores consideran que es más fácil de aprender.
  • Tiene una sintaxis derivada de ALGOL que lo familiariza con muchos más lenguajes de programación cuando necesita elegir un segundo lenguaje de programación (C, C ++, C #, Java y J # todos tienen sintaxis derivada de ALGOL).
  • Al aprender JavaScript, se familiarizará con la creación de scripts de páginas web en el lado del cliente, lo cual es un efecto secundario adicional.
Conviértete en programador Paso 43
Conviértete en programador Paso 43

Paso 7. Aplique solo la programación de procedimientos utilizando el lenguaje de programación de su elección al principio

Posteriormente, puede utilizar técnicas y paradigmas de programación más avanzados de acuerdo con su lenguaje de scripting y lo que admita. Todos los lenguajes de scripting tienen algunos aspectos de programación procedimental en algún nivel.

Conviértete en programador Paso 44
Conviértete en programador Paso 44

Paso 8. Utilice el lenguaje de secuencias de comandos que aprendió para escribir secuencias de comandos que realicen comunicaciones entre máquinas

Aprenda lo que es necesario para hacer eso. Las comunicaciones simples serán suficientes.

Conviértete en programador Paso 45
Conviértete en programador Paso 45

Paso 9. Realice una transferencia a un lenguaje de programación / scripting de escritorio

Preferiblemente, uno que sea un lenguaje de paradigmas múltiples como Python. Haz una simple introducción a ese segundo idioma. La mayoría de los programadores consideran que Java es el lenguaje de elección por muchas razones. Sin embargo, C # está ganando impulso rápidamente en este campo. Se prefieren Java y C # por las siguientes razones:

  • Son lenguajes de programación orientados a objetos que protegen a los programadores de grandes equipos de los detalles de implementación, ya que ambos admiten componentes (unidades de código, precompiladas, que realizan una determinada tarea y se pueden utilizar en otros programas).
  • Admiten la programación impulsada por eventos, así como la programación orientada a objetos y la programación procedimental en algún nivel.
  • El marco sobre el que se basa el lenguaje se distribuye por naturaleza (en el caso de Java).
  • La disponibilidad de muchos paquetes listos para usar que se ocupan de la creación de redes, tanto como paquetes de código fuente abierto como integrados en el marco; esto hace que sea más fácil para los programadores construir sobre el trabajo de otros.
Conviértete en programador Paso 46
Conviértete en programador Paso 46

Paso 10. Concéntrese más en las características centrales del lenguaje, especialmente aquellas que apoyan la creación de redes

Preste menos atención a los elementos de la interfaz de usuario, como la salida, el diseño y las técnicas de las ventanas y los elementos de la interfaz de usuario.

Conviértete en programador Paso 47
Conviértete en programador Paso 47

Paso 11. Realice un curso sobre arquitecturas y diseño de aplicaciones distribuidas

Esto se puede hacer mediante libros, tutoriales en línea o cursos académicos. Sin embargo, es necesario comprender la arquitectura de las aplicaciones distribuidas y sus conceptos.

Conviértete en programador Paso 48
Conviértete en programador Paso 48

Paso 12. Aprenda a crear componentes y servicios con servicio utilizando el lenguaje de programación que prefiera

Conviértete en programador Paso 49
Conviértete en programador Paso 49

Paso 13. Aprenda una o más de las siguientes tecnologías

Se recomienda que obtenga al menos una introducción a todos ellos. La mayoría de los programadores de aplicaciones distribuidas no se detienen en uno o dos lenguajes de programación, sino que aprenden al menos un lenguaje de programación en cada sistema operativo. Esto se debe a que si desea que su aplicación sea "distribuida", debe proporcionar una versión de la misma al menos para cada sistema operativo principal.

  • Arquitectura de agente de solicitud de objeto común (CORBA)
  • Protocolo simple de acceso a objetos (SOAP)
  • JavaScript y XML asíncronos (AJAX)
  • Modelo de objetos componentes distribuidos (DCOM)
  • . NET Remoting
  • Servicios web XML

Método 4 de 6: Biblioteca / Plataforma / Marco / Programación central

Conviértete en programador Paso 50
Conviértete en programador Paso 50

Paso 1. Sepa qué es la programación básica

Los programadores centrales son simplemente programadores avanzados que hicieron la transferencia de aplicaciones de programación a unidades de código de programación para ser utilizadas por otros programadores.

Conviértete en programador Paso 51
Conviértete en programador Paso 51

Paso 2. Aprenda un lenguaje de programación que admita la construcción de componentes / paquetes reutilizables, si aún no lo ha hecho

Conviértete en programador Paso 52
Conviértete en programador Paso 52

Paso 3. Realice un curso avanzado en UML y ORM

La mayoría de los desarrolladores de bibliotecas utilizan uno o ambos.

Conviértete en programador Paso 53
Conviértete en programador Paso 53

Paso 4. Realice un curso de ingeniería de software

Conviértete en programador Paso 54
Conviértete en programador Paso 54

Paso 5. Aprenda técnicas y conceptos de programación al menos modulares, basados en componentes, orientados a objetos y controlados por eventos

Cuantos más paradigmas y lenguajes de programación cubra, más éxito tendrá como programador de bibliotecas / paquetes.

Conviértete en programador Paso 55
Conviértete en programador Paso 55

Paso 6. Obtenga más información sobre los diferentes sistemas operativos y marcos de programación compatibles con estos sistemas operativos

Conviértete en programador Paso 56
Conviértete en programador Paso 56

Paso 7. Enfoque sus esfuerzos de aprendizaje en marcos, lenguajes de programación y tecnologías independientes de la plataforma

Conviértete en programador Paso 57
Conviértete en programador Paso 57

Paso 8. Si los lenguajes de programación que aprendió hasta ahora tienen ANSI/YO ASI/IEEE/Versiones estándar W3C, dominan los estándares.

Intente utilizar código estándar siempre que sea posible.

Conviértete en programador Paso 58
Conviértete en programador Paso 58

Paso 9. Intente imitar bibliotecas simples ya establecidas, especialmente las de código abierto

Esto es útil durante la fase inicial de convertirse en programador de bibliotecas / paquetes. Comience con paquetes simples como conversión de unidades y paquetes de cálculos científicos intermedios. Si eres un estudiante universitario, haz uso de tus cursos que no sean de programación tratando de implementar sus ecuaciones y su núcleo científico como bibliotecas.

Conviértete en programador Paso 59
Conviértete en programador Paso 59

Paso 10. Busque y pruebe paquetes de código abierto en su campo de programación

Primero descargue los binarios / ejecutables del paquete. Intenta usarlo y encuentra sus puntos fuertes y débiles. Una vez hecho esto, descargue la fuente e intente averiguar cómo se hizo. Intente recrear esas bibliotecas o partes de ellas. Al principio, hágalo después de haber visto el código y luego antes de ver el código. En fases posteriores, intente mejorar esas bibliotecas.

Conviértete en programador Paso 60
Conviértete en programador Paso 60

Paso 11. Conozca los diferentes enfoques utilizados para distribuir e implementar componentes a los programadores

  • Por lo general, los programadores de bibliotecas / paquetes tienden a pensar de manera recursiva y / o iterativa en todos los problemas que se les presentan. Trate de pensar en cada problema como una colección de problemas más pequeños (una secuencia de tareas más simples) o como un proceso repetido de reducir el alcance del problema a alcances más pequeños y luego apilar esos alcances unos sobre otros.
  • Los programadores de bibliotecas / paquetes tienden a generalizar. Es decir, cuando se les presenta un problema específico simple, generalmente piensan en un problema más general e intentan resolver ese problema general que automáticamente resolverá el más pequeño.

Método 5 de 6: Programación del sistema

Conviértete en programador Paso 61
Conviértete en programador Paso 61

Paso 1. Comprenda lo que implica la programación del sistema

Los programadores de sistemas se ocupan de la ciencia de la programación, no de sus implementaciones específicas. No te ates a una plataforma específica.

Conviértete en programador Paso 62
Conviértete en programador Paso 62

Paso 2. Siga los primeros tres pasos para programadores de aplicaciones de escritorio

Conviértete en programador Paso 63
Conviértete en programador Paso 63

Paso 3. Realice un curso introductorio de álgebra lineal

Conviértete en programador Paso 64
Conviértete en programador Paso 64

Paso 4. Realice un curso de cálculo

Conviértete en programador Paso 65
Conviértete en programador Paso 65

Paso 5. Tome un curso de Lógica y / o Matemática Discreta

Conviértete en programador Paso 66
Conviértete en programador Paso 66

Paso 6. Preséntese a diferentes sistemas operativos básicos

Esto se puede hacer mediante:

  • Tener una idea de cómo se instalan los sistemas operativos.
  • Aprender a instalar diferentes sistemas operativos en una PC (opcional, pero recomendado).
  • Instalación de más de un sistema operativo. No instale ningún paquete de ayuda en los sistemas; en su lugar, utilice las funciones básicas proporcionadas por los sistemas operativos.
Conviértete en programador Paso 67
Conviértete en programador Paso 67

Paso 7. Tome un curso (o, alternativamente, lea libros) sobre arquitectura de hardware de computadora

Conviértete en programador Paso 68
Conviértete en programador Paso 68

Paso 8. Desarrolle una comprensión de las diferentes plataformas de hardware de la computadora

Conviértete en programador Paso 69
Conviértete en programador Paso 69

Paso 9. Obtenga una familiarización introductoria con el lenguaje ensamblador de la plataforma de hardware / sistema operativo de su elección

Posteriormente aprenderá a ensamblar otras plataformas / sistemas.

Conviértete en programador Paso 70
Conviértete en programador Paso 70

Paso 10. Aprenda los lenguajes ANSI C y C ++, junto con los conceptos de programación procedimental

Conviértete en programador Paso 71
Conviértete en programador Paso 71

Paso 11. Comprenda y practique las bibliotecas estándar C / C ++ en la plataforma que elija

Preste especial atención a la biblioteca de plantillas estándar (STL) y tal vez a la biblioteca de plantillas activa (ATL).

Conviértete en programador Paso 72
Conviértete en programador Paso 72

Paso 12. Busque recursos, libros y cursos en línea para comprender el estilo C de su plataforma específica

Conviértete en programador Paso 73
Conviértete en programador Paso 73

Paso 13. Practique la creación de código avanzado con C y C ++

Conviértete en programador Paso 74
Conviértete en programador Paso 74

Paso 14. Conozca el montaje más avanzado

Conviértete en programador Paso 75
Conviértete en programador Paso 75

Paso 15. Realice un curso de diseño de sistemas operativos

Conviértete en programador Paso 76
Conviértete en programador Paso 76

Paso 16. Busque y lea la documentación de su plataforma específica de elección

Esto será más fácil si elige un sistema operativo basado en Unix. Comprenda muy bien el sistema con el que trabajará más adelante.

Conviértete en programador Paso 77
Conviértete en programador Paso 77

Paso 17. Practique sus conocimientos adquiridos

Primero cree pequeñas utilidades del sistema. Suele ser útil para:

  • Intentando recrear pequeñas herramientas que ya están en su sistema.
  • Intentando portar las utilidades disponibles en otros sistemas operativos al suyo.
Conviértete en programador Paso 78
Conviértete en programador Paso 78

Paso 18. Aprenda idiomas en el orden más útil

Este es el único lugar donde importa el primer lenguaje de programación. Aprenda ANSI C primero, no C ++, no C #, no Java y no D. Luego aprenda C ++.

  • Restringir el primer lenguaje solo a C y C se debe a que la programación de sistemas requiere que el programador esté familiarizado con los siguientes conceptos:

    • Recopilación real y completa de código fuente.
    • Archivos de salida de objetos de bajo nivel.
    • Vinculación de binarios.
    • Programación en ensamblador / lenguaje máquina de bajo nivel. Algunos dicen que el lenguaje C es un ensamblaje disfrazado / más fácil de aprender. También admite la inserción de código en lenguaje ensamblador en el código siempre que lo desee y es solo de procedimiento (como ensamblaje).

Método 6 de 6: Ciencias de la programación

Conviértete en programador Paso 79
Conviértete en programador Paso 79

Paso 1. Sepa lo que hace un científico de programación

Los científicos de programación son programadores muy avanzados que, en lugar de trabajar en el desarrollo de aplicaciones, trabajan en el desarrollo de tecnologías informáticas como el cifrado, los lenguajes de programación y los algoritmos de minería de datos. Este nivel rara vez se logra sin estudio académico y dedicación.

Conviértete en programador Paso 80
Conviértete en programador Paso 80

Paso 2. Acumular el conocimiento científico equivalente a un título de cuatro años en ciencias de la computación

Esto se puede hacer mediante:

  • Obtención de un título académico real (que es lo que suele ocurrir).
  • Obtener los esquemas de los cursos para tal grado de una de las universidades modernas y tomar los cursos ya sea por autoaprendizaje o como cursos separados. Esto podría lograrse teóricamente, pero la ruta recomendada es la primera.
Conviértete en programador Paso 81
Conviértete en programador Paso 81

Paso 3. Decidir un campo de especialidad

Cuanto más específico, mejor. Depende de tus preferencias. Sin embargo, aquí hay una lista de algunos de los principales temas de la ciencia de la programación informática:

  • Diseño de algoritmos (búsqueda, clasificación, cifrado, descifrado y detección de errores en las comunicaciones son algunos ejemplos)
  • Lenguajes de programación / diseño de compiladores / optimización
  • Campos de inteligencia artificial (reconocimiento de patrones, reconocimiento de voz, procesamiento del lenguaje natural, redes neuronales)
  • Robótica
  • Programación científica
  • Supercomputación
  • Diseño / modelado asistido por computadora (CAD / CAM)
  • Realidad virtual
  • Gráficos por computadora (Los gráficos por computadora generalmente se confunden erróneamente con el diseño gráfico o el diseño de interfaz gráfica de usuario. Los gráficos por computadora son el campo de estudio de cómo representar y manipular gráficos en sistemas informáticos).
Conviértete en programador Paso 82
Conviértete en programador Paso 82

Paso 4. Considere la posibilidad de obtener un título académico superior

Es posible que desee obtener una maestría o un doctorado.

Recomendado: