¿Qué carrera es más divertida, networking o programación? ¿Cuáles son los pros y los contras de cada uno?

Si estás preguntando cuál es más “divertido” … bueno, esa es una pregunta muy subjetiva.

La respuesta dependerá mucho de las preferencias personales.

Programación:

  • Siempre creas algo, incluso manteniendo el software existente.
  • Dependiendo del tamaño de la empresa, es probable que tenga que trabajar con otros. Y aquí se encuentra el potencial de conflicto, solo sobre algo tan simple como si coloca los comentarios en la misma línea que el código, o en la línea anterior (que a su vez tiene una fuerte correlación con la resolución de pantalla vertical \ U0001f61c).
  • Se convertirá en una tarea, tarde o temprano.
  • Necesidad de dominar el arte del equilibrio entre características y estabilidad.
  • Sin embargo, los plazos suelen ser negociables. No siempre, pero muchas veces lo hacen.
  • Mayores oportunidades para dejar “I WUZ AQUÍ”

Parece que tienes una comprensión “inversa” de “redes”, aunque …

Administrador de sistemas es el superconjunto de Administrador de servidores, Administrador de almacenamiento, Administrador de bases de datos, Administrador de redes y Administrador de seguridad.

Ahora, Administración de Sistemas:

  • Trabajo sin gracias. Nadie te dará una palmadita en la espalda cuando las cosas vayan bien. Pero no dudarán en poner tu cuello en el tajo cuando las cosas se vayan al infierno.
  • Cuando las cosas van al infierno, TODOS van al infierno. Y es el infierno. Su gerente, el gerente de su gerente y el gerente de su gerente, todos se agacharán detrás de usted, respirando en el cuello, esperando que lo haga …
  • MÁGICO. No son los CCNPs / CCIEs / MCSEs / OCPs / whathaveyous lo que hizo que todo funcionara. Es magia. Serás conocido como “El mago”
  • Además, es el trabajo de un piloto: horas y horas y horas de tedio salpicado por momentos de puro terror .
  • Complejo de Dios. Usted sabe que tiene el poder de terminar con el acceso al servidor y el acceso a Internet de alguien de l̷i̷f̷es̷s̷
  • Tarde o temprano, tendrás que hacer algo de programación. Porque sigues haciendo las mismas cosas una y otra vez, y quieres automatizar la forma en que se configuran las cosas.
  • Además, “Seguridad” es un objetivo en constante movimiento. Estás en una carrera perpetua entre actualizaciones vs 0 días.

Por lo tanto, mi recomendación:

Pruebe ambos trabajos. Durante 2 a 4 meses, salga antes de quedar atrapado.

Editado para añadir:

He hecho ambas cosas, y sigo haciendo ambas cosas.

Casi siempre prefiero crear software, pero casi no hay días en los que sea fácil. El gran atractivo para mí es que es un trabajo creativo y es una forma de expresión artística, más en la forma en que la literatura es más que la pintura. También encuentro que mi nivel de disfrute es inversamente proporcional al número de personas involucradas en el proceso.

Ambos caminos se basan en tener un gran conocimiento. Si bien puede buscar detalles específicos, tener suficiente experiencia para comprenderlos requiere mucho aprendizaje y experiencia. Una vez que conoce bien el material, las redes y la administración del sistema suelen ser más fáciles y menos estresantes, y requieren mucha minuciosidad, atención a los detalles y un seguimiento de las cosas.

Ambos confían en tener un conjunto de herramientas en las que confías mucho. En software, es su IDE, herramientas de depuración, bibliotecas, marcos. En los sistemas es un conjunto de utilidades, comandos, herramientas de escaneo o incluso herramientas de hardware.

Lo que no me gusta de lo que pones en el paraguas de “redes” es que si eres bueno en eso, puede llegar a ser bastante aburrido. Cuando los sistemas funcionan bien, has ganado tu paga, pero es cuando las cosas se están rompiendo que se pone más interesante. Y estresante. Y obtienes el menor reconocimiento por tus esfuerzos. Aunque hace mucho tiempo era un MCSE y trabajaba con productos de Microsoft con regularidad, me he convertido en un fanático de Linux y no soporto trabajar con sistemas de código no abierto. Afortunadamente, estoy en una posición en la que no tengo que hacerlo, pero es posible que no tenga voz en las cosas con las que termina trabajando. Lo mismo ocurre con la programación, de verdad.

Un lugar donde se pone interesante es cuando combinas los dos, y eso es lo que llamo DevOps. Es la administración del sistema y la programación. Esto implica trabajar con herramientas que crean y configuran servidores, implementan cosas, configuran la seguridad y realizan todo tipo de tareas de administración de TI, pero en lugar de que lo haga un equipo de 20 miembros del personal de TI, puede realizarlos una sola persona. Cosas como Chef, Puppet, Vagrant, Salt Stack, Ansible, Fabric, Capistrano y Nagios son populares y vale la pena explorarlas.

Es mucho más difícil encontrar un entorno de trabajo “sano” en la programación. Casi nadie que no lo haya hecho aprecia lo increíblemente difícil que puede ser. Douglas Crockford dijo que “los programas de computadora son las cosas más complejas que hacen los humanos”. Ser capaz de administrar un entorno como ese en el que las personas no son solo piezas en una máquina requiere un tipo especial de persona, y abundan los gerentes no especiales. Muchas cosas pequeñas pueden sumarse para crear un ambiente caótico y estresante. A menudo es más “interesante” en las compañías de productos, pero son una pequeña parte de la programación. La mayoría de la programación es escribir “aplicaciones empresariales aburridas”, como sistemas de entrada de pedidos, generadores de informes de ventas, herramientas de contabilidad y otras piezas específicas de negocios. No es menos desafiante, pero a menudo es menos estresante y más estable que la creación de productos de software. Los desafíos son diferentes, y uno no es mejor que el otro. Soy una persona del producto, no puede ser.

Antes de tomar una decisión, recomendaría explorar el mundo de DevOps primero. No solo es una tendencia en crecimiento y una trayectoria profesional, sino que también le dará una idea del lado administrativo de las cosas y puede enamorarse de ella. O puede que te gusten todas las partes, excepto la programación y que te salgas con la TI completa.

Mi experiencia personal: siempre tuve una habilidad especial con las computadoras. Tenía 11 años cuando obtuve mi primer Commodore 64. Tenía 12 años cuando escribí mi primer programa de trabajo (aprendí de esas viejas revistas de “Programación” que te enseñaron los conceptos básicos de BASIC, etc.). Co-administré dos BBS por separado (¿alguien recuerda los viejos sistemas de tablones de anuncios, antes de Internet?) En la escuela secundaria con otro amigo nerd / geeky y los dos ayudamos a nuestros amigos y sus padres cuando su IBM 286 necesitaba una actualización como un recuerdo tarjeta de extensión o una tarjeta de puerto de impresora paralelo. Después de la escuela me uní al ejército y no hice absolutamente nada con computadoras o tecnología durante 4 años. Después de los militares no tenía idea de lo que iba a hacer. Hablé con mi viejo amigo de la escuela secundaria y me dijo que deberías ingresar a Ciencias de la Computación, así que volví a la escuela de Ciencias de la Información de Computación y tomé un programa acelerado que se enfocó en las clases principales para dicho grado, clases en programación orientada a objetos , C +, RPG400, teoría de la programación, COBOL (sí, COBOL!) Por nombrar algunos. Una vez que me gradué, obtuve mi primer trabajo de programación para un constructor de casas pequeño pero de varios estados y dejé la soleada ciudad de San Diego, California, para que fuera exacta en el Medio Oeste de Indianápolis. Comencé como programador de IBM AS / 400 escribiendo código en RPG400 y lenguaje de control de IBM. Es para lo que fui a la escuela y pensé que era lo que quería hacer. Me pareció aburrido y tedioso. Si bien tuve la oportunidad de codificar algunos programas completos y dos “suites” de programas, la mayor parte de mi día se dedicó a localizar piezas de código para hacer cambios menores; Queremos que este informe se imprima de esta manera ahora, queremos que esta pantalla muestre la cantidad en dólares sin posiciones decimales, etc. Si hubiera sido mi propio código el que lo hubiera estado revisando no hubiera sido tan doloroso. Pero buscando a través del código de otra persona … ugh. No comentan las cosas como deberían (o lo habría hecho) o tal vez la lógica que usaron para hacer que el programa funcionara es diferente a la que habría usado … me volvió loco.

La empresa fue comprada por un constructor de casas más grande a nivel nacional aproximadamente 3 años después de que comencé y su equipo de Ingeniería de Redes se mudó para cambiar el dominio, actualizar los enrutadores y los conmutadores, instalar servidores de intercambio completos y servidores de archivos e impresión. Los sistemas de copia de seguridad y todas las otras cosas que Net Eng hace. Como ya se dijo, tenía una habilidad especial para computadoras y redes y actuaba como el líder de “Soporte de escritorio y redes”, así como un programador junior (nuestra persona de escritorio actual era adecuada pero no espectacular). Se me pidió que ayudara con la información del equipo. Necesito y luego para ayudar con el cambio. En un plazo de 3 meses me pidieron que me uniera al equipo de Enterprise Network Engineering y me mudara a Atlanta Georgia. Probablemente, eso fue lo mejor que me ha pasado en mi carrera, en mis 21 años de trabajo en TI. La compañía pagó a los campamentos de entrenamiento de CISCO, las certificaciones pagadas de la compañía, los viajes de una semana a lugares como Nueva Orleans para los eventos de CISCO Networkers, la compañía pagó los viajes a 32 estados de todo el país (incluida una tarjeta AmEx y un estipendio suficiente para alimentos que siempre podría disfrutar Algunas bebidas en la empresa de diez centavos!). Comencé como Net Eng I y en 3 años, comenzando como un novato sin formación formal de red / administración, fui promovido a Net Eng II.

Ya no trabajo como ingeniero de redes (dejé ese título oficial en 2007), pero desde entonces he sido Gerente de TI en dos compañías separadas (también como el único desarrollador web en una de ellas) y luego trabajé como administrador de escritorio y enlace. entre el equipo de escritorio y los administradores de red en un hospital comunitario. Actualmente trabajo como administrador regional de TI (algo así como soporte de escritorio de nivel II / III, Sys Admin y Net Eng todo en uno) y mantengo los servidores y las redes, los sistemas de respaldo y recuperación, así como la imagen, el soporte y el mantenimiento. todos los equipos de sobremesa y portátiles, son compatibles con todos los dispositivos periféricos, administran AD y algo de administración de los buzones de correo de intercambio (la mayoría gestionados por el “Equipo de TI corporativo”) para las escuelas de mi región.

La programación no era para mí. Tal vez, si hubiera creado mi propia empresa y diseñado mis propios productos, etc., pero ese no era el camino que tomaba como programador.

Esa es solo mi experiencia. Conozco a los programadores que aman cada minuto, bueno, casi todos los minutos y conozco a los administradores de sistemas / administradores de red que no disfrutan de su trabajo un “bit” (juego de palabras). Trabajo, en promedio, aproximadamente 55 horas a la semana, aunque solo me pagan, si recuerdo correctamente, 43,2 basado en mi salario. Recibo llamadas, correos electrónicos y mensajes de texto a todas las horas del día / noche y tengo que trabajar las noches y los fines de semana a menudo porque no puede interrumpir un sistema / redes durante el horario comercial. No me importa nada de eso y, de hecho, lo disfruto. Cada día es diferente y viene con nuevos problemas para solucionar y resolver. Funciona bien para mí y nunca he mirado atrás y me arrepentí de haber dejado mi puesto de programación para uno en Ingeniería de redes. Me ha abierto muchas puertas en el mundo de las TI y tengo una buena comprensión de las TI y su papel en el negocio en su conjunto, no solo una parte.

Si no es obvio, prefiero la programación en red. 😉

Soy profesional de seguridad de TI y lo defiendo. Es un dominio inmensamente intelectual.

De acuerdo con Jason, usted confía en gran medida en las herramientas, pero por otro lado, le resulta muy interesante en la búsqueda de las profundidades y los saltos.

No estoy en la programación, pero para mí ambos campos son igualmente interesantes y desafiantes.

Si está comparando redes solo contra la programación. Voy con la programación cada vez. No, si está comparando la programación del sistema bs, es una elección un poco más difícil. Me gustan los dos, pero estoy empezando a inclinarme hacia la administración del sistema más tarde

Esto depende de tu personalidad. ¿Trabajas bien con los demás? ¿Puede obtener un consenso o le gustaría simplemente resolver el problema listado en un requisito?

Estas y otras respuestas determinarán qué tan bien encajan en uno de estos roles de trabajo.