Je suis nouveau dans le domaine de la programmation. Je l'apprécie vraiment en tant que carrière, mais je ne suis pas sûr de pouvoir rester assis à un bureau huit heures par jour. Cela ne me dérange pas pour de courtes périodes bien sûr, mais je ne peux pas le faire jour après jour.
Y a-t-il un domaine de programmation qui peut éventuellement avoir des emplois qui nécessitent moins de temps passé au bureau?
Il y a des environnements où vous ne serez pas assis à un bureau toute la journée. De nombreux environnements de recherche ou d'ingénierie vous feront travailler à la fois à votre bureau et en laboratoire ou sur le plancher d'ingénierie.
Par exemple, où je travaille, j'ai un bureau ordinaire où je fais des tâches d'administration et de programmation intensive ou hors ligne, mais j'ai également deux stations expérimentales que je supporte. Chaque fois que j'ai besoin de tester le code sur "la machine", j'ai la possibilité d'utiliser Connexion Bureau à distance ou de descendre et de travailler dans la "huche" expérimentale.
Dans mes trois emplois précédents, j'avais également un bureau, mais une grande partie du travail était effectuée en atelier ou en atelier, testant, optimisant ou codant sur les machines que nous développions. J'ai même été envoyé aux États-Unis, en Allemagne, à Taiwan et en Chine pour prendre en charge et développer des logiciels sur des machines sur le terrain après leur livraison aux clients.
Même dans mon premier emploi après l'université, qui était plus lié au bureau qu'autre chose depuis, j'ai été envoyé sur les sites clients pour déployer des logiciels et aider au dépannage.
Soit dit en passant, alors qu'une grande partie de ma carrière pourrait être décrite comme des systèmes embarqués, comme Thomas Owens suggère, ne supposez pas que embarqué signifie microcontrôleurs, circuits imprimés conçus en interne ou des systèmes d'exploitation de noyau dur comme QNX ou OS-9 .
Une grande partie de l'industrie fonctionne sur des automates comme le suggère Wolfger et des PC industriels exécutant des systèmes d'exploitation tels que Linux, Windows Embedded ou même simplement de vieux Windows. Ces systèmes intègrent des sous-systèmes ' hard real-time ' avec des systèmes de contrôle 'soft real-time'. Là où la couche supérieure peut être la plus complexe et la plus difficile, en particulier lorsque vous essayez de représenter une machine complexe avec une interface utilisateur simple et facile à utiliser.
Vous pourriez entrer dans l'enseignement de la programmation. La plupart de votre temps serait à l'avant de la salle de conférence. Je ne sais pas combien de programmation réelle serait encore impliquée. Probablement autant que vous le vouliez, selon le style avec lequel vous choisissez d'enseigner. Plus de démonstration pratique que de simple cours théorique.
Regardez dans la programmation PLC . Généralement, beaucoup de déplacements sont impliqués et beaucoup de position debout/marche sur le sol d'une usine.
A Contrôleur logique programmable , [~ # ~] plc [~ # ~] ou Le contrôleur programmable est un ordinateur numérique utilisé pour automatisation de électromécanique processus, tels que le contrôle des machines en usine Lignes d'assemblage , manèges , ou luminaires ...
Il y a quelques possibilités. Deux qui me viennent à l'esprit sont le travail avec des systèmes embarqués ou l'interfaçage avec du matériel ou un type de travail d'assistance sur le terrain.
Si vous travaillez avec des systèmes embarqués ou des logiciels qui s'appuient sur des systèmes matériels, vous pourriez avoir l'opportunité de travailler dans un laboratoire, peut-être aux côtés d'ingénieurs en mécanique, en électricité et en informatique. Cependant, le temps passé dans le laboratoire, le cas échéant, dépend du projet et de la structure organisationnelle.
Un travail de support sur le terrain serait probablement à un bureau, mais il consisterait à travailler avec les clients pour analyser les exigences, dépanner les déploiements et développer de nouvelles fonctionnalités ou correctifs sur le terrain. Ce serait probablement un travail de bureau, mais cela pourrait impliquer de voyager ou de travailler dans des installations autres que le bureau de votre entreprise.
Les détails exacts dépendent, bien sûr, de l'entreprise pour laquelle vous travaillez et de ce qu'ils attendent d'un ingénieur logiciel. En raison de la nature du travail, il est probablement difficile de trouver un travail qui ne passe pas beaucoup de temps à un bureau devant un ordinateur.
Dans les pires entreprises, vous ne serez pas au bureau toute la journée. Au lieu de cela, vous serez assis à une table de conférence pour écouter comment l'entreprise va vous rendre plus productif en mettant en œuvre Scrum , agile , cascade , Extreme Programming , bla, bla, bla. À ce stade, vous prierez pour retourner à votre bureau.
Robotique. Non seulement vous devrez couper du code, mais vous devrez parler à des gars du matériel, sortir sur le terrain et observer votre mignon petit T-8 prototype faisant son truc :)
Je personnalise les systèmes ERP, cela implique un peu de travail sur site, mais vous voudrez peut-être ou non avoir à traiter directement avec les clients.
Rejoignez le projet n ordinateur portable par enfant .
Il s'agit d'un projet de développement mondial. Ils ont besoin de techniciens système ainsi que d'administrateurs pour prendre soin de leurs serveurs et de leur infrastructure générale. Ce qui signifie que vous devez être là où les ordinateurs portables/serveurs sont utilisés pour fournir un bon support technique, ce qui signifierait beaucoup de voyages et de découverte d'autres cultures.
De plus, si vous ne vous sentez pas suffisamment mis au défi, vous pouvez toujours développer des logiciels open source ou partir en randonnée.
Wolfger mentionne déjà la programmation PLC. Il existe de nombreux programmeurs qui travaillent dans l'automatisation en programmation générale PLC, robots (ce que je fais), PACs, PC et embarqués.
Vous passez du temps derrière un bureau, une partie de la programmation, une partie du support client. Vous passez également beaucoup de temps sur le terrain avec l'équipement. Souvent, des déplacements considérables sont nécessaires. Mon bureau couvre l'Amérique du Nord et l'Amérique centrale. Je me rends aussi occasionnellement en Europe pour des réunions au siège de la division.
SI vous voulez un travail de programmation, vous allez être sur un bureau (assis, debout ou marcher) la plupart de votre temps. Il n'y a pas de chemin aux alentours.
Mais si ce que vous recherchez est un travail lié à la programmation, il existe des alternatives, MAIS vous ne serez pas celui qui programme réellement.
ÉDITER:
Je ne voulais pas énumérer les noms des emplois, car ils ont tendance à changer d'une entreprise à l'autre, mais je vais énumérer les responsabilités:
Fondamentalement, plusieurs emplois liés au développement de logiciels, mais qui ne nécessitent pas de codage, ce qui était vraiment le point que j'essayais de faire valoir.
D'accord avec Thomas Owens dans la mesure où les positions de support impliquent beaucoup de déplacements. J'avais l'habitude de travailler sur des routeurs Cisco. Travailler avec des systèmes de routage avancés est quelque peu similaire à la programmation en termes de complexité. Le processus d'installation est assez complexe et peut être assez complexe. Surtout si vous optez pour une certification avancée comme CCDP .
Les professionnels du réseautage gagnent souvent un bon revenu. Plusieurs de mes amis sont dans l'industrie et apprécient le travail.
Dans mon travail actuel, je vois des programmeurs pour l'industrie automobile, qui travaillent également avec des équipements spécialisés. Cela ne signifie pas toujours travailler au bureau, mais cela peut signifier aller hors site pour se connecter au bus CAN d'une voiture .
Les emplois sont vraiment ce que vous en faites. Vous pourriez passer tout le temps à coder à votre bureau, mais le développement logiciel est bien plus que du codage.
Un de mes emplois précédents consistait à créer le logiciel interne pour une société de test. Bien que pas très glamour, le travail impliquait un peu de voyage, même si les conditions étaient parfois mauvaises (vous n'avez pas deux moniteurs et une chaise confortable sur place). L'avantage était de courtes boucles de rétroaction parce que j'étais littéralement dans la pièce voisine et que je pouvais travailler avec une variété de personnes (testeurs de pétrole et de gaz et d'agriculture).
Sur mon ou mes sites principaux, je pouvais faire des tours dans tous les domaines pour voir comment tout fonctionnait et obtenir des critiques de première main des applications. Il bat les sondages.
Lorsque vous interviewez dans des sociétés de développement non logiciel, assurez-vous de savoir dans quoi vous vous embarquez car les dirigeants ont souvent une vision très ignorante du développement logiciel car ils ne sont pas des développeurs de logiciels.
Eh bien, sur mon lieu de travail, nous avons maintenant deux développeurs qui se tiennent debout toute la journée tout en travaillant. Ils ont soulevé leurs bureaux (c'est le genre de cabine que vous pouvez faire glisser de haut en bas sur le mur) et ils se tiennent debout pendant le travail. Je suis sérieux, et je peux genre de relation bien que je m'assois en travaillant.
Certaines personnes aiment se tenir debout et se déplacer un peu plus pendant qu'elles travaillent, c'est donc à vous de décider. Personne ne dira que vous devez vous asseoir à un bureau, mais en général, vous devez utiliser un ordinateur pendant la majeure partie de la journée, sauf si vous êtes un gestionnaire; alors vous allez vous asseoir en réunion toute la journée.
Bien que mon travail en tant que programmeur interne Windows Forms implique beaucoup de travail de bureau. Je suis souvent au bureau d'autres personnes en les regardant démontrer un bug ou en exprimant le désir d'une nouvelle fonctionnalité. Parfois, j'ai la possibilité de simplement les regarder travailler et, ce faisant, je peux voir comment ils utilisent l'application, afin que je puisse penser à des moyens de les rendre plus aptes à le faire à leur manière, au lieu de la façon dont je pensais quand je développé cette caractéristique particulière.
Une grande partie de mon travail implique également l'intégration et l'interopérabilité avec du matériel et des logiciels tiers. Je suis souvent dans le laboratoire pour jouer avec divers gadgets et regarder comment les programmes réagissent. Mon dernier travail était dans la programmation Web, et il n'y avait pas beaucoup de "travaux de laboratoire", donc oui, ce travail était assis à un ordinateur de codage tête en bas pendant la majeure partie de la journée.
La programmation est tout simplement un travail de connaissances, ce qui signifie qu'il s'agit principalement d'un travail de bureau. Si vous voulez aller au-delà de cela, alors vous avez besoin d'un travail qui n'est pas seulement de la programmation, mais d'autres éléments de SLDC y compris l'analyse et la conception. Cela vous permet de sortir de votre cube et de vous retrouver face à face avec les personnes qui bénéficieront du nouveau travail de programmation, ou du moins les personnes qui paient les factures.
Si vous voulez bien m'excuser, je vais aller de côté sur cette question.
Le champ de programmation est vaste, et il existe de nombreux aspects différents, quel que soit le domaine.
Mes deux derniers jours (jeudi et vendredi) ont été passés dans une salle de réunion, avec 6 à 12 autres personnes selon le sujet d'actualité, pendant que nous travaillions sur notre nouveau projet.
J'étais assis, mais pas à mon bureau. Et je pouvais aussi me lever et accéder au tableau blanc de temps en temps.
Pourquoi ? Parce que je ne programmais pas en soi, nous discutions et planifions. La discussion était très technique et centrée sur la programmation, mais tout ce que j'avais avec moi était un bloc-notes et un stylo (et une bouteille d'eau).
La programmation ne signifie pas nécessairement rester assis à votre bureau à pomper le code de votre cerveau toute la journée. Selon le projet/les lieux et votre rôle exact, vous pourriez avoir plus ou moins d'interactions sociales, et vous pourriez (ou non) voyager plus ou rencontrer des clients.
Pour référence, je fais (maintenant) la programmation du serveur, pour les applications internes.
Il y a beaucoup de domaines et d'industries où il y a plus qu'un travail de programmation que d'être assis devant un bureau. De l'expérience personnelle: -
Mais vraiment tout ce qui concerne directement les utilisateurs de votre logiciel est susceptible d'être plus varié