Dans une interview récente, j'ai demandé aux enquêteurs "comment allez-vous évaluer les nouvelles technologies et les nouvelles bibliothèques (telles que SignalR) et de les utiliser?". Ils ont dit qu'ils ne le font pas, mais qu'ils écrivent tout eux-mêmes pour ne pas dépendre de quelqu'un d'autre.
La firme ne travaille pas pour le gouvernement, ni pour les entrepreneurs de la défense, ni pour des projets critiques en matière de sécurité, etc. Ils n'étaient que votre moyenne entreprise de développement de logiciels de taille moyenne.
Ma question est la suivante: est-il courant que les équipes écrivent tout elles-mêmes? Devrais-je être concerné par les équipes qui le font?
Modifier - La plupart des réponses ont indiqué qu’il fallait se préoccuper de cela. Une deuxième entrevue serait-elle un moment opportun pour leur demander de préciser / de réitérer leur position en ce qui concerne la rédaction de tout en interne?
la source
Réponses:
Une attitude consistant à ne jamais utiliser de bibliothèques tierces est absurde. Écrire tout vous-même est une utilisation horrible du temps de votre entreprise, sauf obligation stricte que chaque ligne de la base de code ait été écrite par un employé de l'entreprise - mais il s'agit d'un scénario inhabituel, en particulier pour une entreprise du secteur privé telle que vous avez décrit.
Une réponse plus rationnelle et approfondie aurait peut-être été qu'ils n'utiliseraient que des bibliothèques tierces qui:
Si ces critères sont remplis (et selon mon expérience, la révision du code est très flexible, surtout en présence de bons tests), vous ne "comptez plus sur personne", vous vous fiez à des serveurs existants, disponibles et de préférence robustes. code.
Si le code est open source, dans le pire des cas, la bibliothèque tierce n'est plus maintenue. Mais qui s'en soucie? Les tests prouvent que la bibliothèque est adaptée à vos besoins!
De plus, une aversion pour les bibliothèques tierces établies entrave sérieusement la productivité des programmeurs. Supposons que la société écrivait des applications Web et refusait d'utiliser (par exemple) jQuery. Elle a donc écrit sa propre bibliothèque alternative multi-navigateurs pour simplifier la manipulation DOM. Avec une quasi-certitude, nous pouvons supposer que leur mise en œuvre:
Tous ces points constituent des obstacles majeurs à la productivité des programmeurs. Comment une entreprise peut-elle se permettre d'abandonner une telle productivité?
Vous avez mis à jour votre question pour lui demander s'il est approprié de le faire lors d'un deuxième entretien. C'est absolument.
Peut-être avez-vous mal interprété la réponse de votre intervieweur lors du premier entretien, ou peut-être que l'intervieweur a mal expliqué la position de la société et qu'un nouvel intervieweur peut clarifier la situation.
Si vous expliquez que leur position vis-à-vis des bibliothèques externes vous inquiète, il y a au moins deux résultats possibles:
la source
Cela semble incroyablement non compétitif. J'ai travaillé dans des magasins qui ont décidé d'ignorer les bibliothèques standard open-source telles que Hibernate et de lancer leurs propres en raison de certaines fonctionnalités "critiques" manquantes. Au final, le logiciel était incroyablement coûteux à construire et à maintenir. Bien sûr, les dépenses de la bibliothèque interne ont été largement sous-estimées. Et tandis que la bibliothèque interne était écrite, les bibliothèques standard évoluaient rapidement, ajoutant de nouvelles fonctionnalités qui n'étaient pas disponibles dans la bibliothèque interne. En fin de compte, le travail qui nécessiterait une heure avec une bibliothèque standard prendrait deux jours. Et c'était mauvais pour la carrière du développeur, car le monde les a dépassés. Je voudrais éviter un magasin comme ça. J'aime livrer, et je n'ai pas la patience de réécrire quand je pourrais le réutiliser.
la source
Le magasin a une maladie appelée non inventé ici . C'est une bonne raison de mettre fin à l'entretien sur-le-champ et de partir immédiatement. Cela ne peut être corrigé que par un nettoyage ménager de haut en bas qui est très peu probable.
Pour répondre à votre question, elle est malheureusement beaucoup plus courante que vous ne le pensez et c’est une raison de s’inquiéter.
la source
Oui, définitivement être concerné! Cela pue l'arrogance et (désolé d'être dur) la bêtise. Tout programmeur avec une moitié de cerveau utilisera une bibliothèque comme signalR au lieu de l'écrire vous-même. Il ne sert à rien de perdre votre temps à résoudre un problème qui a déjà été résolu. J'essaierais peut-être d'abord de trouver plus d'informations - ils vous ont peut-être mal compris (peut-être difficile si les interviews sont terminées!)
la source
J'ai quelques amis qui ont tous deux (brièvement) travaillé dans des maisons d'édition de logiciels sans syndrome inventé ici . Donc, la mentalité est là-bas.
Une observation qu'ils ont tous deux faite concerne la culture favorisée par l'approche développée par les équipes de développement. Ils ont tous deux fini par travailler avec des personnes plutôt insulaires en termes de développement de logiciels et des personnes peu motivées à apprendre de nouvelles choses et à rechercher la qualité. Quel que soit le stade de votre carrière, vous aimeriez toujours travailler dans un lieu où vous avez la possibilité d’apprendre de nouvelles choses de vos pairs. Ce type d’environnement ne semble cependant généralement pas être trouvé dans des endroits qui souhaitent tout rouler eux-mêmes.
la source
Ce n’est pas courant chez moi, et je connais beaucoup d’entreprises à travers des collègues. J'irais jusqu'à dire que c'est un "non merci" immédiat de ma part.
Je ne vais pas régurgiter les points positifs déjà soulevés, mais je vais ajouter une chose.
Ils ont juste rendu l'embauche beaucoup plus difficile.
Maintenant, il y aura bien sûr des gens qui aiment le défi, mais je pense qu'ils seraient dans la minorité.
De même, il y aura des entreprises qui opèrent à "l'échelle Internet", Amazon, Facebook, etc., où elles ont des besoins personnalisés insensés, mais là encore, elles sont minoritaires.
la source
Je ne pense pas qu'une société de logiciels puisse survivre aujourd'hui sans s'appuyer sur des logiciels tiers et / ou des logiciels à code source ouvert. Pour rester compétitive, elle doit bien entendu suivre de près les nouvelles technologies. Cependant, il y a souvent de bonnes raisons d’adopter au moins une vision plutôt défensive.
Par exemple, si vous vendez un logiciel et déclarez fournir une assistance 24 heures sur 24, 7 jours sur 7 et que vous êtes légalement responsable du bon fonctionnement de votre logiciel, vous devez avoir une idée très précise de ce qui va se passer en cas de problème. Un logiciel dans une usine, par exemple, où une heure d'indisponibilité de la production peut coûter plusieurs millions de dollars, puis un sérieux problème survient dans la bibliothèque open source que vous utilisiez. Croyez-moi, vous allez effectuer des évaluations très approfondies du logiciel en question.
D'après ce que vous avez écrit, ce scénario ne semble toutefois pas être au cœur du problème.
la source
Si vous êtes une entreprise technologique d'une certaine taille, il semblerait que vous développerez de plus en plus votre propre technologie, par exemple: google développe beaucoup sinon la plupart sinon la totalité de leurs logiciels en open source. dans le but d'en faire une norme de l'industrie.
Pour les petites entreprises, cela semblerait être une perte de temps totale lorsqu'elles essaient d'expédier un produit spécifique avec sa propre logique métier, et d'après mon expérience, je n'ai jamais vu de petites entreprises de taille comparable.
Cela devient plus complexe lorsque vous parlez de bases de code très spécialisées, par exemple: les algorithmes de chiffrement - certaines personnes ont une compréhension de base de leur fonctionnement, mais les éléments complexes de la mise en œuvre d’une solution sembleraient vous tirer dans le pied. sauf si vous embauchez un cryptographe spécialisé dans ce genre de choses.
Certaines entreprises autorisent la liberté de créer leurs propres projets open source, ce qui semble plus approprié.
Personnellement, je n'irais pas dans un endroit avec une telle culture.
la source
Ce que vous avez est une très bonne occasion d'entrer dans la deuxième interview et de leur poser des questions difficiles. Je ne sais pas ce que l'entreprise fait, alors il est difficile de dire pourquoi cela semble un choix étrange. Vous pouvez utiliser le commentaire de @Daniel Pryden en ce qui concerne l'utilisation par Google de bibliothèques tierces.
Tout logiciel que vous utilisez, qu’il soit interne ou fourni par un tiers, présente des avantages et des inconvénients. Ne pas utiliser un outil, car il n’est pas interne, même s’il s’agit du meilleur outil car le travail fait preuve d’une certaine fermeté et n’encouragera jamais l’innovation et la créativité.
Peut-être que, peut-être, vous êtes peut-être l'auteur de ce changement. Bonne chance pour tout.
la source
Bien sûr, vous devriez vous en aller. Je ne l'ai pas vu mentionné ici, mais la principale raison de passer à autre chose, c'est que vous ne gagnerez pas beaucoup en compétences transférables.
Imaginez, lors de votre prochaine entrevue, quand ils vous demanderont avec quelles technologies vous avez travaillé et que vous ne pouvez mentionner que le cœur, le C ++. Cela ressemble à un diplôme de deuxième cycle.
la source
Les grandes entreprises écrivent tout elles-mêmes.
L'écrire vous-même présente plusieurs avantages:
Voici comment chacun des points se brise si vous utilisez la bibliothèque de quelqu'un d'autre:
la source