Los estudiantes universitarios pueden tener esta duda durante sus estudios: ¿qué será bueno hacer para conseguir empleo en el futuro?
Si estudias computación y quieres entrar en la industria del software e Internet, enhorabuena, es un buen sector, con salarios altos, y no necesitas depender de contactos; todo se decide por la capacidad, no necesitas tener un padre influyente.
La desventaja es que esta industria requiere un trabajo mental y físico extremadamente pesado, y las horas extras son algo habitual.
La siguiente pregunta es: ¿cuáles son aproximadamente las direcciones en el software e Internet actualmente? Mira la explicación a continuación:
1. Primero, ¿de dónde vienen los requisitos?
1.1 Proyectos de clientes
Si se trata de un proyecto de cliente, los requisitos, por supuesto, provienen del cliente. Ciertamente, el cliente suele ser un novato en desarrollo de software (en realidad no se puede ser tan absoluto, también he visto muy pocos clientes con excelente talento en software). Les resulta difícil describir con claridad sus verdaderos requisitos de negocio. En ese momento se necesita que alguien entre en escena: el analista de negocio. En las grandes empresas, el analista de negocio es un puesto dedicado; en las pequeñas empresas, el gerente de proyecto o el desarrollador principal tiene que armarse de valor y asumirlo. El analista de negocio debe aclarar los requisitos y entregarlos al personal de arquitectura para el diseño.
Si el analista de negocio trabaja mucho tiempo en una industria, se convertirá en un experto en el negocio. Por ejemplo, si has participado en todos los proyectos de sistemas centrales de los principales bancos nacionales, tu familiaridad con el negocio bancario podría incluso superar a la del personal específico del banco. En ese momento vales muchísimo; no solo puedes analizar el negocio, sino también ayudar al banco a optimizarlo. ¿No es impresionante?
Pregunta: ¿El analista de negocio necesita saber de tecnología?
Respuesta: Es mejor saber un poco. Lo que analices será implementado por los programadores. Si no consideras la tecnología existente y solo buscas complacer al usuario, seguro que los programadores te van a poner de vuelta y media.
Si eres un experto en negocios que surgió de ser programador y tienes una tecnología excelente, entonces siéntate y cuenta dinero tranquilamente.
1.2 Productos de la empresa
Si lo que haces es un producto, como WeChat, QQ, Taobao, World of Warcraft, Zhengtu, Dahua Xiyou, los requisitos en realidad son definidos por personas de tu propia empresa.
Para definir estos requisitos existe ahora una profesión de moda: el gerente de producto. Por ejemplo, Zhang Xiaolong es el súper gerente de producto de WeChat, y Shi Yuzhu es un gerente de producto de primer nivel de Zhengtu.
El gerente de producto diseña el producto principalmente según la psicología y la experiencia del usuario, para que todos lo usen con satisfacción. Los buenos gerentes de producto son muy demandados y son un talento escaso.
Pregunta: ¿El gerente de producto necesita saber de tecnología?
Respuesta: Sí, y es mejor que haya crecido desde programador, que conozca la dificultad de diseñar e implementar un producto; de lo contrario, si solo busca su propia satisfacción, también será criticado duramente por los programadores.
2. Diseño y desarrollo
2.1 Arquitecto
Suena como un puesto muy prestigioso, pero requiere una gran fortaleza técnica y una profunda acumulación de conocimientos tecnológicos.
El crecimiento de un arquitecto requiere experiencia y práctica, amplitud tecnológica y una profundidad adecuada.
Diseñar arquitecturas elegantes, flexibles y escalables es el trabajo principal del arquitecto.
No se pueden perseguir las tecnologías más nuevas y populares; también se debe considerar la capacidad del equipo actual y la madurez de la tecnología.
Demanda de personal: ★
Índice de dificultad: ★★★★★
2.2 Programador backend web
El programador backend se encarga principalmente de implementar la lógica de negocio y proporcionar interfaces (APIs) para que las use el frontend.
Java es, por supuesto, el más utilizado, pero también hay otras tecnologías relativamente minoritarias como Python, Ruby on Rails, etc. También está PHP, simple y directo, muy usado en sitios web pequeños y medianos. Cualquiera de ellos no es muy difícil de aprender.
La demanda de personal en esta área es bastante grande.
Demanda de personal: ★★★★★
Índice de dificultad: ★★★
2.3 Programador frontend web
Principalmente JavaScript, CSS, jQuery, etc. En los últimos años, todos valoran la experiencia del usuario en el navegador; el lado del navegador se ha vuelto cada vez más llamativo, por lo que también está muy de moda.
Demanda de personal: ★★★★★
Índice de dificultad: ★★★
2.4 Programador de aplicaciones móviles
Principalmente Android e iOS. Debido al desarrollo de Internet móvil, ahora está en auge y la demanda es muy grande. En comparación, iOS tiene una barrera de entrada más alta, hay menos programadores, pero el salario es un poco más alto.
Demanda de personal: ★★★★
Índice de dificultad: ★★★★
2.5 Programador de sistemas
Algunos requisitos son simples, otros son muy complejos; hay que soportar una gran cantidad de usuarios y una enorme concurrencia, como el Doble 11 de Taobao o los sobres rojos del Año Nuevo Chino en WeChat.
Se necesita computación en la nube, virtualización, procesamiento distribuido y soporte para la escalabilidad horizontal del sistema.
Para los datos masivos, también se necesita realizar análisis de big data para extraer información valiosa, por ejemplo con Hadoop.
Como es necesario realizar desarrollo personalizado en sistemas operativos, bases de datos y sistemas de servidor, e incluso crear una solución propia, las pequeñas empresas generalmente no tienen esa capacidad técnica; principalmente son empresas como BAT las que lo hacen.
La demanda de personal no es muy grande. Para el programador, se requiere profundizar mucho en un área determinada y tener una buena estabilidad técnica.
Demanda de personal: ★★
Índice de dificultad: ★★★★★
2.6 Seguridad
En la era de Internet, tu información puede ser robada en un descuido, por lo que la seguridad se vuelve cada vez más importante.
Por lo tanto, no basta con implementar funciones y cumplir con el rendimiento; muchas empresas, especialmente BAT, dan gran importancia a la seguridad.
Esta dirección también requiere una investigación muy profunda de la tecnología.
Demanda de personal: ★★
Índice de dificultad: ★★★★★
3. Pruebas
Este puesto no requiere un nivel técnico muy alto, pero sí necesita conocimientos relacionados con las pruebas: saber diseñar casos de prueba, preparar datos de prueba y ejecutar las pruebas.
Ahora el desarrollo ágil está de moda, y se exige que el personal de pruebas entienda de desarrollo, al menos que pueda crear algunos scripts automatizados.
Muchas chicas luego se pasaron a puestos de pruebas; supongo que principalmente porque las chicas son más meticulosas.
En IBM vi a una tester excelente: no solo realizaba brillantemente el trabajo mencionado anteriormente, sino que también participaba en discusiones de diseño y desarrollo, y a menudo planteaba desde la perspectiva de pruebas problemas que ni los desarrolladores habían pensado, lo que ayudó enormemente a mejorar la calidad del software.
4. Administrador de bases de datos
Casi todos los proyectos necesitan el soporte de una base de datos. Para proyectos grandes o muy grandes, existe un puesto llamado DBA. Este debe dominar profundamente el conocimiento de bases de datos, gestionarlas habitualmente, ayudar al equipo de desarrollo a diseñar la base de datos durante el desarrollo, identificar los cuellos de botella de rendimiento y realizar el ajuste de rendimiento.
5. Diseñador gráfico / Documentación
Diseñador gráfico: se trata de embellecer la interfaz. Generalmente, el diseñador gráfico primero hace el prototipo de la interfaz, todos discuten, modifican; una vez confirmado, el diseñador genera varios elementos de interfaz, como iconos, botones, etc.
Ahora también hay ciertos requisitos técnicos para el diseñador gráfico; no solo dibuja la interfaz, sino que también tiene que crear las plantillas HTML, así que debe entender HTML, CSS e incluso algo de JavaScript.
Cuando el programador recibe la plantilla HTML, solo tiene que añadir el código de negocio.
Redactor de documentación: en proyectos pequeños suele haber alguien que lo hace a tiempo parcial; en proyectos y productos grandes hay personas dedicadas a escribir documentación. En 2003 participé en un proyecto de la Bolsa de Valores de Shanghái, y vi un documento de Word escrito por un redactor de documentación a tiempo completo; era tan profesional y tan hermoso que estaba al nivel de ser publicado directamente.
Lo copié, y yo mismo quise hacer una imitación, pero ni siquiera copiando el modelo podía lograrlo.
6. Gestión de proyectos
El proyecto ya ha comenzado; el analista de negocio, el arquitecto, los desarrolladores, los testers, un grupo de personas como lobos hambrientos sobre su presa, están decididos a destrozar el proyecto.
Pero, ¿cómo colabora tanta gente? ¿Cómo gestionar? ¿Se puede completar el progreso según lo requerido? Entonces es necesario que intervenga el gerente de proyecto.
El gerente de proyecto, en pocas palabras, es el que dirige a todos para hacer el proyecto; principalmente trata con personas, necesita coordinar las relaciones de todos los aspectos y garantizar el buen desarrollo del proyecto.
Pregunta: ¿El gerente de proyecto necesita saber de tecnología?
Respuesta: Claro que sí, preferiblemente que provenga del desarrollo; de lo contrario, no entenderías lo que dicen esos programadores, solo te quedarías en la superficie, no podrías profundizar en el proyecto, los demás no te respetarían y seguramente no podrías liderar bien al equipo.
7. Operaciones
Si estás desarrollando tu propio producto, una vez terminado el desarrollo, te encontrarás rápidamente con un problema: ¿cómo promocionarlo?
En la era de Internet, el mundo es justo y la competencia es extremadamente feroz. Un buen software, una aplicación o un sitio web, sin una buena operación y promoción, no funcionará aunque tengas la mejor tecnología.
La operación, en realidad, consiste en ingeniárselas para que tu producto sea conocido y utilizado. Hay mucha tela que cortar en este campo; por ejemplo, ¿cómo escribir un artículo promocional? ¿Cómo hacer marketing en redes sociales, WeChat y Weibo? ¿Cómo hacer estadísticas, análisis y una segmentación precisa?
En este aspecto, Xiaomi antes de 2014 fue sin duda un ejemplo. El lema de 7 caracteres de Lei Jun: enfoque, excelencia, reputación y rapidez; y el libro de Li Wanqiang, "Participación", son clásicos.
Hay una gran escasez de buenos talentos en operaciones de Internet, y por supuesto son muy demandados.
Si no te interesa la programación, puedes considerar esta dirección.
Después de hablar tanto sobre direcciones profesionales, descubrirás que la gran mayoría requieren un cierto conocimiento técnico, así que lo que realmente quiero decir es:
Cuando empieces a trabajar, no dudes en empezar como programador, y poco a poco ve buscando la dirección que te interese.
Fuente: La liberación del programador (ID de WeChat: coderising)
Autor: 刘欣