Cómo convencer a los desarrolladores de mi empresa para que usen Windows en lugar de Mac para el desarrollo

Solo te pintarás en una esquina y, en general, no te gustará. La gente elige sus herramientas y se quedarán con estas herramientas. Soy usuario de Mac desde 2003 con OSX 10.2 recién creado. Nunca fui un usuario del sistema. Acabo de cambiarme a una Dell Precision 5520.

PERO

Supongo que usted es una tienda web, haciendo python, php, ruby, go o cualquier otra cosa, por lo que no C # f.ex. sin iOS o Android.

Si su compañero de trabajo está considerando una nueva máquina, puede señalar el disgusto general de las nuevas máquinas Macbook Pro con la estúpida barra táctil. Puede mostrarle el precio, y luego puede mostrarle cuánto más puede obtener en una máquina de PC decente de lo que puede hacerlo con una Mac, aunque tenga en cuenta que es posible que nunca experimente la diferencia, estas máquinas son potentes. y tiene un manejo de memoria fantástico.

Windows 10 no es del todo malo. Para su desarrollo, tiene una cobertura del 100% solo en ventanas simples. No necesita usar el subsistema Linux, pero es bueno tenerlo, especialmente si está implementando código, que es donde falta Windows ya que todos los servidores son Linux.

Obtiene Visual Studio Code, Atom, Sublime y prácticamente cualquier editor que le interese. Mi Dell tiene una pantalla de computadora portátil 4K (nunca la toco), lo cual es fantástico, tiene una GPU muy potente (que Mac no tiene). Tengo un disco SSD súper rápido, Samsung 960 pro, tengo 32 GB de memoria (las Mac solo tendrán 16) y tengo la misma CPU que el Macbook pro 15 ″ de más alto nivel, Intel i7 7700, pero ten en cuenta que podría tener elegí un Xeon si lo necesitaba. El teclado en el Dell es bastante impresionante. Con una pantalla externa 4K y un teclado para juegos, estoy en muy buenas manos.

No me arrepiento de haberme mudado, ya que mi trabajo diario es C # y Microsoft SQL. He logrado que todos mis otros proyectos no solo se ejecuten en ventanas simples, sino que también funcionan muy bien. MongoDB, Redis, Node, Elixir, Python y todo lo demás.

No prediques, no seas uno de estos odiosos predicadores de religión. A nadie le gustan. Debes sugerirles, mostrarles cómo trabajas. También debe estar abierto para ver cómo funcionan. Claro que Powershell y Cmd pueden tener una secuencia de comandos bastante buena, pero cuando se trata de compararlo con las secuencias de comandos de Unix, simplemente no hay competencia, Linux y Macs pueden ser tan potentes que sus shells son fantásticos para trabajar. El Finder es bastante increíble.

Con todo, me estoy instalando en una PC, mi flujo de trabajo no es tan bueno, las herramientas son en su mayoría las mismas, por lo que podría tener una cobertura del 90%. Pero los shells y los scripts son tan fantásticos. Obtiene algunos que con el subsistema Linux, pero Windows en sí mismo no funciona bien, por ejemplo. no puede usar el subsistema Linux para todos sus procesos e intentar usar editores de Windows para el código a menos que el código esté debajo de Windows y luego las cosas se desmoronan a menos que parchee y parchee y remienda.

Utilizo mucha más energía para configurar y poner las cosas en funcionamiento al principio.

Si mi trabajo no estaba basado en C # y en Visual Studio 2017, puedes apostar a que estaría usando una Mac.

Sugiérales que echen un vistazo a una computadora portátil PC de gama alta. Si crees que tu flujo de trabajo es mejor que el de ellos, muéstralo, simplemente sé abierto cuando te muestren el suyo, quién sabe, podrías mejorar tu propio flujo de trabajo. Si comienzas a predicar, solo les mostrarás cuán ignorante eres sobre la Mac, todos los chicos de PC suponen erróneamente, generalmente basados ​​en la idea de que las cosas no se hacen exactamente de la misma manera en una Mac que en Windows. han sido desacreditados, hace más de 15 años y son agotadores como el infierno. No seas presumido, esto es solo una herramienta, esto no es nirvana. Windows tiene enormes áreas sucky, las Mac también tienen áreas sucky. Todo se reduce a lo que quieres hacer y cómo quieres hacerlo. El resultado final es el código que se ejecuta en un servidor Linux en las nubes (servidores de otras personas).

tl; dr: Primero vea si tiene algún beneficio sobre sus compañeros de trabajo. Todo esto, mi sistema operativo es mejor que el tuyo, mi lenguaje de programación es mejor que un lenguaje del que no sé nada, es tan agotador y siempre se basa en un hecho, la persona que dice que es un principiante ignorante, no seas ese chico, a todos no nos gusta ese chico.

Por que lo harias ?
Si están desarrollando para web, aplicaciones o aplicaciones web, realmente no importa en absoluto. Por supuesto, se requiere un conocimiento adecuado de las tecnologías web y todas las peculiaridades posibles en varios motores y sistemas web. Pero no importa qué sistema utilicen para desarrollar. Y lo mismo es cierto para trabajar en aplicaciones de escritorio. De acuerdo, si están trabajando en un proyecto que necesita ejecutarse, por ejemplo, en Windows , supongo que al menos deberían usar algunas versiones de Windows para probarlo.

Y aquí es donde entra en juego la paradoja.

Fuerte ventaja
En una Mac pueden ejecutar, emular o virtualizar varias encarnaciones de Windows y muchos sabores de Linux simultáneamente, y tienen acceso a muchos emuladores / simuladores móviles (incluidos los exclusivos macOS e iOS ). En muchos entornos de red, también pueden configurar servidores Windows para permitir que los clientes de escritorio usen Windows de forma remota, también desde una Mac . Entonces, para la mayoría de su trabajo, no necesitan las máquinas o dispositivos físicos reales, que ejecutan los sistemas típicos de usuario final.

Los desarrolladores están trabajando en la estructura de un proyecto, que se puede hacer con todo tipo de herramientas y utilidades, y se puede hacer igual de bien (quizás incluso más versátil) en una Mac .

Sugerencias no tan serias (tal vez):

Plante un virus que destruya datos en las Mac y diga que no puede obtener virus si usa Windows (no es cierto).

Dales todas las tarjetas de regalo de Steam y di que no hay juegos para Macs (relativamente hablando, muy cierto), y que Macs no puede jugar juegos 3D modernos de todos modos (casi completamente cierto). No es que los juegos importen en un entorno de trabajo, pero ahí lo tienes.

Digamos que la gente se ríe de los usuarios de Macs sin hojas y iPhones micro ondulados (en realidad lo hacen, pero igualmente los usuarios de Mac se ríen de los usuarios de Windows por tener computadoras portátiles feas).

Digamos que el desarrollo de aplicaciones de iOS está sobrevalorado (no es cierto).

Digamos que Windows tiene una GUI más efectiva (mayormente verdadera) y un rendimiento mucho mejor en hardware de igual costo (muy cierto).

Si sus compañeros de trabajo están comprando computadoras portátiles nuevas, tal vez pueda mostrarles los precios del Black Friday para PC, pero al mismo tiempo, la mayoría de las empresas me han suministrado las computadoras portátiles para que los desarrolladores solo se preocupen si es un hardware atractivo y funciona bien. Incluso las propias empresas se preocuparán más por la productividad de los empleados y los costos de mantenimiento que por los precios minoristas. La diferencia de precio entre una computadora portátil basura de $ 200 (es cierto que la mayoría de las empresas tienden a comprar PC de gama media y alta, no modelos de nivel de entrada) y un máximo de $ 4000 de 15 “es menos del salario de un mes para un desarrollador (y obviamente muy pocos desarrolladores necesitan un SSD de 2 TB en una computadora portátil de trabajo). Cuando se habla de una diferencia de precio real mucho menor, en última instancia, se reducirá a la preferencia de los empleados por cualquier empresa bien administrada.

Quizás si tiene un flujo de trabajo superior que solo puede hacer en Windows, puede mostrárselo a los otros desarrolladores. Aunque era usuario de Windows antes de ser usuario de Mac, me encuentro fácilmente dos veces más productivo en macOS que en Windows. Lo único que prefiero en Windows es poder ajustar ventanas a los lados y eso se puede agregar fácilmente a una Mac con una aplicación 0.99. A menos que tenga programas específicos que sus desarrolladores necesitan para ejecutar que requieren Windows (e incluso entonces los desarrolladores solo pueden usar Citrix / VM para eso), tendrá que trabajar más duro para construir un caso que preguntarle a la gente en Quora.

Según tengo entendido, si tiene que preguntar a extraños en Internet por razones, entonces no necesita convencer a los demás, debe convencerse a sí mismo .

Piénselo, si tuviera una buena razón para hacer este cambio, no necesitaría preguntarnos, estaría haciendo una discusión convincente a sus desarrolladores y todos gritarían y animarían cuando les diera cuenta de que ‘ Había sido tonto por no estar usando Windows todo este tiempo.

Al dirigirse al sitio web de Dell para realizar sus compras, se producirían muchas sacudidas y arrugas en el cabello.

Utilizo Windows y Mac, y a menos que esté haciendo específicamente cosas de Windows, o específicamente cosas de Mac, ninguna de las dos ofrece una ventaja convincente sobre la otra.

Si tiene una buena razón, dígale a esos desarrolladores su razón.

Si no tienes una razón, ¿por qué lo estás haciendo?

Si sus razones son solo cosas de fanboy inventadas, no se moleste, simplemente se avergonzará.

Yo diría lo mismo si quisieras mudarte a Mac desde Windows, los fanboys de todos los credos son tan molestos como los demás *.

Si necesita preguntar a otras personas por sus razones, no tiene razones.

* Excepto la multitud de Amiga, parecen un buen grupo.

¿Por qué te importa? A menudo las personas me dicen que haga lo contrario que supongo que tienen buenas intenciones. Luego señalo que todo mi código se ejecuta en máquinas virtuales Linux / BSD y Windows simplemente proporciona un entorno para que mi hipervisor se ejecute. Prefiero debian, ubuntu o freeBSD a OSX.

El punto es este: no importa mientras el producto final sea un código robusto, que cumpla con las especificaciones y se entregue dentro de un plazo aceptable. ¿También le dirá a los miembros de su equipo qué IDE usar? Eso es arrogante.

Si no está interfiriendo con el proceso de desarrollo, ¿por qué te importa? Más importante aún, ¿por qué debería importarle a la empresa lo que piensas? Si sus herramientas actuales están funcionando para las necesidades de la COMPAÑÍA, le corresponde aprenderlas, no al revés. Si USTED es dueño de la compañía, esa es una historia diferente, pero vuelve a la primera pregunta: ¿por qué le importa de una forma u otra lo que usan siempre que los equipos puedan integrarse y todos usen las mismas herramientas?

Digo esto como alguien que ha hecho mucha más programación con IDEs en PC con Windows que en PC con Mac o Linux.

Pídales que escriban todo en C #.

¡Oh, lo siento, ahora también hay un Visual Studio para macOS! ¡Parece que no es demasiado fácil!

Mac tiene la misma cantidad de excelentes herramientas, por lo que tampoco puedes usar esa excusa. Dado que Windows puede ejecutarse perfectamente en MacBooks, el sistema operativo tampoco funciona como excusa.

Una vez más, los idiomas más populares funcionan mejor en los sistemas POSIX. De hecho, se desarrollan principalmente en Linux y se portan a Mac y Windows más tarde (portar a Mac es muchísimo más fácil que portar a Windows).

Lo único que puede hacer es decirles que las finanzas de la compañía los necesitan para usar Windows.

Muéstreles una lista de razones reales por las que deberían hacerlo.

¿Es más confiable? ¿Ofrece soluciones mejores / más baratas para el trabajo?

En última instancia, si ahorra dinero a la compañía, ese es el mejor argumento.

¿Por qué sientes que necesitas convencer a los desarrolladores para que pasen de Mac a Windows?

Hay argumentos en ambos sentidos en las respuestas, pero no te veo justificando por qué. ¿Puedes aclarar?