Programmation de haut niveau vs bas niveau. Dois-je vraiment choisir? [fermé]


13

De temps en temps, on me demande dans des interviews que j'aime le meilleur niveau bas ou haut niveau. Il me semble que le message implicite est qu'ils sont à la fois une spécialité et qu'ils veulent savoir dans quelle direction je vais. Le problème est que je semble aimer les deux. Le faible niveau est extrêmement difficile et nécessite souvent beaucoup de connaissances ésotériques. Le haut niveau est l'endroit où toutes les choses sexy se produisent: des applications que les gens utilisent directement, des résultats qui peuvent être facilement démontrés (présentés) de manière accessible à tous, et vous obtenez de travailler avec des outils vraiment avancés et d'interagir avec les nouvelles technologies.

J'aimerais vraiment faire les deux, même si cela signifie alterner entre eux (je doute qu'il y ait des emplois qui me permettront de faire les deux simultanément), mais je suppose que l'industrie récompense les spécialistes plus que les généralistes. Sera-ce vraiment problématique sur le plan professionnel si je ne choisis jamais l'un plutôt que l'autre? Est-il pratique d'alterner entre les deux en ce sens que si je quittais un emploi pour l'un d'entre eux, je ne ressentirais aucune "friction" en essayant d'obtenir un travail pour l'autre (en supposant que je sois raisonnablement dans la boucle)? Y a- t - il des opportunités de carrière où vous pouvez faire les deux?

Dois-je vraiment choisir l'un plutôt que l'autre?


Vous voudrez peut-être regarder cette question à SO: stackoverflow.com/questions/919568/…
user281377

Réponses:


5

Tout d'abord, quel que soit le chemin que vous choisissez, sachez que votre environnement peut changer. :)

De plus, je ne pense pas que vous ayez à choisir entre l'un ou l'autre. Vos options dépendent plutôt du projet et du groupe avec lequel vous travaillez.

  • Il est probable qu'en postulant pour un emploi spécialisé dans une grande entreprise, vous auriez du mal à effectuer d'autres tâches.
  • Il est également probable qu'un rôle de généraliste ne vous donnera pas le temps d'approfondir une petite partie.
  • Il est également probable que le fait d'avoir des compétences générales vous rendra plus efficace dans le travail spécialisé, car vous n'aurez pas à compter sur les autres autant pour aller de l'avant.
  • Il est également possible qu'un rôle de généraliste nécessite des connaissances spécialisées, et si vous recherchez une petite entreprise ou une startup qui travaille dans le domaine où vous vous spécialisez, vous pourriez avoir amplement l'occasion de briller dans votre domaine de spécialité.

Je suis en fait confronté à ces problèmes dans mon emploi actuel ..

Je me suis spécialisé dans C ++, OpenGL, les simulations 3D, l'architecture du moteur de jeu et autres choses, mais l'année dernière, j'ai beaucoup utilisé un fer à souder (en mélangeant ensemble des cartes USB, des prototypes, des servos et des moteurs, ainsi que le réglage et programmation de ces servo-contrôleurs). Je devrais peut-être aussi faire des prototypes de sites Web pour quelques services dont nous avons besoin.

C'est très amusant, mais je ne voudrais pas le faire pour toujours, car ma spécialisation diminue un peu, et il y a probablement d'autres qui sont meilleurs de toute façon. Espérons que l'entreprise se développe et que nous pouvons embaucher plus d'ingénieurs. Nous ne sommes que deux gars C ++ / Python pour le moment (avec moi passant 60 à 75% de mon temps sur le matériel).

Alors, sélectionnez soigneusement vos projets et vous n'avez rien à abandonner, mais vous devez vérifier de temps en temps où se dirige votre carrière (comme tout le monde).


12

D'après mon expérience, les grandes entreprises ont besoin de spécialistes et les petites entreprises ont besoin de généralistes. Si vous voulez devenir généraliste, recherchez et postulez dans de petites entreprises.


3
Juste pour dire que les grandes entreprises sont celles qui peuvent se permettre les tarifs plus élevés que les spécialistes exigent.
Odé

3
Ce n'est pas le salaire qui détermine autant la distinction spécialiste / généraliste que le nombre de programmeurs de votre entreprise. Avec de nombreux programmeurs, il est plus efficace d'affecter des personnes spécifiques à des produits spécifiques. Avec une poignée de programmeurs, ils doivent couvrir tous les besoins de développement de l'entreprise.
dan04

2

Dans notre domaine, je pense que nous devons être généralistes à un certain niveau tout en développant une spécialité voire quelques spécialités. Cela ne fait jamais de mal de développer nos compétences dans de nombreux domaines car certains projets pourraient nécessiter que vous soyez polyvalent. Comme cela a été mentionné cependant, plus l'entreprise est grande, plus elle aura probablement besoin de vous pour vous concentrer sur un seul domaine. Dans ces situations, je pense que la question que vous préférez est plus que probable d'essayer de déterminer où ils vous mettraient s'ils vous embauchaient.


2

Je pense qu'il est bon de poser cette question, afin qu'ils sachent ce que vous visez, mais l'explication que vous avez postée ici est également une très bonne réponse: "J'aime faire les deux". Les langues de haut niveau et de bas niveau attirent différents types de personnes, tandis que les langues de bas niveau attirent des gens qui aiment vraiment connaître les petits détails du système, comment il fonctionne, etc., les langues de haut niveau attirent des personnes plus intéressées par le processus métier et l'organisation lui-même. Tant de gens aiment vraiment les langues de haut niveau, mais ne peuvent pas rester bas (ou l'inverse).

Il est donc très important de demander votre profil et vos intentions, mais votre réponse telle que vous l'avez publiée est tout à fait acceptable.


1

Vous n'avez pas à choisir, bien que votre vie soit plus facile (sinon plus heureuse) si vous le faites. La plupart des entreprises recherchent l'une ou l'autre, mais si vous trouvez un endroit où elles veulent quelqu'un qui connaît les deux mondes, vous remporterez le jackpot.

Ce que vous ne devez absolument pas faire, c'est appliquer la mauvaise approche à un problème.

Et bien sûr, parfois les choses ne se passent pas comme prévu, j'ai commencé avec un amour de l'assemblage et du C et une méfiance envers tout OO et je suis devenu développeur Java. Maintenant, j'aurais du mal à revenir en arrière, car j'ai raté dix ans d'apprentissage et de nouvelles technologies. Donc, la leçon ici est que si vous voulez changer, assurez-vous de rester en contact.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.