¿Cómo tratan los servicios secretos la contratación y retención de desarrolladores de software? El volumen de negocios puede ser mayor para las compañías regulares, pero la CIA no puede permitirse que demasiados desarrolladores conozcan el diseño de sus sistemas secretos.

Esta respuesta se basa en un conocimiento de primera mano MUY LIMITADO de cómo algunas agencias gubernamentales han manejado el trabajo de fabricación, y no presumo que el desarrollo de software es muy diferente en los niveles de escritura de códigos.

Cuando los fabricantes de productos de seguridad nacional necesitan algo “secreto” hecho, generalmente tomarán el diseño y lo dividirán entre varios fabricantes independientes. Y para ser claros, no nos estamos refiriendo al “Servicio Secreto” ni nada de eso; El propio gobierno no está involucrado en la fabricación directa tanto como los fabricantes de complejos industriales militares. Corporaciones como Lockheed Martin, Raytheon, BAE, General Dynamics o muchas otras.

Tomemos un motor a reacción, por ejemplo. Digamos, por ejemplo, Pratt & Whitney está trabajando en un proyecto para actualizar el motor para el F-16 de modo que proporcione un empuje más eficiente y minimice la firma de calor. (Cosas emocionantes, ¿verdad?)

Cómo adquirieron este proyecto no está dentro del alcance de esta respuesta. No hace falta decir que han diseñado un conjunto dentro del conjunto mayor, y ahora necesitan construir un prototipo del conjunto para probarlo. Sus analistas analizan algunos números y descubren que sería más barato contratar parte del trabajo con otras empresas e individuos que están alquilando tiempo en sus máquinas CNC, o lo que sea que tengan.

Por lo tanto, un representante de Pratt y Whitney puede ponerse en contacto con su proveedor de adquisiciones, quien revisará su lista de compañías que están dispuestas y tienen capacidad y capacidad técnica para hacer el trabajo. Se crean ofertas, se firman contratos y las máquinas CNC comienzan a zumbar felizmente produciendo varias piezas necesarias para este ensamblaje.

Ahora aquí es donde mi experiencia personal, se queda corta. Uno supone que estas partes son reunidas y ensambladas por Pratt y Whitney u otro contratista, pero para el propósito de esta respuesta, he ilustrado mi punto. Verá, los contratistas individuales no conocen la imagen completa, por lo que individualmente el conocimiento es incompleto y las partes son básicamente inútiles.

Ahora, volviendo a tu pregunta. En cuanto a los proyectos de ingeniería de software, estoy seguro de que hay un puñado de “empleados clave” dentro de la infraestructura del diseñador o tal vez incluso de la propia agencia gubernamental. Sin embargo, según los modelos de fabricación existentes, especulo que al menos parte del código real del software probablemente sea escrito por contratistas individuales.

Supongo que los ciclos de desarrollo de software emplean un método similar para decirle a un desarrollador que “necesitamos” tal y tal “módulo / paquete / biblioteca / API para tomar entradas x, y, z, realizar alguna acción específica y salida i, j, k salidas ”. Esto divide en compartimientos la seguridad requerida razonablemente sin que tengan que amenazar con secuestrar a miembros de la familia o encerrar a todos en un búnker en medio de un desierto.

En resumen, muy, muy pocas personas tienen una visión completa de cualquier tipo de esfuerzo involucrado en el desarrollo de tecnología secreta, ya sea tangible o no. Quién sabe; Si usted es un desarrollador de software en alguna fábrica de explotación, podría estar trabajando en algo “secreto”, también, en el transcurso de su carrera, sin darse cuenta. Dejaré volar tu imaginación con las implicaciones de esto.

La próxima vez que su gerente le dé algo que “simplemente no tiene sentido porque funcionaría mucho mejor si fuera como ‘xyz’, pero DEBEN tenerlo exactamente como ‘zyx’, y cuando pregunta ‘por qué’ todos se encogen de hombros … “nunca se sabe. Es posible que esté trabajando en una pieza muy pequeña de una versión de Internet de un arma termonuclear. O un filtro de spam. Sí, definitivamente un “filtro de spam”! Un filtro de correo no deseado basado en el aprendizaje automático que codifica y genera misteriosamente la capa oculta del entrenador de la red neuronal para el procedimiento de llamada. Para investigación”. * guiño * (Espera, hay un golpe en mi puerta; ya vuelvo …)

Ahora, podría estar equivocado, pero si nada más, la especulación es un ejercicio divertido. De hecho, esta presunción plantea muchas preguntas sobre cómo se ejecuta el ciclo de vida del desarrollo de software y cómo se manejan los comentarios de los usuarios. En cualquier caso, esperaría que su CRM sea una pesadilla con la que lidiar debido a todas las comunicaciones de segunda mano y los factores perdidos en la traducción, por lo que tal vez me equivoque. Tal vez secuestran a miembros de la familia y encierran a todos en bunkers del desierto. Tal vez…

Gracias por la pregunta!

More Interesting

¿Puedo pasar del soporte de producción al desarrollo de software?

¿Por qué algunos desarrolladores de software están tan en contra de JavaScript?

¿Cuál es la diferencia entre un desarrollador web y un ingeniero de software? Si conozco JavaScript, Python y SQL, ¿me convierte también en ingeniero de software?

Como desarrollador de software, ¿cómo obtengo la misma energía y entusiasmo que una vez tuve durante mi licenciatura?

¿Cuántos lenguajes de programación necesito aprender para convertirme en desarrollador de software y cuánto tiempo tomará?

¿Es posible que un estudiante de CS en Europa encuentre trabajo en una de las principales empresas de EE. UU.?

Si Javascript es un lenguaje tan malo, ¿por qué tiene tantos partidarios empujando su alcance?

¿Qué curso debo elegir para convertirme en desarrollador de software, arquitecto de software o desarrollador de juegos?

¿Debería un equipo de desarrollo de software que realiza un microservicio permitir solicitudes de extracción externas o no?

¿Debo solicitar un aumento si seré el único desarrollador de software de la empresa?

Soy un desarrollador de Java con 5 años de experiencia, y actualmente estoy buscando cambiar mi empresa. ¿Para qué tipo de entrevista debo prepararme?

¿Es ventajoso mantener un equipo de desarrolladores remotos?

¿Qué es más valioso, la creatividad o el pensamiento racional para el desarrollo de software?

¿Quiénes son los desarrolladores de aplicaciones independientes en Singapur?

¿Existe algún sistema de calificación para desarrolladores de software?