2009-05-06 13 views
5

Digamos que encuentro un desarrollador de Windows con más de 10 años de experiencia, grandes habilidades en C/C++ y excelentes referencias como un codificador versátil que gets things done. ¿Puedo contratarlo para el desarrollo en la plataforma Linux y espero que sea eficiente en producción dentro de un par de semanas? ¿O es el umbral demasiado alto cuando se habla en términos de entorno de desarrollo y todas las herramientas comunes utilizadas en el trabajo diario? ¿Cuáles son los principales obstáculos que debe superar esta persona?¿Pueden los gurús de Windows trabajar de manera eficiente en la plataforma de desarrollo de Linux?

Nota, esta es una pregunta general, donde básicamente asumo entornos típicos de Windows y Linux (Visual Studio vs. Eclipse o EMACS, Agregar/Quitar programas vs. apt-get, asistentes de diálogo vs. línea de comandos, etc.)

+2

No he votado para cerrar (todavía) pero subjetivo, no es una pregunta real, por nombrar dos. Si lo hiciste CW, podría permanecer abierto. –

+0

¿Qué tiene de difícil recordar tales cosas en el campo de comentarios? (No te molestes, es una pregunta retórica). – sharkin

+1

¿Qué tiene de difícil recordar hacer preguntas sin una respuesta definitiva posible, como encuestas como esta, wiki de la comunidad? –

Respuesta

5

Realmente depende de muchos factores.

Un desarrollador realmente bueno podrá aprender todo lo que necesita saber con bastante rapidez. El idioma principal es el mismo.

Sin embargo, dependiendo de lo que esté desarrollando en Linux, puede haber algunas curvas importantes de aprendizaje que superar.

Un par de ejemplos:

  • La totalidad de las API del sistema operativo son diferentes.
  • Si está utilizando bibliotecas grandes, habrá una curva de aprendizaje para la biblioteca.
  • Si está utilizando sistemas de compilación de Unix más tradicionales, (posiblemente) habrá una curva de aprendizaje para usarlos frente a la "forma de Windows" normal de trabajar en un IDE como Visual Studio.

Creo que espero tener un desarrollador perfecto. en 2 semanas es probablemente un poco ambicioso, pero si son buenos, se volverán productivos rápidamente.

4

He intentado cambiar a Linux/Unix muchas veces. Básicamente puedo encontrar mi camino alrededor de la caja y hacer desarrollo [si tengo Mono]. Ahora, puedo ser igualmente eficiente en términos de requisitos básicos de usuario en casi cualquier caja en un corto período de tiempo, pero si espera que yo pueda descubrir toda la instalación, configuración y todas las demás cosas que vienen con mantenimiento del sistema en ese corto período de tiempo, me atrevo a decir que me sacaría todo el pelo antes de que pasen las dos semanas. Invariablemente, alguien me pedirá que haga algo que no tengo idea de hacer en Linux/Unix y terminará cambiando a Windows porque puedo hacerlo fácilmente en poco tiempo.

Yo diría que si tienen otras personas para hacer preguntas, seguro, es pan comido. Si esperas que empiecen a correr como principiantes, es dudoso.

+3

Esto es muy importante. Un buen desarrollador será capaz de producir código, sin embargo, los aspectos relacionados con los administradores de sistemas serán inicialmente un factor de desaceleración. –

+0

@Preet Además, los aspectos relacionados con los administradores de sistemas generalmente también forman parte del desarrollo. IIS a Apache; SQL Server a MySQL; Configuración de ASP.NET a PHP config; Visual Studio a Vi/Vim/Emacs/Lo que sea. Así que básicamente debes volver a aprender la mayoría de tu conjunto de herramientas, lo que no ayuda a las cosas. – BenAlabaster

+0

La codificación es la codificación, que es similar en todas las plataformas, ya que las diferencias entre plataformas le dificultan inmensamente comenzar. – BenAlabaster

3

Los grandes desarrolladores serán geniales en cualquier plataforma. Puede tomar un poco de tiempo, pero si él es del tipo "se hace las cosas", él debería ser capaz de ponerse al día y hacer contribuciones positivas al proyecto.

5

Yo era exactamente como un desarrollador no hace mucho tiempo (pero yo tenía un poco de experiencia * nix).

Para mí personalmente, la transición inicial me pareció muy fácil. Hay herramientas adecuadas para todo lo que necesita hacer para, al menos, codificar. La segunda fase fue muy difícil: encontrar exactamente las herramientas right para lo que estaba haciendo, y cómo usar esas herramientas. Me dejaron solo en este proyecto en particular, así que no tuve que preguntar a nadie más que a Google, y tardé mucho tiempo en aprender los métodos abreviados de teclado y en los nuevos IDE y compiladores.

Sentí, en ese momento, que si hubiera tenido a alguien para hacer preguntas, todo hubiera tomado mucho menos tiempo.

Contestación larga: Creo que cualquier buen programador no tendrá problemas con las cosas fáciles, pero asegúrese de que el nuevo desarrollador se le informe con frecuencia y de manera amistosa que todos los demás están allí para ayudarlo a responder sus preguntas.

1

Bueno, si él realmente es un gurú, yo diría que sí. Muchos estudios muestran que un buen programador produce más de 10 veces más trabajo útil en un día que un programador promedio. Un gurú real probablemente produce 100 veces más.

Así que si tuviera que elegir entre un gurú de WIndows y un tipo medio de Linux, cualquier día lo haría.

2

Creo que sí, pero es posible que tenga que ser paciente para un tiempo de aceleración más prolongado. Una idea: darle una caja de Windows con una máquina virtual Linux corriendo dentro (o viceversa), así que si se topa con algo que no puede hacer rápidamente en Linux, puede cambiar a Windows para esa tarea en particular hasta que se convierta en más competente en el lado de Linux. Esto puede mitigar parte de la "ansiedad de separación" que tienen algunos usuarios de Windows al cambiar a Linux. Piense en ello como "Linux con ruedas de entrenamiento".

Los buenos programadores son buenos programadores, y son difíciles de encontrar. Puede hacerlo funcionar si lo desea.

1

¿Por qué no puedes contratar a un gurú de Linux en su lugar?

Es curioso cuántas personas han venido a declarar "Sí, seguro que puede".

¿Por qué nadie pregunta si le gustaría?

+2

Si no quiere, no solicitará el puesto o rechazará la oferta. – mjfgates

+1

Sería afortunado de encontrar gurús en absoluto, y esta pregunta es acerca de si puedo hacer uso del "gurú" independientemente de la experiencia relacionada con la estación de trabajo. – sharkin

+0

Siempre he pensado que los gurús no se postulan para un trabajo, sino que son más bien cazados por los empleadores. Entonces la pregunta de si él quiere que se mantenga. – User

1

No hay duda de que Windows guru (si es cierto) puede manejar las cosas de Linux.

Lo único que debe preguntarse es cuánto tiempo tiene 4 el proyecto, ya que no puede esperar que alguien que nunca se desarrolló en Linux sea tan rápido como alguien más que hace eso durante un tiempo.

Si puede permitirse que el hombre tenga algo de tiempo para ponerse en marcha, debe darle una oportunidad.

0

Si recuerdo la Edad del Bronce, cuando aprendí a programar en Unix, la técnica que utilicé fue aprender cosas tan cercanas como una a la vez. No aprendí vi hasta que ya estaba razonablemente cómodo con C. Luego aprendí hacer, y luego estudié la API de Unix. Finalmente, llegué al punto en que solo estaba aprendiendo lo que necesitaba saber cuando necesitaba saberlo, pero me llevó meses.

Al menos el chico del que hablas es competente en C y C++. Obtenga un IDE medio decente si no quiere abordar vi o Emacs y make. La gran pregunta es si las API están en uso; pueden tomar un tiempo para internalizar. Y asegúrate de que tienes a alguien que responda las simples preguntas y haga algunas de las cosas más pequeñas pero potencialmente confusas por un tiempo.

1

Creo que depende. Si quitas el Visual Studio de un hombre, estás reduciendo a la mitad su productividad allí mismo. Si está haciendo todo en emacs con compiladores de línea de comandos, probablemente haya cortado otra mitad de su productividad. Ahora, algo de esto se arrastrará con el tiempo a medida que se vuelva más familiar, pero puedes apostar que este gurú nunca será tan productivo en Linux sin el IDE.

+1

Llamo travesuras en esto. Ningún "gurú" confía en un IDE para 3/4 de su productividad. –

Cuestiones relacionadas