¿Por qué tantos ingenieros de software usan MacBooks?

“Tantos” indica un número sorprendente. Si bien no conozco la proporción de ingenieros de software que usan MacBooks / iMacs, puedo decir que de los últimos siete lugares donde trabajé:

  • Tres compañías emitieron a todos un MacBook o iMac (o ambos)
  • Dos compañías emitieron a todos un escritorio de Windows
  • Una empresa comenzó con los escritorios de Windows, luego cambió a Macs
  • Una compañía ofreció a los ingenieros de software una opción: una Mac; o una computadora portátil Windows + un escritorio Linux

A menos que esté trabajando en un proyecto que requiera una caja de Windows de alto rendimiento o una versión específica de Linux, prefiero usar una MacBook o iMac. Aquí están mis razones:

  • OSX es una variante de UNIX, lo que significa que puedo ejecutar fácilmente el código del servidor cliente y Linux / Unix en una Mac durante el desarrollo
  • Desarrollo para dispositivos móviles y para la web; en una Mac puedo desarrollar no solo para Android y Windows Mobile, sino también para iOS
  • El hardware moderno de Mac puede iniciar Windows con doble arranque; Windows nativo está disponible en la caja si lo necesito. También puedo ejecutar Wine, Parallels, DosBox, VMWare, etc. en la Mac si necesito que Windows y OSX se ejecuten en la misma caja al mismo tiempo
  • Muchas de las creatividades con las que trabajo prefieren Macs; existen economías generales de comunicación y escala cuando toda la tienda está en la misma plataforma, es decir, tanto creativos como desarrolladores de software en Mac

¿Usualmente los ingenieros de software usan macbook o cualquier otro producto basado en OS X? No estoy completamente seguro de esto. ¿Tienes alguna evidencia? En mi experiencia, hay muchos desarrolladores de software que ejecutan Windows en sus computadoras portátiles (aunque se quejan de ello). Hay varias razones por las cuales esto sería ventajoso. Por ejemplo:

En primer lugar, parece que las principales compañías de hardware tienen términos de arrendamiento de computadoras bastante beneficiosos (no tengo fuente sobre esto, es solo una observación).

En segundo lugar, el soporte de software en muchas aplicaciones (incluidas aplicaciones populares y ampliamente utilizadas como MS Office). El soporte de software para Windows es superior a cualquier otro sistema operativo.

En tercer lugar, muchas empresas desean poder utilizar el mismo conjunto de productos de software para todos los empleados. Dado que a menudo existe una administración dentro de una empresa menos familiarizada con otros sistemas operativos que Windows, es simple usar Windows como sistema operativo general en la empresa. Esto significa que la gerencia menos técnica competente puede leer los informes de los desarrolladores y otros.

Sin embargo, es común que los programadores tengan algún tipo de entorno de desarrollo al que se conectan. Si el trabajo no incluye escribir software en productos Apple o Windows, es común que este entorno utilice Linux. Además, Linux es de código abierto y para algunos propósitos (por ejemplo, redes) esto es ventajoso ya que permite a los desarrolladores acercarse al hardware real.

Las respuestas anteriores se aplican mejor a las compañías más grandes, pero creo que las compañías más pequeñas comparten en parte el mismo pensamiento. Aparte de esto. Las aplicaciones desarrolladas para el producto Apple se desarrollan mejor utilizando herramientas de Apple y, a menos que un producto específico se ejecute en una máquina virtual (como Java), el desarrollo debe realizarse en el entorno donde se pretende ejecutar el producto.

  1. Sistema operativo basado en Unix. Yo uso mucho la línea de comando.
  2. Mucha gente que usa las aplicaciones que escribo las usa en Mac. Además, si quiero escribir aplicaciones iOS, tengo que hacerlo en una Mac. No puede hacerlo en un sistema operativo que no sea Mac.

Debido a que muchos clientes tienen iPhones, y el software de escritura para esa plataforma en particular requiere preparación y disponibilidad las 24 horas del día, sin importar la ubicación.