Me estoy especializando en Ingeniería de Computadores, quiero ser un Arquitecto de Software o gerencia para desarrolladores de software, ¿cuál sería la mejor opción para seguir?

Si su especialidad es Ingeniería en Computación, debe tomar Ciencias de la Computación como cursos menores o al menos pocos en ingeniería de software, inteligencia empresarial, ciencia de datos o cursos relacionados con la programación, dependiendo de lo que esté disponible. Otra opción es la gestión de proyectos como parte de la gestión comercial menor.

La arquitectura de software es diferente de la gestión de desarrollo de software y ambas son diferentes de la ingeniería informática. Por lo general, los arquitectos de software son desarrolladores de software con una amplia experiencia (10-15 años) y un talento especial para desear convertirse en arquitectos de software. Hay cursos de arquitectura de software (también conocida como arquitectura de aplicaciones) y programas de certificación, pero debe tener cuidado con el tipo de arquitectura en la que desea especializarse, ya que este campo es muy fluido y difuso. También puede referirse a otras arquitecturas, es decir, arquitectura empresarial (también conocida como proceso), arquitectura e infraestructura de datos (o información) (también conocida como arquitectura de red). Si desea aprender sobre el tema de Arquitectura de software, le recomiendo comenzar con el marco de The Open Group llamado TOGAF (TOGAF®, un estándar de Open Group).

La Gestión del desarrollo de software se trata de la gestión de proyectos, por lo que debe hacer algo sobre la gestión de proyectos. Afortunadamente, hay un programa de certificación PMP (Project Management Professional) altamente recomendado y generalmente aceptado de PMI (Project Management). También hay muchos libros sobre este tema, mis favoritos son un libro de Howard Fallon Amazon.com: Opciones de compra: cómo implementar sistemas de información y vivir para contarlo y un viejo (publicado en 1975), pero aún un clásico. Mythical Man-Month: Ensayos sobre ingeniería de software, Edición de aniversario (2ª edición): Frederick P. Brooks Jr .: 8580001065793: Libros.

Cualquiera sea la elección que haga, será un viaje emocionante y gratificante, ¡y le deseo buena suerte!

Si quieres un menor porque te gusta el tema, obtén uno. Si está tratando de impresionar a un gerente de contratación, probablemente no importe demasiado. Los gerentes deberán preocuparse un poco más por el cuidado y la alimentación de los humanos y el proceso comercial (y la ingeniería de software en general, como los horarios y demás), pero no conozco demasiadas escuelas que tengan un menor relevante como CompE. San Jose State tiene un título de Ingeniería de Software, pero IIRC no es menor exactamente.

Cuando comencé a ser gerente de ingeniería, en realidad volví a una universidad comunitaria para tomar clases de administración (y un asociado de administración, honestamente, es toda la capacitación en administración que necesita; un MBA es excesivo para la mayoría de los administradores). Libros como Growing Great Employees [1] y Managing Humans [2] son ​​buenos recursos para eso, por ejemplo, también.

Los arquitectos son un caso especial y no sé si hay alguna preparación escolar específica que puedas hacer realmente (aunque si estudias los temas en el CompSci GRE, tal vez eso no sea algo malo). En casi todos los casos que he visto, un Arquitecto es básicamente alguien con un grado de CompSci o CompEng que ha visto algo y sabe cómo evitar pintar a los desarrolladores en una esquina y pensar en las trampas. Muy raramente veré a alguien con, digamos, solo un doctorado. eso puede hacer un tipo de arquitecto decente; Por lo general, todo se trata de experiencia y entrega probada.

Entonces, no, un menor probablemente no importa demasiado a menos que pueda obtener fácilmente una gestión de negocios (comprender los conceptos básicos de RRHH, contabilidad y negociación son grandes temas para un aspirante a gerente; mi clase de negociaciones desde 2010 ha sido la única la clase más visceralmente útil que he tomado …).

Notas al pie

[1] Creciendo grandes empleados: convirtiendo a la gente común en artistas extraordinarios: Erika Andersen: 9781591841906: Amazon.com: Libros

[2] Gestión de humanos: historias mordaces y humorísticas de un gerente de ingeniería de software: Michael Lopp: 9781430243144: Amazon.com: Libros

Creo que se beneficiaría más de tomar cursos de administración y negocios y quizás algunos cursos de psicología humana, lógica y comunicaciones. Esta es la razón: sus cursos de CE ya lo exponen a CS, tanto HW como SW y al campo general y al pensamiento requerido. Como usted dice correctamente, podría beneficiarse de la exposición a una perspectiva completamente diferente: negocios y administración. Independientemente de si diriges tu carrera hacia la administración, si estás puramente capacitado y con experiencia en tecnología, entonces habrá un límite en tu potencial de crecimiento … pero, si entiendes los aspectos comerciales de la tecnología, eso no solo se suma a tu valor como técnico, pero también abre las puertas para el crecimiento en trabajos de gestión técnica y luego en la gestión empresarial de trabajos técnicos.

Aunque no lo planeé específicamente de esa manera, seguí este camino. Mientras estaba en el ejército, me enviaron de regreso a la universidad para recibir capacitación técnica, debido a algunas maniobras de mi parte y al hecho de que ya tenía un título de EE y 129 horas de créditos de transferencia de anteriores escuelas de la Marina y cursos por correspondencia, yo Abandonó la universidad con tres títulos y una larga lista de materias menores (21 o más horas de crédito). Regresé a trabajar pero luego obtuve un MBA y descubrí que en el mercado en ese momento, había una gran demanda de gerentes con capacitación técnica. Tuve la suerte de montar la cresta de esa ola de demanda para una carrera muy exitosa en la gestión de I + D.

Una ola similar de demanda se está desarrollando ahora. Las demandas de sistemas integrados / integrados de computadora en un aspecto creciente de nuestras vidas (comunicaciones, medicina, transporte, energía, finanzas, etc.) significan que hay una demanda creciente de personas entrecruzadas en tecnología en profundidad (especialmente computadoras y sistemas digitales) Y negocios (P&L, productividad, costo-beneficio, marketing, CRM, optimización de procesos, etc.).

Si eres ingeniero informático, puedes arreglar el auto. Si es programador, puede conducir el automóvil. Pero si eres un ingeniero informático capacitado y entiendes el mundo de la programación, puedes ser el tipo que dirige la flota de autos. ¿Cuál quieres ser?

Probablemente Ingeniería de software para aprender algo sobre Arquitectura de software (la informática también es una posibilidad, dependiendo del plan de estudios). Y Gestión de ingeniería, si puede encontrar cursos sobre esto en su facultad de ingeniería. El arquitecto y el gerente de desarrollo son diferentes, pero con un menor + algunas selecciones de cursos enfocados, debería poder obtener algo de educación básica en ambos. No voy a decirte que tienes que elegir uno u otro porque eso sería hipócrita de mi parte. He sido gerente técnico / ejecutivo y arquitecto. Cada uno tiene su atractivo, por lo que cambio de vez en cuando (carrera profesional no tradicional, pero no me arrepiento). Buena suerte.

A menos que tenga un interés específico, como ingeniería, medicina o algo similar, diría que la gestión empresarial. Ayudaría a ampliar sus perspectivas y proporcionarle los fundamentos de la gestión de proyectos, y quizás le brinde una visión del futuro proceso de pensamiento del cliente.

Si su escuela lo permite, ciencias de la computación (lo digo porque los títulos son lo suficientemente similares como para que no le permitan). Ser arquitecto requiere una amplitud y profundidad de programación extremadamente amplia. Debe poder ver los aspectos de alto y bajo nivel de cualquier tarea determinada e intentar asegurarse de que el código se sincronice con otro código.

Me imagino que como CE obtienes una buena experiencia con tecnología de bajo nivel. Esto es bueno, pero no puede enseñarte la atracción. El hardware es tan bueno como el software que lo aprovecha, y poder ver programas desde el área de alto y bajo nivel lo ayuda a hacer esto.

Este consejo se aplica a cualquier rol de desarrollador.

He sido arquitecto y gerente de desarrollo durante 18 años. Voy a darle una respuesta concreta a esta pregunta.

Si desea prepararse para roles de arquitecto y / o gerente de desarrollo, querrá tomar cursos de “ingeniería de software”. Esto no debe confundirse con Comluyer Science. La Ingeniería de Software se trata del negocio del desarrollo de software más que de la tecnología. Muchas clases de SE se imparten en el nivel de posgrado, pero supongo que la facultad los permitiría como crédito para su título de CE.

En este punto de tu carrera, nada es tan bueno como nada. Persiga sus intereses en su lugar. Sugiero algo creativo que involucre arte o diseño. Después de decidir si desea ser gerente, puede tomar algunos cursos adicionales en ese camino. Si decides convertirte en arquitecto, tomarás algunos cursos diferentes.

Menores y asignaturas optativas están en su lugar para romper la monotonía de estudiar materias dentro del mismo campo durante el período de 3-4 años. Reiteraría esto nuevamente. La informática y la ingeniería informática comparten el mismo conjunto de conocimientos. Solo se presentan de diferentes maneras. Siempre hay opciones para hacer más clases de CS como Computer Architectures y Software Architecture y algunas cosas realmente prácticas como el desarrollo de sistemas móviles e integrados. Mezclarlo con las clases de idioma o de gestión te ayudaría a largo plazo.