¿Qué debería realmente aprender en CS? ¿Cuál es el futuro? ¿Qué debería estar haciendo ahora en mi tiempo libre?

Bueno, escribí un curso profesional completo para recopilar todos mis consejos sobre este tema, que no encajarán aquí. No hay una respuesta correcta, sino una forma de hacer cosas que se alineen con la forma en que la industria del software actualmente recompensa a las personas. Y premia el prestigio y la especialización. *

El prestigio se trata de ir a las escuelas y trabajar en empresas que son muy selectivas. La razón es que la mayoría de los reclutadores no pueden mirar su currículum y github y entender si hicieron algo impresionante. Pero saben quién es selectivo porque su trabajo depende de ello. Si pasó, digamos, una entrevista de Google, pueden enviarlo a su empresa / cliente sin meterse en problemas. No porque sepan que los Googlers hacen cosas difíciles, sino porque pasan entrevistas difíciles. Es la versión de reclutamiento de “nadie fue despedido por comprar IBM”.

La especialización no se trata de encasillarse a uno mismo, sino de establecer autoridad. La autoridad en una tecnología le permitirá saltar industrias. Si está escribiendo un código de infraestructura de alto rendimiento para Wall Street, no tendrá ningún problema en ser contratado para hacer lo mismo para una empresa de tecnología de los Ángeles. También puede especializarse en un dominio, como el comercio, y usarlo para pivotar las pilas de tecnología. Y puede especializarse en ambos y saltar entre los empleadores más prestigiosos de su industria, obtener aumentos, mejorar su red y garantizar la seguridad laboral de por vida. Con la compensación de Wall St., la “vida útil” solo debe ser de 20 años si ahorra.

Seguir ese patrón le permite elegir lo que realmente encuentra más interesante y cambiar de trabajo si eso también cambia.

* No estoy defendiendo esto. Lo digo como es, no como debería ser.

Un árbol de decisión es un buen modelo con una decisión clave que es la vía técnica frente a la vía de gestión.

La compensación derivada es probablemente comparable para cualquier pista a pesar de las fuertes afirmaciones de lo contrario. Lo que más importa es qué pista se adapta naturalmente a una carrera profesional personal, ya que el progreso y el éxito en cualquiera de ellas dependen de atributos personales subjetivos.

El seguimiento de la gestión se beneficia de un MBA, así como la capacidad de gestionar el talento técnico altamente competente para exprimir la mayor eficiencia del grupo (s). Se requiere escalar la cadena de gestión para aumentar sustancialmente la compensación, que está llena de problemas de personalidad y otros intangibles.

La pista técnica está más bien definida pero probablemente se estanca en el nivel del arquitecto de software. La progresión de la carrera es colaborador individual, ingeniero de software senior, líder de software técnico, arquitecto de software. Algunas compañías tienen el título adicional de ingeniero distinguido. No importa cómo lo divida, hay un número finito de niveles de carrera de un ingeniero de software en comparación con los niveles de carrera gerencial.

Sin embargo, la vía técnica ofrece más posiciones relativas que la vía de gestión y un nivel flexible de compensación, especialmente en términos de compensación de capital.

En términos de seleccionar un conjunto de habilidades de software, existen ventajas subjetivas para muchos conjuntos de habilidades. El punto más importante es demostrar excelencia respaldada por referencias profesionales y entregas de software sustanciales visibles. Al final, no se requiere un título de maestría ya que eventualmente la experiencia laboral triunfa sobre la experiencia académica.

El mejor método más eficiente en mi opinión para desarrollar su conjunto de habilidades es tener su pastel y comérselo también. Esto es posible si realiza movimientos tecnológicos laterales limitados dentro de una empresa. También puede hacer flotar su currículum en el mercado laboral expresando su deseo de migrar su conjunto de habilidades con un descuento menor. Contraté durante 15 años e hice esto al menos 10 veces en distintos grados sin ningún recorte salarial simplemente porque, a diferencia de un empleado, un contratista es un compromiso de bajo riesgo. Creo que la estrategia óptima es algo así como un continuo de habilidades estrechamente relacionadas.

Recientemente migré mi conjunto de habilidades en 2011 de servicios web de back-end a Apache Hadoop / Big data / NoSQL. Personalmente, tengo un sesgo hacia Apache Hadoop / Big data / NoSQL ya que tiene una barrera económica de entrada más alta y al mismo tiempo conserva un alto valor económico para la empresa. La compensación salarial de ingeniería de software está controlada por la oferta y la demanda, por lo tanto, seleccione algo que esté cerca de su conjunto de habilidades actual, tenga una gran demanda y tenga una alta probabilidad de un desequilibrio de la demanda de la oferta a largo plazo. El software de seguridad, por ejemplo, puede no ajustarse a este modelo, ya que sospecho que es una fuerza bruta relativamente poco calificada (sin intención de ofender). Uno tiene que investigar ampliamente cada conjunto de habilidades de software antes de seleccionarlo. Mire las publicaciones de trabajo en LinkedIn, por ejemplo, y cuánto tiempo permanecen sin cubrir. Mida dos veces, corte una vez.

Hay varias cosas que todo CS Major debe saber, como

La filosofía de Unix

Los informáticos deberían sentirse cómodos y practicar la filosofía de computación de Unix.

La filosofía de Unix (a diferencia de la propia Unix) es una que enfatiza la abstracción y composición lingüísticas para efectuar el cálculo.

  • En la práctica, esto significa sentirse cómodo con la noción de informática de línea de comandos, configuración de archivos de texto y desarrollo de software sin IDE.

Un núcleo de ingeniería

La informática no es del todo ingeniería.

Pero, está lo suficientemente cerca.

Los informáticos se encontrarán trabajando con ingenieros.

Los informáticos y los ingenieros tradicionales necesitan hablar el mismo idioma, un lenguaje basado en análisis real, álgebra lineal, probabilidad y física.

Los informáticos deberían tomar la física a través del electromagnetismo. Pero, para hacer eso, necesitarán retomar el cálculo multivariado (y ecuaciones diferenciales, por si acaso).

Al construir simulaciones de sonido, un comando de probabilidad y (a menudo) álgebra lineal es invaluable. Al interpretar los resultados, no hay sustituto para una comprensión sólida de las estadísticas.

Comunicacion tecnica

Los lobos solitarios en informática son una especie en peligro de extinción.

Los informáticos modernos deben practicar persuasiva y claramente comunicando sus ideas a los no programadores.

En las empresas más pequeñas, si un programador puede o no comunicar sus ideas a la gerencia puede marcar la diferencia entre el éxito y el fracaso de la empresa.

Desafortunadamente, esto no es algo arreglado con la adición de una sola clase (aunque un curso sólido en comunicación técnica no hace daño).

Se necesitan más clases para brindar a los estudiantes la oportunidad de presentar su trabajo y defender sus ideas con presentaciones orales.

El futuro

La informática es clave para resolver los problemas más cruciales del mundo: sostenibilidad ambiental, pobreza, hambre y seguridad nacional. Puede dar el poder de dar forma al futuro y posiblemente cambiar el mundo, resolviendo problemas que enfrenta el mundo hoy o inventan una gran innovación para hacer del mundo un lugar mejor. La informática implica la resolución de problemas, el pensamiento computacional y el razonamiento abstracto.

El Departamento de Trabajo de los Estados Unidos predice que los trabajos basados ​​en la informática estarán entre los de más rápido crecimiento y mejor remunerados en la próxima década. Muchas carreras que involucran computadoras ofrecen horarios flexibles o teletrabajo, lo que facilita combinar una carrera con una vida personal. Los profesionales de la informática tienen conocimientos y habilidades que se pueden utilizar en muchos trabajos, lo que garantiza una vida útil de flexibilidad.

More Interesting

¿Cuál es la mejor manera de abordar una brecha de carrera de 10 años en mi currículum?

¿Puedo seguir siendo un buen oficial de policía si no soy bueno con las calles?

Cómo conseguir un trabajo en Kuala Lumpur sin experiencia o calificación

¿Cómo puede un estudiante de segundo año de DTU obtener una pasantía de invierno / verano?

¿Es una mejor decisión profesional permanecer en el back-end / full-stack o reestructurar y convertirse en un desarrollador 100% front-end?

Cómo tener una carrera exitosa

¿Vale la pena hacer MS (Comp. Sci.) Del IIT (Indian Institute of Technology) o IISc (Indian Institute of Science) después de 7 años de trabajo exp en software de sistema?

¿Puede uno tener mucho éxito más adelante en la vida a pesar de ser normal / mediocre durante los primeros 20 años de su vida?

Quiero una oportunidad para dar entrevistas en empresas como Amazon o Google. ¿Cómo puedo obtener uno?

Hice mi MBA y actualmente estoy trabajando. ¿Cómo puedo forjar una carrera en relaciones internacionales?

Abogados: ¿qué es lo que más te gusta y menos de tu trabajo?

¿Por qué Microsoft se agrupa comúnmente con compañías como Google, Apple, Amazon y Facebook cuando considera un trabajo emocionante para los informáticos?

¿Qué es mejor para una carrera en producción de TV / cine: UCLA o USC?

¿Qué es mejor, un CSE BTech + MTech (5 años) o un CSE BTech (4 años) en el VIT?

¿Debería ser un experto en la materia antes de unirme a una startup?