"Les bons développeurs ne suffisent pas pour créer une entreprise": Jeff Proseiz à propos du business et du machine learning



Pour la plupart des affiliés, Jeffrey Richter est un gourou et l'auteur le plus important. Mais pour Jeff Proseiz, il est avant tout un ami et ancien collègue: ils ont ensemble fondé la société Wintellect (parmi ses clients - Microsoft). Maintenant, Jeff et Jeffrey ont divergé de leur parcours professionnel, mais tous deux consacrent toujours leur vie à .NET.

L'année dernière, Jeffrey Richter a pris la parole lors de notre conférence DotNext, nous l'avons ensuite interviewé pour Habr, et nous lui avons notamment demandé à quoi ressemblait un professionnel de l'informatique pour se lancer en affaires. Et maintenant, Jeff Prosys vient également à DotNext, il est donc devenu intéressant de poser des questions à ce sujet et sur lui. Comment est née cette entreprise «star»? Que Jeff peut-il recommander aux développeurs qui envisagent de créer leur propre entreprise? Contre quelle erreur le Wintellect peut-il faire preuve de prudence?

Et parce que DotNext fera une présentation sur ML.NET chez DotNext, ils ont également posé quelques questions sur l'apprentissage automatique.

Biographie et livres


- Vous avez une longue carrière - dites-nous comment cela a commencé.

- J'ai obtenu un diplôme en génie mécanique en 1982 aux USA. C'était une époque où les premiers ordinateurs personnels venaient d'apparaître. Je me suis intéressé à eux, j'ai économisé de l'argent et acheté l'un des premiers modèles. Il s'est avéré que j'aime vraiment la programmation, et aussi écrire sur la programmation, sur les ordinateurs et former les utilisateurs d'ordinateurs, en particulier les développeurs.

Par conséquent, en 1990, j'ai tout changé radicalement, laissant le travail d'un ingénieur. À cette époque, j'avais déjà écrit des articles pour des magazines, mais j'ai d'abord écrit un livre. Depuis lors, je ne travaillais plus dans mon ancienne spécialité, j'ai commencé à parler lors de conférences, à écrire des livres et à former des développeurs aux dernières technologies de notre industrie. Je crois que d'aider d'autres programmeurs et leurs entreprises à écrire de bons logiciels est une question de ma vie.

- De quoi parlait ce premier livre?

- Il était dédié à DOS 5. La sortie de DOS 5 a été un événement important, tout comme la version ultérieure de Windows 95. Mon premier livre faisait environ mille pages. Mon agent a ensuite dit que d'habitude les gens commencent par des livres courts, et j'ai donné naissance à un éléphant. Ensuite, j'ai écrit quelques autres livres sur DOS, puis je suis passé à Windows et à d'autres sujets.

En 2001, mon dernier livre a été publié, il était consacré à Microsoft .NET - c'était le premier livre sur .NET publié dans Microsoft Press. Depuis lors, je n'écris plus de livres, en partie parce que les gens absorbent désormais les informations différemment. Auparavant, la formation se déroulait principalement dans les livres, maintenant il y a Internet et bien plus encore. Ma méthode d'enseignement n'a pas changé, mais au lieu de livres, j'utilise maintenant des conférences, des cours en ligne et plus encore.

- Le processus d'écriture des livres depuis les années 1990 a-t-il changé de manière significative ou est-ce toujours le même pour les auteurs?

- Oui, changé. Dans les années 1990, l'auteur a d'abord dû taper le texte dans un éditeur de texte, puis l'imprimer en deux intervalles et l'envoyer par FedEx à l'éditeur, et après plusieurs semaines de modification, le texte est retourné en rouge. Maintenant, tout ce processus se déroule sous forme électronique.

Mais plus important encore, les gens apprennent maintenant différemment. Un livre bien écrit sur un sujet important dans les années 1990 était presque garanti d'être en demande, on pouvait s'attendre à ce que les gens en apprennent. C'est en partie vrai aujourd'hui, mais la demande de livres est devenue beaucoup moins importante, car il existe de nombreuses autres façons d'apprendre, et les livres sont devenus beaucoup moins importants qu'ils ne l'étaient il y a 20 ans.

- Sur Internet, vous pouvez souvent trouver une mention de votre livre "Programmation de Windows avec MFC" - est-il devenu le plus populaire? Comment est-elle apparue?

- Oui, elle était l'un de mes deux livres les plus populaires, avec un livre sur DOS 5. Elle a eu des ventes très élevées et pendant longtemps j'ai reçu un bon revenu d'elle. La plupart de ceux qui me connaissent comme auteur connaissent ce livre en particulier.



À cette époque, la programmation sous Windows a commencé à être très populaire, et beaucoup l'ont étudiée à partir du livre classique de Charles Petzold "Programming Windows", qui se concentrait sur le langage C. Mais au milieu des années 1990, la plupart des développeurs Windows professionnels n'avaient pas écrit en C, mais en C ++ et utilisé MFC, une bibliothèque de classes C ++ pour Windows créée par Microsoft.

J'ai été surpris d'apprendre que Microsoft Press n'a pas publié de livres pour MFC, comme le livre de Petzold. À cette époque, je connaissais Petzold depuis longtemps et je lui ai demandé s'il allait écrire un livre sur la programmation sous Windows en C ++. Il a répondu non, car avec C, il est plus pratique d'enseigner aux gens les choses les plus élémentaires. Après cela, j'ai signé un accord avec Microsoft Press sur un livre sur MFC, et en conséquence, il est devenu un outil assez important pour les programmeurs qui voulaient écrire Windows sous C ++ plutôt que C. J'en ai toujours des copies sur l'étagère, et je Je rencontre toujours des gens qui à un moment donné l'ont lu et s'en souviennent. Il est toujours agréable de savoir que votre livre a aidé la carrière de quelqu'un.

Wintellect, Affaires, Jeffrey Richter


- Vous êtes déjà le deuxième des co-fondateurs de Wintellect, à venir à DotNext. Je veux donc savoir: comment avez-vous rencontré Jeffrey Richter et comment est apparue l'entreprise?

- Jeffrey et moi sommes amis depuis longtemps et communiquons toujours beaucoup. Maintenant, il travaille chez Microsoft, et il aime vraiment ça. Nous nous sommes rencontrés au milieu des années 90; si je ne me trompe pas, cela s'est produit à Redmond, où on nous a montré Windows 95. Microsoft a tenu cette réunion parce qu'ils voulaient recevoir des commentaires. À cette époque, j'avais déjà lu l'un des livres de Jeffrey sur la programmation pour Win32, et lors de cette réunion, je suis allé le voir et lui ai dit que j'aimais vraiment ce qu'il écrivait.

Après cela, nous sommes rapidement devenus amis. Dans les années 1990, nous avons organisé des formations presque chaque semaine pour diverses sociétés comme Intel et Microsoft, principalement aux États-Unis. Le troisième fondateur de Wintellect, John Robbins, a fait de même, nous étions aussi amis avec lui. Fin 1999, nous avons décidé de créer Wintellect, car nous aimions ce que nous faisions et nous voulions le faire ensemble.


Jeffrey Richter au DotNext de l'année dernière

Si ma mémoire est bonne, la société a été enregistrée en avril 2000. Au début, nous avons principalement mené des formations. En 2005, Todd Fine, qui est maintenant notre PDG, est venu dans notre entreprise. Ensuite, sa tâche a été de créer un département de conseil. Moi, Jeffrey et John voulions faire du conseil, mais notre expérience dans ce domaine était limitée, nous avions donc besoin de l'aide de Todd.

Nous menons toujours des formations, mais la plupart de nos revenus proviennent aujourd'hui de la participation au conseil en développement. Nous avons de nombreux développeurs talentueux, à Atlanta et à travers le pays. Nous aidons d'autres sociétés à écrire des logiciels, parfois nous ne participons qu'à la création d'architecture, parfois nous aidons à la fois à l'architecture et à la mise en œuvre, dans certains cas, on nous demande de créer une sorte d'outil dans son ensemble. Des employés réguliers et des entrepreneurs, que nous connaissons depuis de nombreuses années, travaillent avec nous. Notre activité en tant qu'entreprise est que nous recherchons pour nos clients les personnes les plus intelligentes et talentueuses pour écrire les logiciels dont elles ont besoin, et j'aime beaucoup mon travail.

- Lorsque les informaticiens créent une entreprise, ils comprennent tout avec le côté technique, mais le côté commercial a ses propres exigences - qu'en pensez-vous?

- Vous avez raison de dire que lorsque les programmeurs créent une nouvelle entreprise, il ne suffit pas d'avoir de bons architectes et développeurs. Il faut aussi qu'il y ait des gens avec un sens des affaires. Dès les premiers jours de l'existence de Wintellect, nous avons embauché un directeur spécialisé dans les affaires, il n'avait pas de formation technique. Todd, notre PDG actuel, connaît à la fois le côté technique et le métier, il a un MBA.

En outre, le président est récemment venu chez nous avec une expérience dans la gestion d'une entreprise informatique d'une valeur de 100 millions de dollars, il est diplômé de la School of Business du nom de Buta. Autrement dit, nous réalisons que les compétences techniques ne suffisent pas, nous avons également besoin de personnes ayant des compétences en affaires. Et le plus souvent, des gens qui connaissent bien la programmation, comme John, Jeffrey et moi, ne sont pas bons pour gérer la croissance de l'entreprise, les ventes, le marketing, etc. Par conséquent, lorsque les développeurs créent leur propre entreprise, il est important de déterminer leurs forces et leurs faiblesses, et si vous n'avez pas de personne possédant une vaste expérience en affaires, vous devez trouver une telle personne et l'inviter dans votre entreprise. Cela vous permet d'obtenir les meilleures chances de succès.

- Comment vous et Jeff et John vous êtes-vous répartis les rôles lorsque vous avez démarré l'entreprise?

- John, Jeff et moi avions déjà des clients que nous avons consultés et pour lesquels nous avons organisé des formations. Par conséquent, au début, nous avons principalement travaillé avec nos anciens clients. Cela a déterminé la répartition des rôles à ce stade. John Robbins est l'un des principaux experts du débogage au monde, il a donc tout fait pour déboguer la formation ou résoudre des problèmes difficiles et inattendus avec les logiciels.

Jeffrey travaillait généralement avec des choses liées à Win32 ou .NET. J'ai également écrit en .NET et j'étais assez bon en ASP.NET, j'ai donc aidé Geoffrey avec .NET et pris soin de tout ce qui concerne ASP.NET. S'il y avait un besoin de compétences non liées à ces domaines, nous avons embauché d'autres personnes.

- Cette interview sera principalement lue par les développeurs, mais certains d'entre eux envisagent peut-être de créer leur propre entreprise. Que pourriez-vous leur conseiller?

- Premièrement, le déjà mentionné: quels que soient les génies de la programmation, sans compétences en vente et en marketing, vous n'irez pas loin. Dans les premières étapes, il est important non seulement d'embaucher de bons programmeurs, mais également de travailler consciemment sur les composants non techniques de votre organisation: pour fournir un leadership de haute qualité, un service de vente et de marketing fiable. Ce sera mieux pour vous si vous vous occupez de cela, car alors vous ne manquerez pas de travail et vous n'aurez pas besoin de le rechercher constamment.

De plus, je vous conseille de bien choisir vos partenaires commerciaux. J'ai eu beaucoup de chance: moi, John et Jeffrey étions déjà amis lorsque nous avons créé notre entreprise. Nous sommes toujours amis et je les respecte beaucoup. Mais je connais des gens qui, après un certain temps à travailler ensemble, ont réalisé que cela ne valait pas la peine de faire des affaires avec leurs partenaires. Il faut que vous vous entendiez bien et que vous ayez une vision commune du développement de l'entreprise.

Avec les entreprises comme avec les familles: ils se désagrègent souvent non pas par manque de compétences techniques, mais parce que les partenaires n'ont pas de compétences commerciales, ou qu'ils sont mal compatibles les uns avec les autres et se disputent constamment. Ces frictions entravent grandement le succès de l'entreprise, il devient plus difficile d'atteindre un objectif commun.

Mon troisième conseil est le suivant: vous devez avoir une vision non seulement de ce que l'entreprise doit réaliser, mais également en termes de culture d'entreprise. Il vaut mieux en avoir une idée dès le début que de se laisser aller tout seul. De toute évidence, au fur et à mesure que votre entreprise se développe, la situation va changer, il est impossible de prédire avec précision l'avenir et vous devez vous préparer à ces changements. Mais même dans cet esprit, il est important, dès le début, d'avoir une idée de ce à quoi devrait ressembler votre entreprise.

- Au début, tout le monde fait toujours des erreurs - pouvez-vous parler d'une sorte d'erreur dans la gestion de Wintellect afin qu'elle aide quelqu'un d'autre à l'éviter dans votre entreprise?

- Je peux. La leçon à tirer de mon histoire sera la suivante: il est très important de diversifier votre entreprise et vos clients, et de ne pas mettre tous vos œufs dans le même panier. Nous ne l'avons pas fait, et cela s'est avéré être des difficultés assez importantes pour Wintellect.

En 2005, nous avons créé un département de conseil, mais en même temps, nous avons continué à organiser des formations. Au fil des ans, nous avons reçu plusieurs millions de dollars par an de Microsoft pour la formation de leurs développeurs. John, Jeffrey et moi avons constamment voyagé dans les départements Microsoft du monde entier et y avons organisé des formations - à Redmond, Hyderabad, Dublin, Pékin, Shanghai et dans de nombreux autres endroits.

Et tout irait bien, mais en 2014, Microsoft a modifié ses politiques de manière significative et a décidé de ne plus organiser de formation centralisée pour ses employés. Un beau soir de septembre 2014, nous avons reçu un e-mail de Microsoft dans lequel nous étions remerciés pour notre travail passé et nous signalions qu'il n'y aurait plus de contrats de formation. Le département de conseil n'a pas abordé ce sujet, mais le département de formation est devenu non rentable en un jour d'un département rentable, car il y avait beaucoup de gens très intelligents avec une excellente connaissance de leur domaine, et les deux tiers des revenus de ce département provenaient de Microsoft.

En fait, nous savions que nous devions diversifier nos activités et comprenions que la perte d'un contrat avec Microsoft pouvait nous nuire gravement. Mais la diversification a été difficile, car il est difficile de refuser un revenu s'il vous vient. En général, il a fallu plusieurs années à notre service formation pour redevenir rentable. La morale ici est: évitez de dépendre d'un client, car vous devenez très vulnérable si ce client veut soudainement vous quitter.

- Dans les grandes entreprises, ils sont souvent sceptiques quant à l'invitation d'une personne d'une entreprise tierce à enseigner leur code. Comment Wintellect a-t-il géré cela?

- Vous avez raison de dire que pour toute entreprise qui embauche des enseignants tiers, la question se pose toujours de savoir comment ces enseignants sont qualifiés.

Mais cela nous a aidés à savoir que nous n'avons pas été enseignés par des débutants qui ont écrit .NET pendant deux ans, mais par des personnes qui ont participé à la création du cadre lui-même et qui connaissent ceux qui le développent maintenant. Par exemple, lorsque nous avions besoin d'un cours .NET, nous avons envoyé Geoffrey Richter, qui a participé à la création de .NET et à la rédaction du CLR, afin qu'il puisse donner un tel matériel et répondre à des questions auxquelles personne d'autre sur cette planète ne peut probablement répondre. répondre. Nous avons des contacts chez Microsoft, nous connaissons bien les systèmes sur lesquels nous conseillons et, à mon avis, c'est ce qui nous distingue le plus des autres sociétés.

Et nous avions déjà beaucoup d'expérience en enseignement - moi, John Robbins et Jeffery Richter avons formé des programmeurs dans d'autres sociétés pendant de nombreuses années, Wintellect nous a simplement permis d'unir nos forces et d'offrir un ensemble plus complet de cours.

- Malheureusement, toutes les entreprises de formation / conseil n'ont pas leur propre Jeffrey Richter - pouvez-vous donner des conseils à ceux qui n'ont pas de superstars?

- N'essayez pas de tromper le client. Bien sûr, essayez toujours de trouver quelqu'un qui connaît vraiment bien le domaine nécessaire. Mais si vous ne l'avez pas - ne prétendez pas que c'est le cas.

Il y a toujours une tentation de suivre le chemin de la moindre résistance. Lorsqu'un client vous appelle et vous demande de suivre un cours, disons en Java, alors même si vous n'avez pas de spécialiste Java, quelqu'un vous dira: il n'y a pas de revenu superflu, prenons une commande. Nous devons combattre cette tentation. N'envoyez pas pour enseigner à C # la personne qui lui-même a commencé à lui enseigner il y a deux semaines. Les clients ne sont pas des imbéciles, ils se rendront très vite compte que l'enseignant en sait un peu plus que leurs élèves. La qualité doit se construire au fil des années et vous pouvez la perdre en quelques semaines.

Et recherchez des personnes qui non seulement connaissent bien leur sujet, mais savent également travailler avec le public. Il y a beaucoup de gens qui connaissent bien le côté technique de la question, mais pour transférer ces connaissances à un groupe de 10, 20 ou 30 personnes, ils le font mal. C'est un talent qui n'accompagne pas toujours les compétences techniques.

Par conséquent, nous embauchons souvent des personnes qui ont pris la parole à des conférences comme DotNext pendant des années - s'ils n'étaient pas de bons orateurs, ils ne seraient pas invités à nouveau avec des rapports.

- Lorsque vous effectuez des formations pour Microsoft, est-ce différent de la formation dans d'autres entreprises? Par exemple, si au cours du processus de formation, un rapport de question / souhait / bogue apparaît sur .NET, est-il possible qu'il soit immédiatement envoyé aux employés appropriés?

- Il y a des différences. Et nous avons vraiment eu des cas où, après avoir discuté d'un problème dans la leçon, nous avons envoyé des demandes aux développeurs. Cela arrivait parfois parce qu'une personne de l'équipe appropriée était présente à la leçon. Ou l'instructeur pourrait proposer de contacter les créateurs de la technologie. À cet égard, la situation chez Microsoft est vraiment unique.

Il y a une autre différence, qui, je le soupçonne, s'applique à Facebook ou à Google dans la même mesure: Microsoft a beaucoup de gens très intelligents, ils embauchent les meilleurs programmeurs non seulement des États-Unis, mais aussi du monde entier. Par conséquent, les gens viennent aux cours là-bas, pour qui les logiciels ne sont pas seulement des revenus, mais les affaires de leur vie. J'apprécie beaucoup d'enseigner dans un tel public, car ces personnes posent de bonnes questions, sont beaucoup plus motivées et la qualité de la formation est finalement meilleure.

Je pense que tous ceux qui vivent de la formation ont eu des occasions où ils se sont retrouvés dans un public où la plupart des personnes présentes n'étaient pas seules, mais parce que le manager le leur avait dit. Un bon instructeur peut travailler avec un tel public, mais lorsque les gens sont intelligents et motivés, le résultat est encore meilleur. Et c'est exactement le cas chez Microsoft.

Au cours des années de travail chez Microsoft, nous avons organisé de nombreux cours à Redmond, où se trouve le siège social de la société, et il y avait généralement 85 personnes dans les cours, sinon nous ne pourrions pas satisfaire la demande. Même en tenant compte de ces grands groupes, les classes étaient toujours alignées pour les classes, parfois à cause de cela, il y avait des malentendus, une fois que les gens se sont même disputés! Cela s'est produit à une époque où Silverlight était largement utilisé, et j'ai ensuite enseigné à ce sujet, lequel de tous mes cours était le plus populaire chez Microsoft, il était très difficile de les utiliser. Un matin, environ 30 ou 40 personnes se sont rassemblées autour du public, et deux d'entre elles se sont disputées, à la fin, il est venu aux poings et a dû appeler les gardes. Bien sûr, c'est mauvais, mais en même temps, en tant qu'instructeur, je suis heureux de réaliser que les gens sont prêts à se battre pour se rendre en classe.

- Maintenant, la société a des cours vidéo WintellectNOW - pouvez-vous nous en parler? Il y a maintenant beaucoup de cours en ligne, les vôtres sont quelque peu différents?

- Nous avons créé WintellectNOW en 2012. La raison en était la demande de Microsoft: ils ont dit qu'ils ne voulaient pas trop nous forcer avec des vols constants pour mener des cours en direct, et ils avaient également besoin d'une solution plus évolutive. Par conséquent, WintellectNOW était initialement destiné exclusivement à Microsoft, mais est devenu plus tard accessible au grand public.

, . — , , Pluralsight. Pluralsight — , . , .

, 50 .NET Angular. , , . Node.js — Angular, . , 40 Angular, , . .


— ML.NET, ( .NET). , ML , ?

— , . , — , 30 . , . . , zip-, . , , .

— , , . , , . , .

, , , . , , , . . . , , , .

. , . , , , , .

— , — ?

— , . ImageNet, , , , .

-, : - , «». , , . , , , , . , .

, - , , . , , , , . . , , . , , , .

— TechTrain (, - ). , : , « ». , ?

— , «». , , , — , , . .

, , — . , , .

— , Microsoft Google, - . « - , ». ?

— , , . . data science, . , . , . , , , , .

. Wintellect . , 20 , , , . . , , , , . , — .

, . , , ; , .

— . , , « , ». , , . ?

— . , , . , , Win32, -. .

, , . , , , — , , , , . computer science, , , , .

: . , — , , , . , , .

, , , , . . , , , , . . , , , . , , 10 , , , .

DotNext , , 50 . , . — , , , , , , , , , .

, ML.NET, , Python. C#, Python , (Keras, Scipy) — Python. Python - . , Microsoft, ML.NET, , , C# Python. C#, , , , .

DotNext «Machine learning for C# developers: Introducing ML.NET». : «, .NET , ». ML , — .

Source: https://habr.com/ru/post/fr471566/


All Articles