¿Qué necesitan aprender los ingenieros de software?
Se puede decir que el ingeniero de software (ingeniero de software) es una certificación de competencia profesional para quienes se dedican a la profesión del software. las calificaciones de un ingeniero. Lo siguiente es lo que he recopilado sobre lo que los ingenieros de software necesitan aprender. ¡Espero que pueda ayudar a todos!
Los ingenieros de software son el nombre colectivo de las personas involucradas en trabajos relacionados con el desarrollo de software. , incluidos los diseñadores de software, una serie de puestos como arquitectos de software, gerentes de ingeniería de software y programadores están relacionados con el desarrollo y la producción de software.
Los requisitos técnicos para los ingenieros de software son relativamente completos. Además de los lenguajes de programación más básicos (lenguaje C/C++/JAVA, etc.), tecnologías de bases de datos (SQL/ORACLE/DB2, etc. ), también hay muchos como JAVASCRIPT, AJAX, HIBERNATE, SPRING y otras tecnologías de vanguardia.
1. Javascript
El primer lugar es Javascript. El 42,4% de las ofertas de empleo requieren esta habilidad. Entonces, ¿por qué es tan potente Javascript?
Lo más importante. Es la popularidad del desarrollo de software de red. Javascript es la base de muchos marcos de desarrollo existentes. Además de usarse en el desarrollo front-end (Angular, Ember, Backbone, etc.), también se usa en arquitecturas back-end. Node.js y datos Lectura de datos de bases de datos como MongoDB.
El ecosistema establecido por Javascript es muy grande y la mayoría de los trabajos requieren esta habilidad. Javascript en sí no es demasiado difícil de aprender. Si desea conocer algunas aplicaciones básicas, puede hacer referencia aquí (también se recomienda). (Leíste la introducción relevante de "Algunas sugerencias y consejos de programadores veteranos a principiantes" en el blog de Ma Haixiang).
2. Java
El segundo lugar de la lista es Java, con un 34,2%. Respecto a Java, algunos piensan que es un lenguaje relativamente obsoleto y que está a punto de hacerlo. ser eliminado.
Pero según las clasificaciones del índice TIOBE (basado en la popularidad y la popularidad de los lenguajes de programación), Java todavía ocupa el segundo lugar. Java no solo no ha sido eliminado, sino que todavía lo está haciendo muy bien y sigue estando. entre muchos grandes desarrolladores. Un lenguaje de back-end para empresas.
Una de las principales razones por las que las empresas han valorado Java no es solo porque es fácil de usar, sino también porque aprender bien Java hace que sea relativamente fácil aprender otros lenguajes de programación, porque Java es un objeto. -Lenguaje orientado. No es necesario lidiar con punteros y tiene un buen entorno de desarrollo (IDE), lo que lo hace relativamente simple de usar para los principiantes. Se puede decir que, como ingeniero de software, debe comprender los conceptos básicos.
Según la experiencia de Ma Haixiang, Java es un poco más difícil de aprender que Javascript. No hay escasez de recursos en Internet a este respecto. Por ejemplo, el MIT proporciona sus materiales de curso para que todos puedan aprender de forma gratuita. .
3. HTML
El tercer lugar en la lista es HTML. Ma Haixiang cree que HTML no es estrictamente un lenguaje de programación, es un lenguaje de marcado, lo cual es simple. En otras palabras, las marcas se pueden utilizar para lograr efectos diferentes a los del texto simple.
Por ejemplo, puede agregar hipervínculos agregando etiquetas antes y después de un fragmento de texto. HTML es la base del desarrollo web, especialmente en el desarrollo front-end, es necesario comprender la función de cada etiqueta. en HTML.
Sin embargo, Ma Haixiang todavía quiere enfatizar que no es un lenguaje de programación en sí mismo. Si solo sabes HTML, no será útil encontrar un trabajo. Es solo lo básico. También recomiendo que todos pasen un tiempo aquí. Eche un vistazo a la introducción a "Introducción a los 12 lenguajes de programación web más utilizados" en el blog de Ma Haixiang.
4. SQL y NoSQL
Además, lo famoso de la lista es que SQL es una habilidad requerida en el 31,2% de las ofertas de empleo.
Según la encuesta de Asurvey, el 79% de los encuestados todavía usa bases de datos relacionales, razón por la cual SQL es popular, pero esto no significa que NoSQL no sea importante, aunque MongoDB solo ocupa el 4,3% de la lista. pero se utiliza principalmente en productos que requieren un acceso rápido a los datos, como Craigslist y Expedia.
Si NoSQL o SQL es mejor o peor siempre ha sido un tema ampliamente debatido en la comunidad de bases de datos. La mayoría de la gente cree que NoSQL es la tendencia futura, pero por ahora, SQL todavía tiene la ventaja.
5. Frameworks de Javascript
Hay tres frameworks de desarrollo basados en Javascript: Angular.js, Ember.js y Backbone.js. Este tipo de framework te permite es muy simple. y rápido para manejar el desarrollo front-end. Sin embargo, debido a la naturaleza similar de estos tres marcos de desarrollo, existen muchos debates sobre cuál es el mejor.
Angular.js, actualmente desarrollado por Google, ocupa el primer lugar en la lista. Por supuesto, estos tres marcos de desarrollo tienen sus propios beneficios. Por ejemplo, Angular.js es más adecuado para el desarrollo a gran escala. Backbone.js Relativamente simple y fácil de aprender, Backbone.js facilita el desarrollo colaborativo.
6. Node.js
Aquí Ma Haixiang también mencionó específicamente Node.js. La razón es que el número de usuarios está aumentando gradualmente, y el de grandes empresas como Linkedin y. Uso de Wal-Mart.
Node.js es una plataforma basada en el tiempo de ejecución de JavaScript de Chrome, que se utiliza para crear fácilmente aplicaciones de red rápidas y fácilmente escalables con la ayuda de Node.js controlado por eventos, el modelo de E/S sin bloqueo. se vuelve liviano, es escalable y eficiente, y es muy adecuado para aplicaciones en tiempo real con uso intensivo de datos que se ejecutan en dispositivos distribuidos.
Node.js aún puede procesar tareas en paralelo sin agregar subprocesos adicionales: Node.js tiene un solo subproceso y logra el paralelismo a través de operaciones de bucle de eventos; para esto, debemos aprovechar esto al máximo y evitar el bloqueo. operaciones tanto como sea posible y, en su lugar, utilice operaciones sin bloqueo.