¿Por qué no se externaliza todo el desarrollo de software a países con costos laborales mucho más bajos? ¿Los desarrolladores offshore son menos capaces? ¿Es un problema de comunicación? ¿Aumentaría drásticamente el rendimiento de un desarrollador offshore si le otorgara una visa H1B?

Respuesta corta: porque es más fácil. Si eres lo suficientemente rentable como para invertir en un equipo local en un país / ciudad con un alto costo de vida, entonces ¿por qué no? Su equipo es local, puede controlarlos e, idealmente, vive en una tierra mágica con un presupuesto ilimitado y un grupo interminable de expertos.

La mayoría de las respuestas contra la externalización que leí aquí son de ingenieros de software (en función de sus biografías) que deben tenerse en cuenta.

Hay varias razones válidas en las que tiene sentido construir un equipo local. Tratar una gran cantidad de datos confidenciales : IP / patentes, registros personales, números de seguridad social, acceso a cuentas bancarias, etc., es complicado, y un error podría conducir a arruinar a toda una empresa. Imagine si sus datos bancarios se filtran debido a un desarrollador offshore que fue despedido injustamente o simplemente comprado por un competidor. El acceso a hardware, planos u otros registros fuera de línea también puede requerir presencia en el sitio, aunque también se puede tratar en línea.

También tiene sentido si simplemente prefiere ser pequeño, o si tiene inversores a bordo dispuestos a pagar lo suficiente por el personal local.

Aparte de eso, la subcontratación es simplemente una cuestión de estrategia de recursos humanos y flujo de trabajo de gestión. La gran mayoría de los gerentes de proyectos más antiguos en los Estados Unidos son increíblemente conservadores y de la vieja escuela, solían rastrear la presencia de la oficina en lugar de los resultados, y constantemente inquilinos de cubículos de gran fraternidad. La subcontratación requiere una estrategia de gestión diferente más cercana al entorno de trabajo de solo resultados · ROWE · Creado por CultureRx.

Dirigir un equipo distribuido requiere diferentes habilidades y mentalidad. He cubierto los principales problemas de los equipos remotos en la respuesta de Mario Peshev a ¿Cuáles son los problemas de comunicación que enfrentan los equipos remotos? y algunos recursos para una cultura de equipo distribuido para gerentes y propietarios de empresas en la respuesta de Mario Peshev a ¿Cómo puedo aprender a administrar un equipo microdistribuido y expandir lentamente mi empresa en línea?

La subcontratación no necesariamente significa mano de obra barata. Los buenos ingenieros de software son extremadamente difíciles de encontrar. Silicon Valley es el hogar de docenas de gigantes de miles de millones de dólares que buscan miles de los mejores ingenieros locales. Algunos proporcionan salarios ridículos y una larga lista de beneficios de la compañía (piense en el lugar de trabajo y las ventajas de Google). Un estudio de investigación reciente en Europa afirma que hay 900,000 ofertas de trabajo abiertas para el talento de las TIC en Europa debido a la falta de expertos locales o personas dispuestas a reubicarse.

Hay muchos más solicitantes de empleo que ingenieros. Las universidades rara vez producen estudiantes experimentados o desarrolladores junior listos para trabajar. Y las grandes corporaciones contratan lo mejor de lo mejor, a excepción del grupo que se dedica a consultar o fundar startups.

Un modelo distribuido permite contratar expertos en todo el mundo. Los ingenieros motivados y experimentados pueden vivir en ciudades más pequeñas, pueblos o lugares exóticos, así como en áreas densamente pobladas de Asia o África. Con una población de 7 mil millones de personas en la Tierra que limita a 0.1% o menos de ese grupo (usando un área con una población de 7 millones de personas como ejemplo) es estadísticamente irrazonable, dada la competencia, los salarios locales y la cantidad de tiempo requerido para realizar actividades locales. entrevistas

Los fundadores y gerentes no experimentados no están calificados o no tienen procesos establecidos para buscar, entrevistar, evaluar y contratar personal remoto. Las empresas exitosas que emplean el modelo de trabajo remoto han establecido esos procesos y pueden encontrar el mejor talento en todo el mundo, medir su productividad, mantenerlos responsables y motivados en todo momento sin interrumpir el estilo de trabajo o la productividad de la empresa. Si lo piensa, muy pocas empresas o marcas internacionales tienen solo una de sus oficinas centrales en una sola ciudad. Poseen y operan oficinas en todo el mundo, con diferentes equipos responsables de diferentes aspectos de sus negocios. Por otro lado, muchas startups también funcionan de forma remota por varias razones.

Con soluciones de software confiables para la gestión de proyectos y equipos, colaboración de equipos y control de versiones, así como diversas integraciones de terceros para equipos remotos, trajes de oficina en línea y más, la subcontratación ya se ha integrado con éxito en decenas de miles de empresas, y está obteniendo más y más popular a diario.

Hay varias razones para esto.

¿Por qué las empresas se molestan en pagar salarios de seis cifras a los desarrolladores locales cuando pueden contratar desarrolladores offshore por una fracción de eso?

Aquí algunos de ellos.

1) Cuando el dinero está disponible en abundancia

Fuente de la imagen: http://Flickr.com/ Money

No todas las empresas necesitan ahorrar en costos de desarrollo de software. Las compañías como Google o Microsoft no necesariamente necesitan externalizar su desarrollo de software al sur de Asia o en otro lugar para ahorrar costos.

Pueden contratar fácilmente recursos locales que continúan desarrollando sus soluciones de software.

Microsoft, por ejemplo, gana alrededor de 150 dólares estadounidenses por cada venta de un sistema operativo. Producir este sistema operativo adicional no cuesta casi nada, ya que solo pueden copiarlo, pegarlo en un CD o ponerlo a disposición mediante descarga.

Esto les da la ventaja de contratar en casi todos los puntos de precio.

2) Cuando los principales desarrolladores son la clave del éxito

Para crear excelentes soluciones como Quora o Gmail, necesita excelentes desarrolladores de software. Por lo general, los desarrolladores mediocres no harán el trabajo. Podría contratar desarrolladores mediocres por cientos de miles y no obtendría una buena solución.

El 1 por ciento superior de desarrolladores marcará la diferencia entre ganar y fracasar.

No estoy diciendo que solo hay desarrolladores mediocres en ubicaciones offshore, pero hay otra razón para contratar localmente para obtener los mejores desarrolladores:

3) Cuando el tiempo es crítico

Una startup en Silicon Valley podría no querer iniciar una ubicación en alta mar en India o China. Su tarea principal será escalar rápidamente, construir un buen producto mínimo viable y recaudar más fondos.

Uber, por ejemplo, recibió miles de millones (sí, con una “B”) en financiación. La razón principal para obtener tanta financiación fue porque necesitaban ser rápidos.

Encontrar desarrolladores en el extranjero o simplemente comprender las diferencias culturales puede llevar mucho tiempo. Por lo tanto, dado que de todos modos están recibiendo una gran cantidad de fondos (ver punto uno “Cuando el dinero está disponible en abundancia”), la contratación de seis cifras podría no ser un problema.

Esto también se vincula con el segundo punto en esta respuesta. También hay desarrolladores destacados en India, China y Rusia, pero podría llevar más tiempo encontrarlos debido a la falta de comprensión cultural. ( Por supuesto, en este caso, supongo que la empresa o startup que está contratando se encuentra en algún país occidental. Una empresa india, por ejemplo, pagaría seis cifras a un desarrollador indio cuando el momento es crítico y evitaría contratar a los EE. UU. / en el extranjero )

4) Cuando se requiere proximidad

La mayoría de las principales compañías de automóviles de primer nivel tienen su sede en países occidentales.

Ahora, si desea escribir un software para probar la velocidad del automóvil o para medir su nivel de ruido, tiene sentido estar cerca del producto terminado (en este caso, el automóvil).

Por lo general, necesitan crear un software, que se integrará en algún dispositivo, que luego se conecta directamente al automóvil, para obtener la mejor medición.

Esto es sólo un ejemplo.

Otro ejemplo sería la implementación de un nuevo sistema ERP en un banco. ¿Por qué el banco debería ahorrar dinero en la implementación, cuando un día de falla del sistema podría costarles cientos de millones de dólares estadounidenses? En este caso, gastar un poco más es dinero bien gastado. Además, los desarrolladores estarán cerca para resolver el problema rápidamente. No desea que un CIO desesperado llame a India para solucionar problemas tan críticos.

5) Cuando se necesita consultoría de alto nivel

Si desea brindar consultoría de alto nivel sobre soluciones de software, siempre es recomendable tener a alguien sentado a su lado, que pueda guiarlo y darle sugerencias.

Especialmente los CIO / CEO’s / Vicepresidentes / Gerentes de nivel superior, etc., no necesitan ahorrar el 50 por ciento del costo de dichos servicios de consultoría. La consulta en este caso no es sensible al precio.

Esto concluye la primera parte de mi respuesta a su primera pregunta.


¿Los desarrolladores offshore son menos capaces?

Buena pregunta.

Aquí mis observaciones:

Número absoluto de buenos desarrolladores versus porcentaje de buenos desarrolladores

Encontrará muchos más desarrolladores de software, por ejemplo, en el Reino Unido. Yo diría firmemente que el porcentaje de buenos desarrolladores será mucho mayor en el Reino Unido.

Ejemplo: supongamos que tiene 200’000 (doscientos mil) desarrolladores de software en el Reino Unido, y el 35 por ciento son expertos de primer nivel en lo que hacen, entonces tendría 70’000 de esos buenos desarrolladores.

Compare eso con India: tendría alrededor de 5’000′000 (cinco millones) de desarrolladores de software en India, pero solo el 15 por ciento son realmente de primera categoría. Entonces tendría “solo” 750’000 buenos desarrolladores allí.

Entonces, aunque en términos de porcentaje, los desarrolladores del Reino Unido son mejores, el número absoluto de buenos desarrolladores es mucho mayor en India (casi 10 veces mayor, según mi cálculo, que no está respaldado por datos estadísticos).

Es complicado

Se acabaron los tiempos, donde se podría decir, que un desarrollador en el oeste es superior a un desarrollador en la India [ingrese a cualquier país para el caso].

Como mencioné en el punto anterior, el porcentaje de buenos desarrolladores es menor en India / destinos en alta mar. Aquí algunas razones para eso:

  • a) Disponibilidad de industrias: durante mucho tiempo, la mayoría de las empresas manufactureras y empresas de servicios exitosas se asentaron en el oeste. Por lo tanto, era difícil para los desarrolladores indios / offshore adquirir habilidades, que abundaban en los países occidentales. Esto ha cambiado ahora, ya que los desarrolladores en destinos offshore pueden trabajar en cualquier lugar, a través de conexiones remotas. Todavía el proceso de recuperación continúa.
  • b) Instituciones educativas: se puede encontrar un escenario similar con las instituciones educativas. Durante mucho tiempo, estas instituciones fueron muy inferiores a sus contrapartes occidentales. Esto ha cambiado ahora, en muchas instituciones en Asia / en ubicaciones offshore. El proceso de recuperación aún continúa. Pero siempre tenga en cuenta los números de porcentaje versus los números absolutos.

Mi observación es que hoy en día encontrarás desarrolladores de primer nivel en cualquier parte del mundo. Ya no hay una ubicación geográfica para eso. Pero, por supuesto, debido a razones históricas, tendrá grupos de conocimiento más grandes en lugares de Occidente (Silicon Valley, Europa Central, Escandinavia, etc.).


¿Es un problema de comunicación?

En el extremo inferior del desarrollo (bajas tarifas por hora) este es definitivamente el caso. Si está listo para pagar una cantidad decente de efectivo, entonces la comunicación no es un problema en absoluto con el desarrollo offshore.


¿El rendimiento de un desarrollador offshore típico aumentaría drásticamente si le otorgara una visa H1B para trabajar localmente?

Si alguien se muda de la ubicación de India a la de EE. UU. Y de repente recibe 5 veces el salario que recibió inicialmente, eso no puede explicarse por un aumento dramático en el rendimiento.

El rendimiento seguirá siendo el mismo.

Por lo general, seleccionarán personas en ubicaciones en alta mar, que ya tienen un alto rendimiento, que puede igualar el rendimiento de sus contrapartes en el oeste.

Fuente de la imagen: http://Flickr.com/ ¡ Bienvenido Shreeya Gangwal a Invo!

Las razones del salario mucho más alto (creo que la parte del salario más alto es a lo que se enfrenta con su pregunta) debe buscarse en otros lugares:

  • a) Diferencias monetarias: un dólar es, por ejemplo, mucho más fuerte que casi todas las monedas de los países en desarrollo. Entonces, solo por ese hecho, su salario aumentaría si se mudara a otro país.
  • b) Efectivo dentro del país: Históricamente, los Estados Unidos son mucho más ricos que las naciones en desarrollo, por lo tanto, los niveles salariales ya son más altos allí.
  • c) Oferta y demanda: la oferta y la demanda de los desarrolladores de software es tal que el precio (los salarios) son altos, porque la cantidad de desarrolladores no puede satisfacer la demanda (número de empleos disponibles). Por lo tanto, un empleador estadounidense tiene que pagar mucho más para obtener un buen desarrollador.
  • d) Proteccionismo: Estados Unidos está altamente protegido por regulaciones y otros medios. Tienen el ejército más grande del mundo y mantienen a las personas no deseadas fuera del país. Por lo tanto, existe una gran disparidad en la riqueza, que en este caso reside en grandes cantidades en los Estados Unidos.
  • e) Reglas y regulaciones: si desea otorgar una visa H1B a un desarrollador del extranjero, debe pagar un nivel mínimo de salario. No estoy seguro de cuánto es eso, pero supongo que es alrededor de 70 000 (setenta mil) dólares estadounidenses por año.

La razón por la cual las empresas contratan personas a través de la visa H1B se responde en la primera parte de esta respuesta (los cinco puntos).


Gracias también por la respuesta de Mario Peshev. Muy interesante.

Aquí algunas preguntas similares sobre Quora:

  1. ¿Por qué no todos usan el desarrollo offshore?
  2. Outsourcing: ¿Cuáles son sus mayores preocupaciones con el desarrollo offshore?

Si esta respuesta te ayudó, amablemente vota 🙂

Saludos cordiales

Sascha Thattil

CEO y Project Manager en Software-Developer-India.com

Descargo de responsabilidad: Dirijo una empresa de outsourcing offshore, por lo que mi respuesta podría verse influenciada por esto.

Porque es un gran desafío.

Muchas compañías subestiman lo que se necesita para cambiar a un modelo de deslocalización.

En busca de una victoria rápida aquí, te estrellas contra la pared.

Aquí hay algunos desafíos al iniciar un equipo offshore:

  • Simplemente encontrar los recursos puede ser un trabajo muy duro. No todos los países offshore tienen la misma calidad de recursos disponibles. Piense en muchas entrevistas, eliminando los recursos de menor calidad, para encontrar los recursos que necesita. Puede ser como encontrar una aguja en un pajar.
  • Alta rotación. Imagine que los empleados permanecen en su empresa durante un año en promedio, y luego se van. ¿Cómo va a retener su conocimiento y experiencia con una rotación tan alta? Cuenta para una mayor rotación de empleados en países offshore.
  • Diferencias culturales. Tu jefe está equivocado, ¿qué haces? Solo le dices, ¿verdad? El éxito de la compañía triunfa sobre la jerarquía. Quizás en Silicon Valley esta es la mentalidad, pero no extrapoles esta forma de pensar al resto del mundo.
  • Problemas de confianza. Fuera de la vista, fuera del corazón. Simplemente tendemos a confiar en alguien menos que no vemos o hablamos en la vida real. Los equipos separados tienen una tendencia natural a degradarse en silos. Para que la deslocalización funcione, se requiere un esfuerzo continuo para retener y aumentar la confianza.
  • Diferencia horaria. Es de mañana, reunámonos con nuestros desarrolladores offshore. Vaya, no puedes. Es de noche y están saliendo.
  • Comunicación remota Nunca he visto un documento de requisitos fluir hacia el desarrollo y ser convertido en una maravillosa pieza de software. Para hacerlo, se requiere una interacción continua, humana, cara a cara e intensiva. El 80% de toda la comunicación es lenguaje corporal, usted pierde al menos el 60% debido al bajo ancho de banda, la baja resolución y las llamadas de conferencia propensas a errores.
  • Idioma. Al interactuar con desarrolladores offshore, es muy probable que esté utilizando otro idioma que no sea su lengua materna. Agregue algunos acentos a eso y una mala conexión a Internet. Simplemente entender las palabras de los demás es un desafío en sí mismo. Ahora hable sobre cuestiones técnicas o diseños funcionales complejos. Buena suerte.

¿Por qué no todas las empresas van a deslocalizar?

Debido a los desafíos mencionados anteriormente, las empresas piensan dos veces antes de dar el salto. Elegir la deslocalización significa elegir un esfuerzo enorme, costoso, arriesgado y a largo plazo, cuyo resultado es incierto. La deslocalización puede funcionar y cuando lo hace es algo hermoso, pero no es gratis. Es literalmente “sangre, sudor y lágrimas”.

Hay costos en todo, incluso en ahorrar dinero. Existen zonas horarias y dificultades de comunicación, necesita VPN para acceder o alojar todo en la nube en algún lugar. Debe estar configurado para trabajar con desarrolladores remotos o desarrolladores offshore.

En primer lugar, cometes el error que MUCHOS gerentes usan: los desarrolladores de software son piezas intercambiables de un rompecabezas. Ellos no están. Son humanos individuales y están haciendo un trabajo profundo al pensar en el diseño y desarrollo de software. Sus conocimientos, habilidades, antecedentes, capacidad para trabajar con personas, etc. Sí, incluso las habilidades de comunicación, son todas diferentes.

Hay grandes desarrolladores offshore y grandes desarrolladores locales tanto. Pero un buen desarrollador es difícil de encontrar. Una cosa peor que trabajar con un desarrollador promedio (o malo) localmente es trabajar con un desarrollador promedio o malo en otro país y zona horaria con todas las complicaciones que pueden involucrar,

Seis cifras son para los buenos desarrolladores. Y todavía hay muchos gerentes y otros ingenieros que prefieren trabajar con alguien que pueden ver en la oficina.

(Además, el término “desarrollador offshore” es bastante central para saber dónde está la costa. Por lo general, eso se usa para referirse a offshore de los EE. UU., Oa veces a países de Europa occidental. Eso me parece bastante colonialista, ¿no? con algo mejor.)

Es por eso que el “desarrollo remoto” está sucediendo cada vez más. Siempre que vaya a configurar para trabajar con desarrolladores offshore, no es un esfuerzo adicional real trabajar con desarrolladores remotos. Una empresa trabajará con desarrolladores en muchas áreas, no solo locales o “offshore”. Esto puede funcionar bastante bien ya que la empresa puede contratar (o a menudo contratar) en cualquier lugar donde encuentre un buen desarrollador. Su grupo de trabajo es ahora el mundo. (En la práctica, puede ser más limitado, en mi empresa lo limitamos a + – 5 zonas horarias para permitir una superposición de tiempo suficiente). Requiere algunos enfoques diferentes para trabajar tanto por parte de la empresa como del desarrollador. Pero puede ser muy gratificante para ambas partes.

En muchos sentidos, la respuesta es bastante simple, pero hay muchas sutilezas.

La primera constatación es que la diferencia entre un ingeniero de software del percentil 90 y un ingeniero del percentil 50 es tremenda, y la diferencia entre un desarrollador del percentil 99 y un desarrollador del percentil 90 es casi la misma que entre el 90 y el 50. Nos guste o no, la ingeniería de software está poblada por muchas personas que pueden seguir los pasos de lo que han hecho otros, pero pocos pueden forjar nuevos caminos. Lo que esto significa es que en el extremo superior de la habilidad, la calidad tiene un impacto considerablemente mayor que la cantidad. Literalmente, una idea importante puede evitar meses de trabajo de muchos ingenieros “promedio”. Acumula algunas de esas ideas, y el desarrollador de 6 cifras puede parecer una ganga.

Ahora, esto no quiere decir que no haya ejemplos de desarrolladores de software en el extranjero, pero rara vez son los que obtienes si estás contratando un desarrollo barato desde muy lejos. Una empresa simplemente nunca debe externalizar por completo una función comercial competitiva crítica. Si el negocio de la empresa está posicionado centralmente en torno al software, debe contar con recursos para administrar y dirigir el trabajo que forma parte de la empresa y compartir la visión de la empresa, y tener incentivos para ver que la empresa tenga éxito. Un contratista, en tierra o en alta mar, está motivado para que su negocio tenga éxito: el éxito de su negocio es un medio para ese fin, pero siempre es secundario.

En mi trabajo con recursos extraterritoriales, que es considerable, la calidad del trabajo que obtienes varía ampliamente. Sin una supervisión y orientación adecuadas, no hay negociación con el desarrollo offshore a menos que sus necesidades sean bastante básicas y sin problemas: problemas con los cortadores de galletas. El arreglo más efectivo para usar recursos offshore para cualquier cosa más exigente que los problemas de los cortadores de galletas parece ser tener un recurso onshore del equipo offshore por cada seis a diez desarrolladores offshore. Esto puede ser bastante efectivo, especialmente cuando el equipo en alta mar cambia de ocho a 16 horas. El recurso en tierra trabaja con los desarrolladores en tierra de “6 cifras” para definir y organizar la parte del trabajo que luego se transmite al equipo en alta mar. Esto no solo proporciona una continuidad de control sobre el trabajo realizado, sino que también da como resultado dos turnos por día, lo que puede reducir drásticamente los plazos.

El desarrollo de software no requiere mano de obra, la mano de obra se define como una actividad monótona realizada durante horas prolongadas que no requieren ninguna actividad creativa. En cambio, el desarrollo de software requiere mucha creatividad, comprensión de conceptos y visualización del panorama general cuando no hay nada que visualizar. Estas cualidades son difíciles de encontrar en países con menores costos laborales.

Las únicas actividades que se subcontratan con éxito son trabajos monótonos y repetitivos como contestar llamadas telefónicas, transcripción, pruebas, migración y mantenimiento, etc., que son poco difíciles para los robots y los programas de inteligencia artificial, pero más fáciles para los humanos con habilidades de educación inferior.

Soy de India y una gran población educada está en TI, pero muy pocos de ellos pueden programar y hacer algo útil. La mayoría de los programadores ni siquiera pueden distinguir conceptualmente entre la pila y la cola y ni siquiera han utilizado estructuras de datos básicas. H1B solo se ofrece a desarrolladores poco cualificados y creativos, no a todos.

Una menor mano de obra también implica una menor calidad de vida, por lo tanto, tienen más problemas para lidiar con su propia vida para desempeñarse mejor. Si uno tuviera una mejor calidad de vida, no estaría interesado en ser mano de obra para nadie, ya sea Estados Unidos o cualquier otro país.

Volviendo a su primera pregunta, es muy fácil pagar un salario de seis cifras al empleado local que es capaz en lugar de desperdiciar la subcontratación de seis cifras a 10 empleados y ese equipo de 10 empleados no puede hacer nada bien.

Porque no siempre se trata del dinero . Claro que ayuda a las startups a ahorrar (sí, tal como lo notó, los salarios de los desarrolladores son diferentes, dependiendo de dónde se encuentren), pero no es su única ventaja.

Hay muchas otras motivaciones que respaldan las decisiones de subcontratar: problemas con la disponibilidad de especialistas (especialmente cuando necesita un equipo completo o desarrolladores de una experiencia limitada, y los necesita rápidamente), falta de conocimiento técnico, falta de know-how empresarial (cómo gestionar el equipo, cómo preparar los requisitos, etc.) y muchos más. E incluso si la principal motivación es el dinero, elegir un socio de outsourcing confiable nunca debería limitarse a comparar estimaciones de precios.

Tenga en cuenta que los países que ofrecen la más alta calidad de servicios de desarrollo de software no son necesariamente los más baratos. India, Filipinas o Pakistán, que son conocidos por sus bajos precios, no son los mejores del rango:

¡Y estamos hablando solo de las habilidades técnicas!

Por otro lado, si observa detenidamente la tabla presentada, notará que ni los Estados Unidos, ni Canadá ni el Reino Unido están en la cima. Por lo tanto, puedo hacer una pregunta diferente: ¿por qué no todo el desarrollo de software se subcontrata a países con menores costos laborales y mayores habilidades? Pero, para ser sincero, incluso a mí me parece una tontería: quién trabaja en una empresa de software que desarrolla software para empresas de todo el mundo y quién es un gran entusiasta de la idea de la subcontratación. La clave es la palabra “todos”. Como hay muchas razones o motivaciones para subcontratar, ni el precio ni la calidad pueden convencer a todos.

Respondiendo a su última pregunta: No creo que el rendimiento de un desarrollador offshore típico aumente drásticamente si le otorga una visa H1B para trabajar localmente. Probablemente aumentaría después de pasar algún tiempo trabajando con los desarrolladores más calificados. Pero no diría que es un “aumento dramático”, es solo un proceso natural del desarrollo personal que sucede cuando tenemos la oportunidad de trabajar con alguien cuyas habilidades son más altas que las nuestras.

Es cierto, las empresas pueden encontrar desarrolladores talentosos en el extranjero, a un precio más barato. Aquí en la ruta escalable (descargo de responsabilidad: soy el fundador aquí) estamos realmente en el negocio de ayudar a las empresas a hacer precisamente esto, conectándolos con nuestra red de 2500 talentos tecnológicos premium de todo el mundo.

Sin embargo, existen desafíos y riesgos únicos relacionados con la contratación de desarrolladores en el extranjero, como:

Brechas de comunicación: los desarrolladores que trabajan en diferentes zonas horarias en diferentes países pueden limitar los tiempos de comunicación, lo que puede generar una sobrecarga innecesaria. Además, comunicarse con personas en diferentes países puede conducir a problemas de comunicación y retrasos en los proyectos.

No familiarizado con el mercado: los desarrolladores de diferentes países y culturas pueden tener más problemas para comprender el mercado local y la audiencia. Es más fácil para un desarrollador ser efectivo si sus experiencias residen en el país en el que trabaja.

Control manual: generalmente se requieren más bucles de retroalimentación para los ingenieros en los mercados emergentes. Un montón de ida y vuelta puede conducir a una falta de comunicación. Especialmente si no ha presentado directrices y documentación sólidas del proyecto.

Por estas razones, siempre habrá empresas dispuestas a pagar un precio superior para los desarrolladores con sede en los EE. UU. Además, muchas empresas (incluyéndonos a nosotros) contratan desarrolladores premium y altamente experimentados con sede en los Estados Unidos para liderar proyectos y administrar equipos de desarrolladores en el extranjero , para mitigar los riesgos anteriores.

Estos líderes de desarrollo (como los llamamos) actúan como el punto de contacto para el cliente. Entienden el mercado, la audiencia y mantienen la visión del producto. Mantienen los proyectos transparentes, puntuales, en curso y de alta calidad. Un líder de producto con mentalidad empresarial aumenta las posibilidades de éxito de un proyecto.

El rol del líder generalmente incluye:

  • Arquitecto técnico que actúa como un puente entre clientes o propietarios de productos y desarrolladores extranjeros. A menudo desarrolla proyectos desde la etapa conceptual hasta el sprint final. Ayudan al cliente a crear estrategias, encontrar soluciones, planificar, presupuestar y ejecutar productos.
  • Son Certified Scrum Masters (CSM) que dirigen y gestionan proyectos utilizando la metodología Agile.
  • Seleccionan personalmente a cada desarrollador extranjero para unirse al proyecto y son responsables de su idoneidad y productividad.
  • Mantienen la visión del producto y comprenden a los usuarios del producto, así como a las necesidades comerciales que el producto satisface.

Mientras continúe la tendencia de subcontratar desarrolladores en el extranjero, habrá una demanda de desarrolladores experimentados con sede en los EE. UU. Para liderarlos. Para cumplir con este rol, recomiendo trabajar en lo siguiente:

Agudice la mente y conviértase en un desarrollador talentoso: para dirigir un equipo necesitará tener habilidades técnicas amplias y profundas. Esto ayuda a elegir la tecnología adecuada para cada situación y producto. Así que trabaje en sus habilidades de codificación y trabaje en proyectos variados. Con la accesibilidad a los cursos en línea, no tiene que ir a la escuela para convertirse en un gran desarrollador. Sin embargo, muchos programadores excelentes fueron a buenas escuelas y se especializaron en informática. Obtener un título en ciencias de la computación ayuda a comprender mejor la arquitectura y le brinda una perspectiva holística del mundo de la programación de computadoras. Estar sincronizado con lo último en tecnología ayuda a mantenerse actualizado. Lea muchos artículos y blogs sobre las últimas tendencias en tecnología, pruebe nuevos juguetes durante su tiempo libre, siga comunidades, asista a conferencias y agregue valor a la comunidad escribiendo.

Sigue a tu corazón: hacer cosas que te apasionen automáticamente te ayudará a mejorar. Los mejores programadores son curiosos, les encanta construir cosas y les encanta el impacto que la tecnología tiene en el mundo. Le ayudará a ser más creativo y adquirir habilidades en todos los ámbitos.

Conviértase en un Scrum Master Certificado y Arquitecto de Software : Muchas empresas, como nosotros, requieren que el líder del proyecto sea Certified Scrum Masters. Es un curso de dos días y aprenderá cómo usar Scrum correctamente en la práctica.

Creo que tomar la decisión de externalizar podría generar algunas preocupaciones. Tenga en cuenta que ahorrar dinero no siempre es el problema más importante, especialmente si arriesga la propiedad intelectual de su empresa.

La primera preocupación podría ser el hecho de que al subcontratar el desarrollo de software usted tiene menos control sobre él.

Además, debe tener más cuidado con la seguridad de sus datos , especialmente si decide cooperar con empresas de India o China, donde la ley de protección de datos no es tan estricta como en Europa.

Otra preocupación podría ser la falta de buena comunicación . A veces es muy difícil encontrar un terreno común con personas que están ubicadas hasta ahora, donde hay una zona horaria diferente, horas de trabajo y … una cultura . Podría ser otro obstáculo para conquistar. Antes de cooperar con personas extranjeras, debe leer más sobre sus hábitos culturales para evitar errores.

Si desea obtener más detalles sobre los pros y los contras de ambos enfoques: la contratación externa y la contratación de sus propios desarrolladores, eche un vistazo a Una pequeña guía para contratar o externalizar.

He tenido mi parte justa de la subcontratación a muchos países / culturas diferentes

Todo falló miserablemente

¿Por qué podrías preguntar?

  • no hay seguimientos regulares (esto es culpa de la propia empresa, no de quién lo hace realmente)
  • los objetivos no se cumplen debido a “inserte razones estúpidas aquí”
  • Por lo general, la compañía offshore realizó algún tipo de presupuesto insuficiente y tuvo que cortar esquinas para cumplir con los plazos.
  • barrera del idioma (para los que no hablan inglés, esto se traduce en traducción al inglés y, por otro lado, lo traducen al idioma nativo). Algo se perderá en esos pasos de traducción. Y no todo el inglés es tan bueno (ni siquiera en desarrollo)
  • tienen otra interpretación de lo que tenías en mente
  • problemas culturales / de zona horaria
  • generalmente la respuesta es “sí podemos”, que no siempre es la respuesta correcta

Si planea deslocalizar algunas cosas, asegúrese de hacer lo siguiente

  • tener un muy buen análisis + uml
  • si necesita una interfaz GUI, dibuje las pantallas sobre cómo deben verse y describa qué debe hacer cada acción
  • hacer un plan de desarrollo: primero necesitamos la parte A, luego necesitamos la parte B y luego necesitamos C
  • hacer revisiones de código cada semana
  • hacer algunas pruebas automatizadas y tener pruebas unitarias
  • asegúrese de que todas las funciones / variables tengan nombres significativos en inglés para que todos puedan entender lo que hace una función / variable
  • ha comentado el código
  • asegúrese de que la base de código se pueda mantener después del cambio
  • más barato o más caro no siempre es mejor
  • manténgase alejado de las grandes empresas de outsourcing, ya que estas tienen una alta rotación de personal. Una empresa más pequeña generalmente funciona mejor (mi opinión)
  • Si se trata de un compromiso a largo plazo, haga algunas visitas para discutir problemas y hacer un chequeo. Reunirse en persona en lugar de por Skype puede hacer las cosas

Si este es un gran proyecto, puede ahorrar dinero. Si se trata de un proyecto pequeño y mediano, en realidad está pasando más tiempo haciendo lo anterior y luego haciéndolo usted mismo

Y la gran pregunta al final es, ¿realmente ahorró algo de dinero y está contento con el resultado?

No es que nunca lo haya visto tener éxito, no funciona. Pero siempre puedes intentarlo. Si falla, perdió un tiempo valioso, y le costará mucho más rehacerlo, y luego también tendrá que calcular el tiempo perdido. Si funciona, has ahorrado algo de dinero.

Aquí hay otro ángulo que no he visto en las otras respuestas, pero que he experimentado al trabajar con empresas de desarrollo offshore … La baja calidad puede provenir de una mezcla de prácticas comerciales offshore con el deseo individual de los trabajadores de ascender en la escala para indicar su éxito. Esto deja que los desarrolladores menos experimentados y / o talentosos hagan todo el trabajo.

Al intentar entregar el costo más bajo (la carrera hacia el fondo), las compañías offshore a menudo ofrecen programadores que se han graduado recientemente de la Universidad. No tienen experiencia y funcionan a muy bajo costo.

A medida que estos ingenieros de software adquieren experiencia, si son talentosos, a menudo ascenderán en la escala corporativa hacia la administración. Esto evita que los talentosos desarrolladores realicen el desarrollo, solo para ser reemplazados por otro recién graduado. Incluso un desarrollador que disfruta de la codificación puede verse tentado a dejarlo atrás para pasar a la administración debido al logro percibido que proporciona el puesto.

El grupo de desarrolladores sigue siendo inexperto y barato, y la calidad del trabajo lo refleja. Esto alimenta el tiempo extra que debe gastarse localmente en la gestión, comunicación y limpieza de problemas.

Basado en mi experiencia trabajando en una oficina offshore en Líbano y colaborando con otras oficinas de outsourcing en China, India y Argentina, aquí están las dificultades con offshore y outsourcing para países más baratos.

  • No tienen el grupo de talento adecuado. Es posible externalizar el trabajo trivial, pero una vez que se trata de software que crea valores, muy pocos pueden manejarlo.
  • Hay una diferencia en la cultura, la mayoría de los países de outsourcing carecen de la cultura de la responsabilidad y la rendición de cuentas. Por lo tanto, los entregables no son de alto nivel
  • Una vez que las empresas de outsourcing hayan capacitado buenos recursos, se volverán costosos y, por lo tanto, no será rentable mantenerlos a menos que un buen senior pueda trabajar con más de 5 desarrolladores promedio
  • Muy pocas oficinas de outsourcing piensan a largo plazo, muchas de ellas buscan los trabajos exitosos y específicos y en la región MENA se centran en los proyectos de medios que requieren mucha menos habilidad y calidad y el rendimiento es mayor.

Por lo tanto, la mala calidad de la salida y el proceso de ping-pong (iteración a través de la entrega de código, prueba, el cliente se frustra, pide arreglar) hará que el costo sea aún más alto que en los EE. UU., Además del tiempo y la frustración.

Una solución que vi que funciona bien es tener una sucursal para la empresa de outsourcing en los Estados Unidos con un equipo de consultores que se enfrente al cliente de los EE. UU.

Nota: Vi una muy buena calidad en Europa del Este, principalmente Rusia y Ucrania, y algunas oficinas tienen muy buen nivel de experiencia.

Un amigo mío acuñó un término que siempre me gustó:
Outsourcing: ¿Una forma más barata de fallar?

En general, si no puede crear software en casa, no funcionará ir a 12 zonas horarias. Pero al menos es una forma más barata de fallar.

Para trabajar con equipos remotos, debes ser realmente bueno para saber cómo guiar, nutrir y producir software de alta calidad. O estar dispuesto a volver a producir dicho software cada pocos años porque era de baja calidad. Con los deltas de zona horaria, los deltas de idioma / cultura vienen desafíos adicionales que deben superarse mediante un mejor proceso y atención.

Muchas veces veo a muchas personas marginalmente competentes, pero de bajo costo, arrojadas al problema. Termina costando más debido a la sobrecarga administrativa adicional, el recuento de personal adicional y las habilidades más bajas.

A principios de la década de 2000, teníamos un gran equipo de desarrolladores en San Petersburgo, RU y Praga, CZ. Súper, súper inteligente. Y menor costo. ¿Mencioné super inteligente? Viajé allí durante dos semanas al mes, y pateamos traseros. Construimos cosas súper increíbles (TogetherSoft ControlCenter y algunos productos que nunca salieron de la versión beta antes de que Borland nos comprara).

El éxito en el software se trata de personas, procesos y herramientas, en ese orden.

Por lo tanto, si no puede obtener un buen equipo para entregar software localmente, también podría tratar de encontrar equipos subcontratados menos costosos. No puedes hacer nada peor, ¿verdad?

Esta no es una respuesta terriblemente completa, pero ya hay mucha información buena sobre esta pregunta, así que agregaré un comentario más que no estoy viendo en ningún otro lado:

Cuando contrata ingenieros de software, el problema rara vez es de volumen . Hay asombrosamente pocos problemas de programación que se benefician al lanzarles a cientos o miles de desarrolladores; en su mayoría, necesita personas específicas con habilidades particulares. Necesita familiarizarse con su base de código existente (que rara vez puede comprar por cualquier cantidad de dinero en cualquier país del mundo), necesita personas que codifiquen de una manera particular que esté de acuerdo con la arquitectura de software de su empresa (lo que requiere ser selectivo). Casi no hay tiempo para que un arquitecto competente mire sus planes para la hoja de ruta del software de una compañía y diga “Ok, ahora solo necesito 100 personas de diferentes habilidades, típicamente desconocidas, ¡y estaremos listos!” Así es como funciona ahora.

Si lo que necesita son muchos codificadores , personas que toman una tarea bien definida y la convierten en código, puede obtenerla con cierto grado de facilidad. El problema con el outsourcing en el extranjero es que agrega gastos generales, y una vez que haya especificado el código en un diseño por nivel de contrato, su arquitecto o gerente de software senior a menudo podría escribirlo en el tiempo que toma para cambiarlo a bajo. codificadores de nivel, recuperarlo y controlarlo. Entonces, lo que realmente necesita es un equipo de codificadores de nivel medio que mantiene contratado a largo plazo, pero luego comienza a perder eficiencia de otras maneras. Estás pagando más por ellos. Puede terminar pagando por ellos incluso cuando no se está desarrollando o no está utilizando todo el equipo, que es en parte lo que estaba tratando de evitar en primer lugar.

El proceso de desarrollo de software extremadamente simplificado es que las personas X le dicen a otras personas Y qué decirles a las máquinas que hagan .

Hay tres factores principales de falla en este modelo: las personas X (gerentes, gerentes de producto, arquitectos) pueden cometer errores, las personas Y (programadores) y la comunicación entre las personas X e Y.

La tasa de falla total es un producto de los tres factores (y muchos otros). Por ejemplo, un gerente de éxito del 90% y un programador de éxito del 90% que se comunican con una tasa de éxito del 90% terminarán con un éxito acumulado de 0.9 * 0.9 * 0.9 = 0.729, que es 72.9%

A diferencia de otros tipos de productos y servicios, las tasas de defectos en el software deben ser extremadamente bajas, porque el software está hecho para ser replicado y ejecutado muchas veces. Una tasa de 72.9% sin defectos sería una broma.

El outsourcing perjudica el factor de comunicación de una manera que debe compensarse aumentando la tasa de éxito de los otros factores. En mi ejemplo, si el éxito de la comunicación ha bajado del 90% al 80%, para lograr la misma tasa de éxito del 72.9%, necesitaríamos un gerente del 95.5% y un programador del 95.5%.

La calidad de los gerentes y programadores está disponible como muchas otras cosas: en una distribución normal, por lo que cuanto mayor sea su calidad, más escasa se volverá. En muchos casos, es prácticamente imposible compensar la comunicación defectuosa.

Otros factores importantes que no mencioné anteriormente son la calidad del reclutamiento, la calidad del control de calidad y la comunicación entre gerentes, desarrolladores y control de calidad. Cuando se externaliza, esos otros factores también se ven afectados.

El outsourcing puede ser una buena opción para tipos muy específicos de tareas de desarrollo de software, aquellas en las que la especificación es extremadamente clara y concisa, por lo que se minimizan los efectos de la comunicación subóptima.

La respuesta son las prácticas comerciales del tercer mundo.

Una vez tuve el trabajo de entrevistar a personas provistas por una agencia offshore. Como parte de la entrevista, hago preguntas lógicas. En cada entrevista, el candidato tenía una respuesta perfecta de Wikipedia a todas mis preguntas lógicas anteriores.

Los candidatos eran basura. La agencia Offshore maximizó las ganancias al proporcionar candidatos sin experiencia, entrenándolos con todas las respuestas a la entrevista anterior, y luego tratando de ayudarlos silenciosamente con nuevas preguntas (los candidatos estaban escribiendo en un teclado durante la entrevista, obviamente transmitiendo preguntas que no podían No responda, incluyendo preguntas realmente básicas).

La agencia offshore era muy popular en Londres, ya que aseguraba negocios mediante el pago de grandes sobornos a la alta gerencia, por lo que en realidad no tenían que entregar ningún valor, simplemente se embolsaron la mayoría de las tarifas pagadas por sus “servicios”. Una vez estaba trabajando en una oficina de una compañía diferente, en un proyecto técnico especial para un gerente senior, cuando tuvo una reunión con representantes de esta compañía. Su enfoque fue totalmente descarado: “No creo que haya considerado las ventajas para usted personalmente, [nombre]. Deberíamos tener otra reunión, fuera de la oficina, para que podamos discutir esto más a fondo”. Estoy especulando sobre lo que sucede en las reuniones “externas”, pero creo que la agencia offshore seguramente grabó en video toda la “segunda reunión”, para que pudieran pasar del soborno al chantaje una vez que se hiciera evidente el desastre que eran sus candidatos. .

La agencia, naturalmente, se hartó de mí rechazando a sus candidatos basura. Intentaron engañarme, alegar que estaba rechazando a sus candidatos porque era racista. Afortunadamente, uno de los suyos, con un riesgo considerable para sí mismo (después de todo, trabajaba para delincuentes), me informó de lo que estaba sucediendo.

No estoy sugiriendo que todas las empresas de tercerización del tercer mundo sean así. Algunas empresas están dirigidas por buenas personas, como la persona que me avisó. Pero corre un riesgo terriblemente alto de golpear una de las malas experiencias, si intenta externalizar al tercer mundo. Y buenas compañías, que ganan una buena reputación. Dudo que las compañías dirigidas por delincuentes simplemente se mantengan al margen y vean cómo las buenas compañías se llevan todos sus negocios. En los países del tercer mundo sin ley en los que operan agencias de subcontratación de bajo costo, ninguna buena acción queda sin castigo. Los delincuentes tienen la ventaja: saben a dónde van sus hijos a la escuela.

Dirijo una compañía global de desarrollo web que está compuesta por desarrolladores 100% remotos de más de 25 países. Se llama X-Team: desarrolladores de confianza, listos para entregar – X-Team

¡Hay tanto que va a responder esto! Mucho de esto se reduce a la confianza.

  • oDesk, Elance, etc. no ayudó a crear una buena reputación por trabajar con ingenieros de forma remota.
  • El número de desarrolladores extraordinarios en todo el mundo es pequeño, por lo que cuando empiezas a buscar por tu cuenta, a menos que sepas cómo evaluar a un desarrollador adecuadamente, es probable que trabajes con alguien con poca comunicación, mala comprensión de las expectativas, malas habilidades, ¡Lo curioso es que terminas con esto cuando contratas localmente también, pero por alguna razón es más pecado si lo haces de forma remota!
  • Por lo general, decirle a su jefe “Paguemos $ 10 / hora por nuestro desarrollo de software” no da como resultado “¡Oh, genial, eso irá bien!” Los gerentes de desarrollo quieren gastar el precio de mercado para poder dormir por la noche sabiendo que los desarrolladores de calidad están trabajando para ellos. Irónicamente, alguien a $ 90 / hora puede ser increíblemente inferior a alguien a $ 10 / hora en otras partes del mundo.

La lista continua. Entonces tienes gente como esta: Ciudadanos contra trabajadores remotos

La única respuesta lógica a esta pregunta es: contrata a las personas que evalúas y calificas como perfectas para tu equipo, independientemente de dónde vivan, y paga en función de su valor para tu equipo.

Eso es todo al respecto. Si no tiene tiempo para buscar y calificar, nuestro equipo está listo para unirse a su equipo 🙂

En mi experiencia, el 90% del tiempo los desarrolladores subcontratados NO tienen las habilidades requeridas. Las empresas y desarrolladores de outsourcing suelen mentir o exagerar sobre su nivel de habilidad. Son muy engañosos.

Se hace creer a las compañías estadounidenses que pueden reemplazar a un desarrollador que gana 100 mil al año con un desarrollador externo que cuesta $ 25 por hora o menos. Lo que obtienen es un desarrollador con el nivel de experiencia de un interno universitario o algo peor. Sin mencionar la pesadilla logística. VPN, zonas horarias, idioma, etc.

He trabajado con muchas compañías que han intentado subcontratar con gran fanfarria y luego fracasaron en silencio.

¿Por qué no escuchamos sobre los fracasos? Porque a las empresas les gusta hablar sobre el éxito y enterrar los fracasos.

El otro 10% de la contratación externa funciona. Sin embargo, es demasiado caro. En ese caso, ¿por qué molestarse con la pesadilla logística? Solo contrata a estadounidenses.

En todo caso, veo que la marea se aleja de la subcontratación. Bueno, al menos las compañías inteligentes y exitosas se dan cuenta de esto.

La lección aprendida. TIENES LO QUE PAGAS.

porque tienen que pagar al desarrollador local aún más para arreglar el código “barato” después de que se entregue 2 veces tarde y 5 veces por encima del presupuesto (que es más de lo que habría costado hacer localmente para empezar) y eso destruye la competitividad y el costo más al final

Si cree que el costo de mano de obra inicial de escribir el software es la mayor parte del costo, no sabe lo que no sabe. el código se mantiene durante años o décadas a veces, y los sistemas mal concebidos e implementados cuestan 10X o 100X o incluso 1000X más para mantener que el costo de crearlos originalmente. Nuestro código de escritura de abastecimiento es una economía falsa, siempre lo ha sido, siempre lo será porque no hay valor en hacer que las cosas se hagan de manera rápida y correcta por parte de quienes hacen el trabajo, en realidad es lo contrario.

los proveedores externos no trabajan para su empresa, trabajan para su empresa y su empresa gana dinero al hacer que su empresa les pague, siempre está en su mejor interés mantenerlos pagándoles el mayor tiempo posible, incluso si nunca usan nuevamente, siempre tendrán algún otro imbécil cegado por sus codiciosos ahorros de dinero miope. Es una economía falsa.

puede ganarse la vida muy bien “arreglando / reescribiendo” el código off-shore que se “completó” pero nunca vio la producción, incluso mejor que hacer el trabajo de campo verde usted mismo. Dicho esto, la falsa economía de los proyectos de programación off-shore y de TI en general está siendo reconocida por las grandes empresas y están nuevamente en las fuentes para volver a ser competitivos.

La comunicación es, por supuesto, un problema, pero hay otras tres áreas que afectan la decisión de subcontratación.

  • Habilidad tecnica
  • Cultura
  • Gestión del tiempo

Mi equipo Nascenia Ltd ( http://www.nascenia.com ) es una empresa de desarrollo de aplicaciones web y móviles. Hemos completado más de 50 proyectos para clientes en el extranjero. Lo que vemos es que el outsourcing no se trata solo del costo de desarrollo sino también de varios otros factores.

Habilidad tecnica
No todos los desarrolladores son técnicamente expertos. Dado que la subcontratación es contractual, tienes que cumplir con el contrato de desarrollo. No es fácil determinar quién tiene la habilidad exacta que necesita. Los clientes a veces nos visitan para conocer personalmente y determinar si están contratando al equipo adecuado. Algunos clientes no pueden hacer eso y muchos desarrolladores son reacios a abrir puertas a casi cualquier persona que esté buscando el desarrollo de aplicaciones.

No importa cuán bajo sea el costo, si el equipo técnico no es lo suficientemente fuerte, el resultado no será el esperado.

Cultura
La cultura tiene un gran impacto en el estilo de trabajo y la gestión de proyectos. Hemos estado desarrollando aplicaciones subcontratadas durante los últimos 5 años. Diferentes países tienen diferentes culturas. Los clientes estadounidenses son directos, los clientes europeos tienden a tener algo más en mente. Los clientes tienen diferentes requisitos y lo manejan de manera diferente.

La diferencia cultural lleva tiempo acostumbrarse. Un nuevo equipo de desarrollo con bajo costo puede ser difícil de manejar, si su percepción no es lo suficientemente amplia.

Gestión del tiempo
La gestión del tiempo es un aspecto crucial en la contratación externa. En el desarrollo local, estás en la misma zona horaria. En la contratación externa, los desarrolladores tienen que coincidir con diferentes zonas horarias. Bangladesh tiene 12 horas de diferencia horaria con respecto a EE. UU., 4 horas desde Noruega y 6 horas desde Londres. Completar la tarea e informar a tiempo es una habilidad que tanto los clientes como los equipos de outsourcing deben dominar.

La subcontratación necesita las cualidades anteriores, además de que necesita paciencia. Los clientes que aún no están seguros de esto, eligen contratar localmente en lugar de la opción de subcontratación de bajo costo.

More Interesting

Como desarrollador de software de nivel medio que busca crecer, ¿cómo puedo mejorar mi capacidad de describir visualmente los diseños y procesos del sistema (diagramación)?

¿Por qué los desarrolladores de software dependen tanto de la recolección automática de basura?

¿Cuál es la mejor tecnología para elegir si quiero ser un profesional independiente?

Tengo más de 40 años, canadiense, mujer, sin experiencia laboral. ¿Cuál es mi oportunidad de encontrar un trabajo tecnológico (o cualquier trabajo)? ¿Qué debería aprender a continuación?

¿Cómo se podría diferenciar entre desarrollar un prototipo y crear una versión beta en el desarrollo de software?

¿Cuáles podrían ser los principales problemas relacionados con una cadena de bloques para valores financieros?

¿Hay alguna manera de dar un nuevo código de desarrollador para un proyecto de 2.5 GB a través de la red y luego sincronizar su copia a SVN para que pueda registrar el código?

¿Cuáles son algunas formas en que una empresa de desarrollo de software puede encontrar proyectos?

¿Cuáles son las prácticas de gestión de colaboración y trabajo en equipo para un desarrollador de software?

¿Cuáles son algunos consejos para estudiantes de primer año que están comenzando sus carreras en el desarrollo de software?

Cómo comenzar a contribuir en proyectos de código abierto

¿Qué deben saber todos los gerentes no técnicos sobre la gestión de desarrolladores de software?

¿Por qué seguimos teniendo dificultades para medir el progreso a medida que se desarrolla el software?

Cómo convertirse en un desarrollador de software sin pasar por una licenciatura en informática

Aspirando a ser un profesional independiente en el desarrollo de software, ¿cómo empiezo?