¿Debo aprender a usar Linux si quiero ser un desarrollador?

Respuesta simple: ¡NO! Respuesta correcta: depende.

El desarrollo de software es un campo ENORME. Linux es una maleza pequeña, aunque creciente en este campo. (Eso viene de un tipo que maneja Linux en todas sus PCs Wintel en casa).

Si va a desarrollar software para plataformas Windows (de escritorio o móviles) utilizando F #, C # o Visual Basic, no veo ninguna razón para que pierda el tiempo aprendiendo Linux.

Si va a desarrollar software para dispositivos Apple iDevices con OS X o iOS, utilizando Swift o Objective-C, no veo ninguna razón para que pierda el tiempo aprendiendo Linux.

¿Qué tal esto? Si va a realizar la mayor parte de su desarrollo en HTML5, CSS y JavaScript, jQuery, etc., para los sitios web frontales, es mejor utilizar una Mac o una PC Wintel para su desarrollo. Una vez más, no hay razón para aprender Linux.

Si va a realizar la programación de sistemas embebidos utilizando núcleos exóticos como VxWorks (¿Alguien lo sigue utilizando?), QNX, ThreadX, etc. (no estoy seguro de cuántos de ellos todavía están en uso … pero, estoy seguro de que todavía hay muchos de trabajos de mantenimiento en esos sistemas), puede que sea mejor usar una PC Wintel porque los entornos de desarrollo para la mayoría de esos sistemas se crearon para algunas u otras versiones de Windows. Así que, una vez más, no hay razón para aprender Linux.

PERO, … y como puede haber notado, eso es GRANDE PERO … si va a hacer casi cualquier desarrollo del lado del servidor, debe aprender Linux. Las palabras de moda como LAMP ya tienen Linux incorporado.

Además, si está haciendo la mayoría de los sistemas de programación embebidos contemporáneos, es muy probable que encuentre alguna u otra forma modificada de Linux que se esté utilizando como núcleo. En este caso, ayuda tener un sistema Linux a mano.

La mayoría de los dispositivos de IoT de la generación actual utilizan algún tipo de Linux incorporado. (NOTA: dije MÁS, no TODO.)

Y, por último, si desea trabajar en cualquier cosa en el mundo de las redes, desde módems pequeños hasta enrutadores Wifi o conmutadores Ethernet, hasta enrutadores de borde / acceso, MSPP, conmutadores TELCO realmente avanzados, etc., definitivamente estará mejor. aprendiendo linux

El punto es: NO es necesario conocer Linux. Pero, Linux es como una maleza que crece por todas partes y que florece en todo tipo de cosas. Peor aún, tantas personas han fumado esta hierba de Linux, y realmente la han disfrutado, que es difícil sacarla de ella. Entonces, bien podrías unirte a la fiesta. ¡Solo digo!

Finalmente, puede querer verificar esta respuesta: la respuesta de Mahesh RS a ¿Qué tan superior es Linux en comparación con Windows y Mac?

HTH!

Si quieres trabajar en una empresa de tecnología “seria”, diría que sí.

Independientemente de los méritos o desventajas de Linux en comparación con lo que sea, hay muy pocas empresas de tecnología (aparte de Microsoft) que se centran significativamente en Windows. Y Windows es el único entorno de uso común que es muy diferente de Linux en la actualidad.

Los otros “Un * xes” (FreeBSD, MacOS, SunOS, etc.) están lo suficientemente cerca de Linux, en particular a nivel de “desarrollador”, que las habilidades de Linux serán casi completamente transferibles a esos entornos si usted trabaja en ellos. (Tenga en cuenta también que las habilidades en los otros Un * xes también son transferibles a Linux).

Si va a hacer un trabajo de TI para una compañía no tecnológica, Windows es más útil, pero incluso allí, las habilidades de Linux pueden ser demandadas.

Respuesta simple, sí. Es una obviedad. Ningún desarrollador tiene un conocimiento completo sobre la buena programación sin conocer el funcionamiento interno de Linux y el legado de Unix.

No es estrictamente necesario. Pero es altamente recomendable ir con un sistema operativo donde la CLI es mucho más poderosa que cualquier otra cosa que pueda hacer en la GUI. No importa su tipo de programación, tal sería un beneficio. Y una gran cantidad de trabajo de desarrollo significa que (lo más probable) estaría haciendo algo para un entorno similar a * nix (al menos hasta cierto punto), especialmente si hace algo por Internet / teléfonos inteligentes. Por lo tanto, conocer los conceptos básicos de Linux significa que tiene una mejor comprensión de los sistemas operativos de servidor más comunes que existen.

Y no es que “tengas” que ir con Linux. Hay muchas otras alternativas que le darían una oportunidad similar (si no mejor) para la experimentación, por ejemplo, realmente recomendaría BSD si realmente quiere entrar en el meollo del sistema operativo. Pero incluso solo OSX debería hacerlo, tiene capacidades CLI similares de su propia herencia (de hecho, algunas de ellas provienen de BSD), aunque un poco del resto está cerrado para usted.

Windows es probablemente la excepción, su CLI incorporado es una broma en comparación con casi todo desde los años 70. Esto es excepto si va a instalar extras como PowerShell, que es básicamente un intento de obtener aproximadamente el 50% de lo que puede hacer el bash de Linux en Windows.

Si deberías. Si quieres ser un desarrollador, entonces probablemente tengas una mentalidad lógica.

Aprender Unix / Linux hará mucho por ti.

Pondrá vello en tu pecho. Aumentará su productividad diez veces. Lo más importante es que nunca más querrás volver a Windows.

Depende del tipo de desarrollador que quieras ser.

Creo que un conocimiento completo de muchos tipos de computadoras es un buen fondo para tener, pero no es como si Linux fuera el todo y el final. Es una copia de UNIX, no es un libro sagrado que se entienda mucho.

Si solo quieres escribir aplicaciones para teléfonos inteligentes, saber Linux no te ayudará mucho.

Sí, ayuda y si puedes deberías.

Sin embargo, no es obligatorio. Conozco algunos buenos desarrolladores que no conocen Linux o Unix o dos.