
Für die meisten Partner ist
Jeffrey Richter ein Guru und der wichtigste Autor. Für
Jeff Proseiz ist er jedoch in erster Linie ein Freund und ehemaliger Kollege: Gemeinsam gründeten sie die Firma Wintellect (unter ihren Kunden - Microsoft). Jetzt haben Jeff und Jeffrey ihre beruflichen Wege auseinander gegangen, aber beide widmen ihr Leben immer noch .NET.
Letztes Jahr sprach Jeffrey Richter auf unserer DotNext-Konferenz, wir
interviewten ihn dann für Habr und fragten unter anderem, wie es für einen IT-Experten ist, Geschäfte zu machen. Und jetzt kommt auch Jeff Prosys zu DotNext, so dass es interessant wurde, danach und nach ihm zu fragen. Wie kam es zu dieser „Star“ -Firma? Was kann Jeff Entwicklern empfehlen, die über ihr eigenes Geschäft nachdenken? Vor welchem Fehler kann der Wintellect gewarnt werden?
Und da DotNext auf DotNext eine
Präsentation zu ML.NET halten wird, stellten sie auch einige Fragen zum maschinellen Lernen.
Biographie und Bücher
- Sie haben eine lange Karriere - erzählen Sie uns, wie es begann.- Ich habe 1982 in den USA ein Diplom in Maschinenbau erhalten. Es war eine Zeit, in der gerade die ersten PCs erschienen waren. Ich interessierte mich für sie, sparte Geld und kaufte eines der ersten Modelle. Es stellte sich heraus, dass ich sehr gerne programmiere und auch über Programmierung schreibe, über Computer und Computerbenutzer, insbesondere Entwickler.
Deshalb habe ich 1990 alles dramatisch verändert und die Arbeit eines Ingenieurs verlassen. Zu diesem Zeitpunkt hatte ich bereits Artikel für Zeitschriften geschrieben, aber dann schrieb ich zuerst ein Buch. Seitdem habe ich nicht mehr in meiner alten Spezialität gearbeitet, sondern auf Konferenzen gesprochen, Bücher geschrieben und Entwickler mit den neuesten Technologien unserer Branche geschult. Ich glaube, dass es eine Frage meines Lebens ist, anderen Programmierern und ihren Unternehmen beim Schreiben guter Software zu helfen.
- Worum ging es in diesem ersten Buch?- Es war DOS 5 gewidmet. Die Veröffentlichung von DOS 5 war ein wichtiges Ereignis, genau wie die nachfolgende Veröffentlichung von Windows 95. Mein erstes Buch war ungefähr tausend Seiten lang. Mein Agent sagte dann, dass die Leute normalerweise mit kurzen Büchern beginnen und ich einen Elefanten zur Welt brachte. Dann schrieb ich noch ein paar Bücher über DOS und wechselte dann zu Windows und einigen anderen Themen.
Im Jahr 2001 wurde mein letztes Buch veröffentlicht, das Microsoft .NET gewidmet war - es war das erste Buch über .NET, das in Microsoft Press veröffentlicht wurde. Seitdem schreibe ich keine Bücher mehr, auch weil die Leute Informationen jetzt auf andere Weise aufnehmen. Früher wurde hauptsächlich in Büchern geschult, jetzt gibt es das Internet und vieles mehr. Meine Unterrichtsmethode hat sich nicht geändert, aber anstelle von Büchern verwende ich jetzt Konferenzen, Online-Kurse und mehr.
- Hat sich der Prozess des Schreibens von Büchern seit den 1990er Jahren erheblich verändert oder ist er für die Autoren immer noch der gleiche?- Ja, geändert. In den neunziger Jahren musste der Autor den Text zunächst in einen Texteditor eingeben, dann in zwei Intervallen drucken und per FedEx an den Verlag senden. Nach mehreren Wochen der Bearbeitung wurde der Text rot zurückgegeben. Jetzt geschieht dieser ganze Prozess in elektronischer Form.
Aber was noch wichtiger ist, die Menschen lernen jetzt anders. Ein gut geschriebenes Buch zu einem wichtigen Thema in den neunziger Jahren war fast garantiert gefragt, und es war zu erwarten, dass die Menschen daraus lernen würden. Dies trifft heute teilweise zu, aber die Nachfrage nach Büchern ist viel geringer geworden, weil es so viele andere Lernmethoden gibt und Bücher viel weniger wichtig geworden sind als vor 20 Jahren.
- Im Internet finden Sie häufig eine Erwähnung Ihres Buches „Programmieren von Windows mit MFC“ - ist es das beliebteste geworden? Wie ist sie erschienen?- Ja, sie war eines meiner beiden beliebtesten Bücher, zusammen mit einem Buch über DOS 5. Sie hatte sehr hohe Umsätze und ich erhielt lange Zeit ein gutes Einkommen von ihr. Die meisten, die mich als Autor kennen, kennen dieses Buch.
Zu dieser Zeit wurde das Programmieren unter Windows sehr beliebt, und viele studierten es aus Charles Petzolds klassischem Buch „Programming Windows“, das sich auf die C-Sprache konzentrierte. Mitte der neunziger Jahre hatten die meisten professionellen Windows-Entwickler jedoch nicht in C, sondern in C geschrieben C ++ und verwendete MFC, eine C ++ - Klassenbibliothek für Windows von Microsoft.
Ich war überrascht zu erfahren, dass Microsoft Press keine Bücher für MFC veröffentlicht hat, ähnlich wie Petzolds Buch. Zu dieser Zeit kannte ich Petzold schon lange und fragte ihn, ob er ein Buch über das Programmieren unter Windows in C ++ schreiben würde. Er antwortete nein, weil es mit C bequemer ist, den Menschen die grundlegendsten Dinge beizubringen. Danach unterzeichnete ich mit Microsoft Press eine Vereinbarung über ein Buch über MFC. Infolgedessen wurde es ein ziemlich wichtiges Werkzeug für Programmierer, die Windows eher unter C ++ als unter C schreiben wollten. Ich habe immer noch Kopien davon im Regal, und ich Ich treffe immer noch Leute, die es einmal gelesen haben und sich an mich erinnern. Es ist immer schön zu wissen, dass Ihr Buch jemandem bei seiner Karriere geholfen hat.
Wintellect, Business, Jeffrey Richter
- Sie sind bereits der zweite Mitbegründer von Wintellect, der zu DotNext kommt. Ich möchte wissen: Wie haben Sie Jeffrey Richter kennengelernt und wie ist das Unternehmen entstanden?- Jeffrey und ich sind seit langer Zeit befreundet und kommunizieren immer noch viel. Jetzt arbeitet er bei Microsoft und es gefällt ihm dort sehr gut. Wir haben uns Mitte der neunziger Jahre getroffen; Wenn ich mich nicht irre, geschah dies in Redmond, wo uns Windows 95 gezeigt wurde. Microsoft hielt dieses Meeting ab, weil sie Feedback erhalten wollten. Zu dieser Zeit las ich bereits eines von Jeffreys Büchern über das Programmieren für Win32, und bei diesem Treffen ging ich zu ihm und sagte, dass mir das, was er schreibt, wirklich gefällt.
Danach wurden wir schnell Freunde. In den neunziger Jahren führten wir fast jede Woche Schulungen für verschiedene Unternehmen wie Intel und Microsoft durch, hauptsächlich in den USA. Der dritte Gründer von Wintellect, John Robbins, tat dasselbe, wir waren auch mit ihm befreundet. Ende 1999 haben wir uns für Wintellect entschieden, weil uns das, was wir gemacht haben, gefallen hat und wir es gemeinsam machen wollten.
Jeffrey Richter beim letztjährigen DotNextWenn ich mich recht erinnere, wurde das Unternehmen im April 2000 registriert. Zunächst haben wir hauptsächlich Schulungen durchgeführt. Im Jahr 2005 kam Todd Fine, der jetzt unser CEO ist, zu unserem Unternehmen. Dann bestand seine Aufgabe darin, eine Beratungsabteilung aufzubauen. Ich, Jeffrey und John wollten Beratung machen, aber unsere Erfahrung in diesem Bereich war begrenzt, so dass wir die Hilfe von Todd brauchten.
Wir führen noch Schulungen durch, aber der größte Teil unseres heutigen Einkommens stammt aus der Teilnahme von Beratern an der Entwicklung. Wir haben viele talentierte Entwickler, sowohl in Atlanta als auch im ganzen Land. Wir helfen anderen Unternehmen beim Schreiben von Software, manchmal beteiligen wir uns nur an der Erstellung von Architekturen, manchmal helfen wir sowohl bei der Architektur als auch bei der Implementierung, in einigen Fällen werden wir gebeten, eine Art Tool als Ganzes zu erstellen. Sowohl reguläre Mitarbeiter als auch Auftragnehmer, die wir seit vielen Jahren kennen, arbeiten mit uns zusammen. Unsere Tätigkeit als Unternehmen besteht darin, dass wir für unsere Kunden die intelligentesten und talentiertesten Leute suchen, um die Software zu schreiben, die sie benötigen, und ich genieße meine Arbeit sehr.
- Wenn IT-Mitarbeiter ein Unternehmen gründen, verstehen sie alles mit der technischen Seite der Dinge, aber die geschäftliche Seite hat ihre eigenen Anforderungen - was denken Sie darüber?- Sie haben Recht, wenn Programmierer ein neues Unternehmen gründen, reicht es nicht aus, nur gute Architekten und Entwickler zu haben. Es ist auch notwendig, dass es Menschen mit Geschäftssinn gibt. In den ersten Tagen von Wintellects Existenz haben wir einen Direktor eingestellt, der sich speziell auf das Geschäft spezialisiert hat und keinen technischen Hintergrund hat. Todd, unser derzeitiger CEO, kennt sowohl die technische Seite als auch das Geschäft. Er hat einen MBA.
Darüber hinaus kam der Präsident kürzlich mit Erfahrung in der Leitung eines IT-Unternehmens im Wert von 100 Millionen US-Dollar zu uns. Er absolvierte die nach ihm benannte School of Business Buta. Das heißt, wir erkennen, dass technische Fähigkeiten nicht ausreichen, wir brauchen auch Menschen mit geschäftlichen Fähigkeiten. Und meistens sind Leute, die sich mit Programmieren gut auskennen, wie John, Jeffrey und ich, nicht gut darin, Unternehmenswachstum, Vertrieb, Marketing und dergleichen zu steuern. Wenn Entwickler ein eigenes Unternehmen gründen, ist es daher wichtig, ihre Stärken und Schwächen zu ermitteln. Wenn Sie keine Person mit umfassender Geschäftserfahrung haben, müssen Sie eine solche Person finden und sie in Ihr Unternehmen einladen. So erzielen Sie die größten Erfolgschancen.
- Wie haben Sie und Jeff und John die Rollen einander zugewiesen, als Sie das Unternehmen gegründet haben?- Sowohl John als auch Jeff und ich hatten bereits Kunden, die wir konsultiert und für die wir Schulungen durchgeführt haben. Deshalb haben wir zunächst hauptsächlich mit unseren alten Kunden zusammengearbeitet. Dies bestimmte die Rollenverteilung in dieser Phase. John Robbins ist einer der weltweit führenden Debugging-Experten. Er hat also alles getan, was mit dem Debugging-Training oder der Lösung schwieriger und unerwarteter Probleme mit Software zu tun hat.
Jeffrey arbeitete normalerweise mit Dingen, die mit Win32 oder .NET zu tun hatten. Ich habe auch in .NET geschrieben und war ziemlich gut in ASP.NET, also habe ich Geoffrey bei .NET geholfen und mich um alles gekümmert, was mit ASP.NET zu tun hat. Wenn ein Bedarf an Fähigkeiten bestand, die nicht mit diesen Bereichen zusammenhängen, haben wir andere Mitarbeiter eingestellt.
- Dieses Interview wird hauptsächlich von Entwicklern gelesen, aber vielleicht denken einige von ihnen darüber nach, ein eigenes Unternehmen zu gründen. Was könnten Sie ihnen raten?- Erstens das bereits erwähnte: Egal, welche Genies Sie programmieren, ohne Vertriebs- und Marketingfähigkeiten werden Sie nicht weit kommen. In der Anfangsphase ist es wichtig, nicht nur gute Programmierer einzustellen, sondern auch bewusst an den nichttechnischen Komponenten Ihres Unternehmens zu arbeiten: um eine qualitativ hochwertige Führung, eine zuverlässige Vertriebs- und Marketingabteilung bereitzustellen. Es ist besser für Sie, wenn Sie sich darum kümmern, denn dann wird es Ihnen nicht an Arbeit mangeln und Sie müssen nicht ständig danach suchen.
Darüber hinaus würde ich Ihnen raten, Ihre Geschäftspartner sehr sorgfältig auszuwählen. Ich hatte großes Glück: Ich, John und Jeffrey waren bereits Freunde, als wir unsere Firma gründeten. Wir sind immer noch Freunde und ich respektiere sie sehr. Aber ich kenne Leute, die nach einiger Zeit der Zusammenarbeit erkannt haben, dass es sich nicht lohnt, mit ihren Partnern Geschäfte zu machen. Es ist notwendig, dass Sie gut miteinander auskommen und eine gemeinsame Vision davon haben, wie sich das Unternehmen entwickeln soll.
Bei Unternehmen wie bei Familien: Sie fallen oft nicht aufgrund mangelnder technischer Fähigkeiten auseinander, sondern weil Partner keine geschäftlichen Fähigkeiten haben oder schlecht miteinander kompatibel sind und sich ständig streiten. Diese Reibungen behindern den Erfolg des Unternehmens erheblich, es wird schwieriger, ein gemeinsames Ziel zu erreichen.
Mein dritter Rat lautet: Sie müssen eine Vision haben, nicht nur was das Unternehmen erreichen soll, sondern auch in Bezug auf die Unternehmenskultur. Es ist besser, von Anfang an eine Vorstellung davon zu haben, als sie von selbst loszulassen. Wenn Ihr Unternehmen wächst, wird sich die Situation natürlich ändern, es ist unmöglich, die Zukunft genau vorherzusagen, und Sie müssen auf diese Änderungen vorbereitet sein. Vor diesem Hintergrund ist es von Anfang an wichtig, eine Vorstellung davon zu haben, wie Ihr Unternehmen aussehen sollte.
- Zuerst macht jeder immer Fehler - können Sie über einen Fehler bei der Verwaltung von Wintellect sprechen, damit jemand anderes dies in Ihrem Unternehmen vermeiden kann?- Ich kann. Die Lektion, die ich aus meiner Geschichte lernen kann, lautet: Es ist sehr wichtig, Ihr Unternehmen und Ihre Kunden zu diversifizieren und nicht alle Eier in einen Korb zu legen. Wir haben dies nicht getan, und dies stellte sich für Wintellect als ziemlich bedeutende Schwierigkeit heraus.
Im Jahr 2005 haben wir eine Beratungsabteilung eingerichtet, gleichzeitig aber weiterhin Schulungen durchgeführt. Im Laufe der Jahre haben wir von Microsoft jährlich viele Millionen Dollar für die Schulung ihrer Entwickler erhalten. John, Jeffrey und ich flogen ständig zu Microsoft-Abteilungen auf der ganzen Welt und führten dort Schulungen durch - in Redmond, Hyderabad, Dublin, Peking, Shanghai und vielen anderen Orten.
Und alles wäre in Ordnung, aber 2014 hat Microsoft seine Richtlinien erheblich geändert und beschlossen, keine zentralisierten Schulungen mehr für seine Mitarbeiter durchzuführen. An einem schönen Abend im September 2014 erhielten wir eine E-Mail von Microsoft, in der wir uns für unsere bisherige Arbeit bedankten und berichteten, dass es keine Schulungsverträge mehr geben würde. Die Beratungsabteilung hat dies nicht angesprochen, aber die Schulungsabteilung wurde an einem Tag von einer profitablen unrentabel, da es viele sehr kluge Leute mit hervorragenden Fachkenntnissen gab und zwei Drittel der Einnahmen aus dieser Abteilung von Microsoft stammten.
Tatsächlich wussten wir, dass wir unser Geschäft diversifizieren sollten, und verstanden, dass der Verlust eines Vertrags mit Microsoft uns ernsthaft schaden könnte. Die Diversifizierung war jedoch schwierig, da es schwierig ist, Einkommen zu verweigern, wenn es um Sie geht. Im Allgemeinen hat unsere Schulungsabteilung mehrere Jahre gebraucht, um wieder profitabel zu werden. Die Moral hier lautet: Vermeiden Sie die Abhängigkeit von einem Kunden, da Sie sehr verletzlich werden, wenn dieser Kunde Sie plötzlich verlassen möchte.
- In großen Unternehmen sind sie oft skeptisch, wenn sie eine Person eines Drittunternehmens einladen, ihren Code zu unterrichten. Wie hat Wintellect damit umgegangen?- Sie haben Recht, dass sich für jedes Unternehmen, das Fremdlehrer anstellt, immer die Frage stellt, wie qualifiziert diese Lehrer sind.
Aber es hat uns geholfen, dass wir nicht von Anfängern unterrichtet wurden, die zwei Jahre lang .NET geschrieben haben, sondern von Leuten, die an der Erstellung des Frameworks selbst beteiligt waren und diejenigen kennen, die es jetzt entwickeln. Wenn wir zum Beispiel einen .NET-Kurs brauchten, schickten wir Geoffrey Richter, der an der Erstellung von .NET und dem Schreiben der CLR beteiligt war, damit er solches Material geben und Fragen beantworten kann, die höchstwahrscheinlich niemand auf diesem Planeten beantworten kann. zu antworten. Wir haben Kontakte zu Microsoft, sind uns der Systeme bewusst, zu denen wir beraten, und meiner Meinung nach unterscheidet uns dies am meisten von anderen Unternehmen.
Und wir hatten bereits viel Unterrichtserfahrung - ich, John Robbins und Jeffery Richter haben viele Jahre lang Programmierer in anderen Unternehmen ausgebildet. Wintellect hat uns einfach erlaubt, uns zusammenzuschließen und ein vollständigeres Angebot an Kursen anzubieten.
- Leider hat nicht jedes Trainings- / Beratungsunternehmen seinen eigenen Jeffrey Richter - können Sie diejenigen beraten, die keine Superstars haben?- Versuchen Sie nicht, den Client auszutricksen. Versuchen Sie natürlich immer, jemanden zu finden, der den erforderlichen Bereich wirklich genau kennt. Aber wenn Sie es nicht haben - tun Sie nicht so, als wäre es das.
Es besteht immer die Versuchung, dem Weg des geringsten Widerstands zu folgen. Wenn ein Kunde Sie anruft und Sie auffordert, einen Kurs durchzuführen, beispielsweise in Java, sagt jemand, selbst wenn Sie keinen Java-Spezialisten haben: Es gibt kein überflüssiges Einkommen. Nehmen wir eine Bestellung auf. Wir müssen diese Versuchung bekämpfen. Senden Sie nicht, um C # die Person zu unterrichten, die ihn vor zwei Wochen selbst unterrichtet hat. Klienten sind keine Dummköpfe, sie werden sehr schnell erkennen, dass der Lehrer etwas mehr weiß als ihre Schüler. Qualität muss im Laufe der Jahre aufgebaut werden, und Sie können sie in wenigen Wochen verlieren.
Und suchen Sie nach Menschen, die nicht nur ihr Thema gut kennen, sondern auch wissen, wie man mit dem Publikum arbeitet. Es gibt viele Leute, die die technische Seite der Sache gut kennen, aber um dieses Wissen auf eine Gruppe von 10, 20 oder 30 Leuten zu übertragen, tun sie es schlecht. Dies ist ein Talent, das nicht immer mit technischen Fähigkeiten einhergeht.
Daher stellen wir häufig Leute ein, die seit Jahren auf Konferenzen wie DotNext sprechen. Wenn sie keine guten Redner wären, würden sie nicht erneut zu Präsentationen eingeladen.
- Wenn Sie Schulungen für Microsoft durchführen, unterscheidet sich dies von Schulungen bei anderen Unternehmen? Wenn beispielsweise während des Schulungsprozesses ein Frage- / Wunsch- / Fehlerbericht zu .NET auftritt, wird dieser dann sofort an die entsprechenden Mitarbeiter gesendet?- Es gibt Unterschiede. Und wir hatten wirklich Fälle, in denen wir nach Erörterung eines Problems in der Lektion Anfragen an die Entwickler gesendet haben. Manchmal geschah dies, weil eine Person aus dem entsprechenden Team bei der Lektion anwesend war. Oder der Ausbilder könnte anbieten, die Entwickler der Technologie zu kontaktieren. In dieser Hinsicht ist die Situation bei Microsoft wirklich einzigartig.
Es gibt noch einen weiteren Unterschied, der, wie ich vermute, in gleichem Maße für Facebook oder Google gilt: Microsoft hat viele sehr kluge Leute, die die besten Programmierer nicht nur aus den USA, sondern auch aus der ganzen Welt einstellen. Daher kommen dort Menschen zu Klassen, für die Software nicht nur ein Verdienst ist, sondern das Geschäft ihres Lebens. Es ist mir eine große Freude, in einem solchen Publikum zu unterrichten, weil solche Leute gute Fragen stellen, viel besser motiviert sind und die Qualität des Trainings letztendlich höher ist.
Ich denke, dass jeder, der vom Training lebt, Gelegenheiten hatte, in einem Publikum zu landen, in dem die meisten Anwesenden nicht freiwillig saßen, sondern weil der Manager es ihnen sagte. Ein guter Lehrer kann mit einem solchen Publikum arbeiten, aber wenn die Leute klug und motiviert sind, ist das Ergebnis immer noch besser. Und genau das ist bei Microsoft der Fall.
Während der jahrelangen Arbeit bei Microsoft haben wir viele Kurse in Redmond durchgeführt, wo sich der Hauptsitz des Unternehmens befindet. In der Regel waren 85 Personen in den Kursen, andernfalls konnten wir die Nachfrage nicht befriedigen. Selbst unter Berücksichtigung solch großer Gruppen standen die Klassen immer noch für Klassen an, manchmal gab es deshalb Missverständnisse, sobald die Leute überhaupt in einen Kampf gerieten! Dies geschah zu einer Zeit, als Silverlight weit verbreitet war, und ich unterrichtete darauf, welche meiner Kurse bei Microsoft am beliebtesten waren. Es war sehr schwierig, an sie heranzukommen. Eines Morgens versammelten sich ungefähr 30 oder 40 Leute um das Publikum, und zwei von ihnen stritten sich miteinander. Am Ende kam es zu den Fäusten und sie mussten die Wachen rufen. Das ist natürlich schlecht, aber gleichzeitig freue ich mich als Ausbilder zu erkennen, dass die Leute bereit sind, zu einem Kampf zu gehen, um zum Unterricht zu kommen.
- Jetzt hat das Unternehmen Videokurse WintellectNOW - können Sie uns davon erzählen? Es gibt jetzt viele Online-Kurse, Ihre sind etwas anders?- Wir haben WintellectNOW im Jahr 2012 erstellt. Der Grund dafür war die Anfrage von Microsoft: Sie sagten, sie wollten uns nicht zu sehr mit ständigen Flügen belasten, um Live-Kurse durchzuführen, und sie brauchten auch eine skalierbarere Lösung. Daher war WintellectNOW ursprünglich ausschließlich für Microsoft gedacht, wurde aber später der Öffentlichkeit zugänglich gemacht.
, . — , , 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 , — .