Cómo convertirse en ingeniero y desarrollador de software
Aunque el tiempo de desarrollo de la tecnología de la información no es largo, su explosiva velocidad de desarrollo ha permitido que la tecnología de la información cubra rápidamente todos los rincones de la sociedad y la vida humana. Los programadores son uno de los testigos de esta ola de información, y también son los principales participantes. Esta es la oportunidad y la responsabilidad que la época le otorga a todo programador.
La velocidad de actualización de las tecnologías de la información es asombrosa, y la carrera de un programador es un proceso que requiere un aprendizaje continuo, y uno nunca puede dormirse en los laureles. Durante mi trabajo, he visto a muchos programadores navegar por páginas web inútiles, chatear en línea y jugar mientras tienen tiempo libre, perdiendo mucho tiempo, lo cual es muy indeseable. Otra situación es que los rápidos cambios en la tecnología de TI han deslumbrado a muchos programadores. Quieren aprenderlo todo, pero no saben por dónde empezar. Miran esto hoy y aprenden que mañana no. familiarizado con ello.
Aunque la tecnología de TI se está desarrollando rápidamente, muchas tecnologías tienen reglas a seguir. Algunos conceptos, principios y métodos básicos siguen siendo muy comunes, y se pueden sacar inferencias de un ejemplo a otros casos. Según mi propia experiencia y experiencia, recomiendo siete armas que los programadores deben dominar a aquellos nuevos programadores que acaban de ingresar a la industria de TI o aquellos que están confundidos con estas siete armas, no me atrevo a decir que soy arrogante, pero Jianghu. Todavía es posible volverse invencible.
La primera arma: herramientas de desarrollo
Dominar el uso de al menos dos o tres herramientas de desarrollo. Esta es la base de un programador, entre ellas, C/C++ y JAVA. son mi La herramienta de desarrollo más recomendada, C/C++ se ha convertido en una herramienta poderosa entre las herramientas de desarrollo debido a su alta eficiencia y alta flexibilidad. Muchos software a nivel de sistema todavía están escritos en C/C++. La multiplataforma de JAVA y la buena integración con WEB son las ventajas de JAVA. Admiro el concepto de SUN de "la red es la computadora" y creo que JAVA y su conjunto de tecnologías relacionadas, JAVA One, se convertirán en la corriente principal en el desarrollo. herramientas. En segundo lugar, sería mejor si pudiera dominar una herramienta de desarrollo visual simple, como VB, PowerBuilder, Delphi, C++ Builder. Estas herramientas de desarrollo reducen la dificultad del desarrollo y pueden fortalecer el concepto del modelo de objetos del programador. Además, debe dominar los lenguajes de secuencias de comandos básicos, como Shell, Perl, etc., y al menos poder leer estos códigos de secuencias de comandos.
La segunda arma: la base de datos
¿Por qué es tan importante la base de datos? Muchas aplicaciones se centran en datos de bases de datos y hay muchos productos de bases de datos. Entre ellos, las bases de datos relacionales siguen siendo la forma principal, por lo que los programadores deben dominar al menos una o dos bases de datos y tener muy claros los elementos clave de las bases de datos relacionales. , debe dominar la sintaxis básica de SQL. Aunque muchos productos de bases de datos proporcionan herramientas visuales de administración de bases de datos, SQL es la base y el método universal de operación de bases de datos. Si no tiene acceso a sistemas de bases de datos comerciales, es una buena opción utilizar productos de bases de datos gratuitos, como mySQL, Postgres, etc.
La tercera arma: el sistema operativo
Los principales sistemas operativos actuales son Windows y Linux/Unix. Es necesario un uso competente de estos sistemas operativos, pero estos por sí solos no son suficientes. Para convertirse en un verdadero maestro de la programación, debe tener un conocimiento profundo del sistema operativo, su mecanismo de administración de memoria, programación de procesos/hilos, señales, objetos del kernel, llamadas al sistema, implementación de la pila de protocolos, etc. Como sistema operativo para desarrollar código fuente, Linux es una buena plataforma de aprendizaje. Linux tiene casi todas las características de los sistemas operativos modernos. Aunque hay menos información sobre el mecanismo de implementación del kernel de los sistemas Windows, aún se puede obtener mucha información a través de Internet. Sólo después de tener un cierto conocimiento del sistema operativo, descubrirá que ha alcanzado un nuevo nivel.
La cuarta arma: protocolo de red TCP/IP
Hoy en día, cuando Internet es tan popular, si no conoce bien la pila de protocolos TCP/IP de soporte de Internet, necesita ponerse al día rápidamente con esta lección. La tecnología de red ha cambiado el modo de operación del software, desde la primera estructura cliente/servidor hasta los servicios WEB actuales y la futura computación grid, todo esto es inseparable de la pila de protocolos TCP/IP. -Soporte de protocolo de red basado en, por lo que es muy necesario tener un conocimiento profundo del protocolo TCP/IP.
Al menos, debe comprender el modelo de protocolo ISO de siete capas, los principios de protocolos comunes como IP/UDP/TCP/HTTP y el mecanismo de protocolo de enlace de tres vías.
La quinta arma: Servicios DCOM/CORBA/XML/WEB
Con el desarrollo de la tecnología, la perfecta integración del software y la red es una tendencia inevitable, y la independencia de la ubicación del software sistemas Es una de las características importantes de los modelos informáticos futuros. DCOM/CORBA son las dos plataformas de middleware principales actuales para la informática distribuida. DCOM es una extensión de Microsoft COM (Modelo de objetos componentes) y CORBA es una especificación compatible con OMG. Lo que los programadores deben hacer no es solo usar plataformas de desarrollo comerciales para desarrollar software, sino comprender la intención original de estas tecnologías, es decir, por qué se necesita esta tecnología. Si puede comprender esto, mire hacia atrás para ver su implementación específica. estas tecnologías. Al igual que un cocinero que intenta resolver el problema de una vaca, se puede resolver fácilmente. La importancia de XML/WebServices es evidente. XML se conoce en Internet como el "esperanto" por su método de representación estructurado y su capacidad súper expresiva, y es una de las piedras angulares de la informática distribuida.
La sexta arma: ingeniería de software y CMM
En el desarrollo de sistemas de software modernos a gran escala, el control del desarrollo de ingeniería reemplaza el heroísmo personal y se convierte en la garantía del éxito de los sistemas de software. Un programador Un maestro no es necesariamente un excelente programador. Un excelente programador combina una excelente capacidad de programación y habilidades de desarrollo con un pensamiento estricto de ingeniería de software. La programación es solo una parte del ciclo de vida del software. Un excelente programador debe dominar las habilidades básicas en cada etapa del software. desarrollo, como análisis de mercado, análisis de viabilidad, análisis de requisitos, diseño estructural, diseño detallado, pruebas de software, etc. Una frase puede resumir mi opinión: "Creatividad ilimitada, proceso garantizado".
La séptima arma: fuerte curiosidad
Cuál es el arma definitiva para un programador, esa es la fuerte curiosidad y el espíritu de aprendizaje. No hay mejor arma que la gran curiosidad y el espíritu de aprendizaje. Es la fuente y la motivación para que los programadores alcancen nuevas alturas.