C’est comment d’être un ingénieur logiciel à la NASA ?


La réponse courte : ça dépend.

La NASA est une grande organisation, avec de nombreuses subdivisions dans chaque centre, avec leurs propres politiques et leurs propres objectifs.


Je travaille pour le Laboratoire des environnements planétaires de Goddard's, qui est spécialisé dans la construction de spectromètres de masse. Je travaille avec des logiciels de support au sol : des utilitaires pour analyser et manipuler les données. Les choses sont très occupées (bien que cela puisse changer en un instant si l'oncle Sam décide de débrancher la machine), et la plupart des programmeurs finissent par se voir confier des tâches d'ingénierie ou des tâches administratives. L'accent est toujours mis sur "faire les choses aussi vite que possible". Pour cette raison, je travaille principalement dans des langages de très haut niveau comme Python. Malheureusement, l'environnement précipité signifie que des considérations telles que des tests rigoureux, la documentation des logiciels, l'empaquetage et la distribution des logiciels, et la portabilité entre les missions sont souvent mises de côté en faveur de l'avancement du calendrier le plus rapidement possible. Cela signifie également que je finis moi aussi par être affecté à des tâches non liées à la programmation, comme l'exploration de données, l'ingénierie électrique et les opérations de mission. Si vous détestez des choses comme la documentation des besoins ou la rédaction de documents de conception et que vous n'aimez que les moments où vous écrivez du code, vous adorerez mon travail. (EDIT : Mais soyez prévenu que ces processus existent pour une raison, et maintenant après deux ans, je'commence à voir les faiblesses sérieuses et handicapantes du fait qu'il n'y a pas de réflexion sérieuse sur les préoccupations de conception.)


Ailleurs, j'entends dire que c'est une histoire différente. Si vous travaillez sur quoi que ce soit d'essentiel au fonctionnement du matériel de vol (par exemple, un logiciel de vol), vous pouvez vous attendre à ce que votre travail soit examiné par des comités, à ce que vous deviez définir les exigences et rédiger des documents de conception à l'avance, et à ce que vous ayez occasionnellement des personnes chargées de l'assurance qualité qui vous soufflent dans le cou.

En ce qui concerne l'informatique (qui concerne tout le monde), la NASA a des politiques de sécurité assez strictes. Bien que la plupart de ce qui se passe à la NASA soit assez bénin, c'est une cible très voyante, et les pirates aiment s'entraîner à pirater les réseaux de la NASA avant d'essayer de compromettre les réseaux du département de la défense. En outre, de nombreuses choses impliquant des vols spatiaux sont contrôlées par des traités internationaux sur les armes. Et comme presque tout ce que vous faites à la NASA implique des vols spatiaux d'une manière ou d'une autre, vous devrez certainement vous occuper d'une manière ou d'une autre de projets contrôlés par les exportations. Cela cause de nombreux maux de tête, car les exigences de sécurité associées transforment ce qui serait normalement des tâches banales et à faible risque en cauchemars informatiques. Il a fallu trois quarts d'année à notre service pour mettre en place un serveur FTP. Et ne me lancez pas sur notre expérience de mise en place d'un serveur SVN en nuage. (Les politiques informatiques varient cependant d'un centre à l'autre ; le JPL, par exemple, a eu beaucoup de succès en utilisant le cloud Amazon pour ses besoins informatiques, qui est beaucoup plus facile à configurer que le cloud interne du GSFC'


Donc, pour résumer : ça dépend. Chaque centre de la NASA et chaque département au sein de ce centre a sa propre culture, qui peut ou non s'accorder avec vous en fonction du type de codeur que vous êtes. Pour ma part, j'adore mon travail, mais certains employés de ma division n'étaient pas d'accord et ont depuis rejoint d'autres projets de la NASA qui leur plaisent davantage. La seule véritable constante est que, où que vous alliez, vous pouvez vous attendre à des politiques informatiques plus strictes que dans le secteur privé.

==Editer pour répondre aux commentaires==

Comment sont les horaires ?
Je me fais un devoir de ne travailler que quarante heures par semaine. Occasionnellement, je fais des heures supplémentaires pour les semaines très chargées, mais je suis payé pour ces heures (salaire normal, pas temps et demi). Les politiques relatives aux heures supplémentaires varient entre les fonctionnaires (employés du gouvernement) et les entrepreneurs (comme moi), et chez les entrepreneurs, cela dépend de l'entreprise. Les personnes plus étroitement impliquées dans la construction effective d'instruments dans des délais serrés ont tendance à se faire enrôler pour travailler le week-end plus souvent que les ingénieurs logiciels.

Dans mon département, tout le monde semble travailler en horaire flexible. Je peux entrer à l'heure que je veux et partir à l'heure que je veux, tant qu'au final je'travaille une semaine complète. Si vous avez un long trajet, cela aide vraiment de pouvoir entrer à 10 heures et partir à 6 heures.

Je n'emporte pas mon travail à la maison. Il existe cependant des télétravailleurs. Cela dépend de votre département au sein de la NASA, ainsi que des politiques de votre employeur spécifique. Il se trouve que mon patron est sceptique quant à l'intérêt du travail à domicile.

Un fait plus pertinent : selon ce que vous faites, vous pouvez vous retrouver à travailler à des heures étranges. À l'automne, lorsque Curiosity atterrit, je dois travailler à l'"heure de Mars". Une journée martienne dure 24 heures et 40 minutes, et les quarts tactiques ne sont pas des horaires flexibles. Votre équipe commencera donc de plus en plus tard chaque jour, et quelle que soit l'équipe que vous prenez, vous finirez par travailler de nuit.

Pourquoi avez-vous choisi la NASA ?
J'aimerais pouvoir vous donner une raison particulière, mais c'est surtout arrivé comme ça. Grâce à certaines connexions, j'ai eu une opportunité de stage l'été précédant ma dernière année d'université, et ils m'ont suffisamment apprécié pour m'embaucher à temps plein par la suite.

Cela dit, le travail à la NASA semble beaucoup plus significatif que beaucoup d'opportunités du secteur privé que je connaissais lorsque j'étais diplômé. Vous'contribuez à la recherche scientifique fondamentale, pas aux profits des entreprises. Et vous'aurez toujours des histoires intéressantes à raconter à vos amis, comme la rencontre avec des astronautes, etc.

Combien de temps durent les cycles de produits ?
Cela dépend. Je ne peux vraiment pas'répondre pour toute la NASA. Certains de mes scripts sont utilisés pendant une semaine, puis oubliés, mais il y a d'autres logiciels qui flottent et qui sont antérieurs à mon emploi. Cela dépend vraiment du calendrier de votre mission.

Avez-vous accès à la vérification des choses sur lesquelles vous ne travaillez pas directement ?
Le Goddard Space Flight Center a des conférences scientifiques et d'ingénierie chaque semaine. Et beaucoup de mes collègues qui travaillent dans d'autres bâtiments sont heureux de vous faire visiter de temps en temps. Lorsque j'ai été embauché, mon mentor m'a dit qu'un nouvel employé de la NASA devrait passer ses six premiers mois à assister à de nouvelles réunions ou à se rendre à des colloques une fois par semaine pour apprendre à connaître le centre, et qu'ensuite il faudrait toujours sortir de son bâtiment au moins une fois par mois. Il y a toujours des opportunités, mais la responsabilité d'en profiter vous incombe. J'imagine qu'une situation similaire existe dans d'autres centres.

Vous sentez-vous moins respecté à la NASA si vous n'avez pas de doctorat ?
Non. En général, les doctorats sont courants pour le personnel scientifique, ce qui est logique puisque ce sont eux qui publient des articles académiques sur les données de la mission. Il'est beaucoup plus rare que le personnel technique (y compris les programmeurs) ait un doctorat. Pour ma part, j'ai un B.S., mais je'suis fraîchement sorti de l'école et je ne suis là que depuis un an.

Cela dit, il semble que les personnes ayant un diplôme de premier cycle en informatique et un master's dans d'autres disciplines (chimie, génie électrique) soient très précieux. Ces personnes peuvent travailler directement à la construction de l'instrument, et elles ont tout l'arsenal d'un programmeur informatique à leur disposition pendant qu'elles le font.

Y a-t-il des programmeurs qui travaillent pour la NASA directement (en tant que fonctionnaire) au lieu de passer par un contractant ?
Oui. En général, je dirais que plus on monte dans la hiérarchie, plus la proportion de fonctionnaires est importante. Le personnel d'ingénierie est principalement composé de contractants. Le personnel scientifique titulaire d'un doctorat (dans mon département) a tendance à être fonctionnaire. Toute personne occupant un poste de direction (y compris les ingénieurs système de haut niveau) a tendance à être fonctionnaire, et je pense que toute personne ayant un contrôle sur l'argent doit l'être. Mais il y a quelques fonctionnaires à tous les niveaux.