"Pengembang yang baik tidak cukup untuk membuat perusahaan": Jeff Proseiz tentang bisnis dan pembelajaran mesin



Bagi kebanyakan afiliasi, Jeffrey Richter adalah seorang guru dan penulis terpenting. Tetapi bagi Jeff Proseiz, dia terutama adalah teman dan mantan kolega: mereka bersama-sama mendirikan perusahaan Wintellect (di antara para pelanggannya - Microsoft). Sekarang Jeff dan Jeffrey telah menyimpang jalur profesional mereka, tetapi keduanya masih mengabdikan hidup mereka untuk .NET.

Tahun lalu, Jeffrey Richter berbicara di konferensi DotNext kami, kami kemudian mewawancarainya untuk Habr, dan di antara yang lain bertanya seperti apa rasanya bagi seorang profesional TI untuk terjun ke bisnis. Dan sekarang Jeff Prosise juga datang ke DotNext, jadi menarik untuk bertanya tentang ini dan dia. Bagaimana perusahaan "bintang" ini muncul? Apa yang dapat direkomendasikan Jeff kepada pengembang untuk mempertimbangkan bisnis mereka sendiri? Kesalahan apa yang bisa dialami Wintellect terhadap?

Dan karena DotNext akan membuat presentasi tentang ML.NET di DotNext, mereka juga mengajukan beberapa pertanyaan tentang pembelajaran mesin.

Biografi dan buku


- Anda memiliki karir yang panjang - beri tahu kami bagaimana awalnya.

- Saya menerima diploma teknik mesin pada tahun 1982 di Amerika Serikat. Itu adalah waktu ketika komputer pribadi pertama baru saja muncul. Saya menjadi tertarik pada mereka, menabung dan membeli salah satu model pertama. Ternyata saya sangat suka pemrograman, dan juga menulis tentang pemrograman, tentang komputer dan melatih pengguna komputer, terutama pengembang.

Karena itu, pada tahun 1990, saya mengubah segalanya secara dramatis, meninggalkan pekerjaan seorang insinyur. Pada saat itu, saya sudah menulis artikel untuk majalah, tetapi kemudian saya pertama kali menulis buku. Sejak itu, saya tidak lagi bekerja di bidang keahlian lama saya, saya mulai berbicara di konferensi, menulis buku dan melatih pengembang dengan teknologi terbaru di industri kami. Saya percaya bahwa membantu programmer lain dan perusahaan mereka menulis perangkat lunak yang baik adalah masalah hidup saya.

- Tentang apa buku pertama ini?

- Itu didedikasikan untuk DOS 5. Rilis DOS 5 adalah peristiwa penting, seperti rilis Windows 95 berikutnya. Buku pertama saya adalah sekitar seribu halaman. Agen saya kemudian mengatakan bahwa biasanya orang mulai dengan buku pendek, dan saya melahirkan gajah. Kemudian saya menulis beberapa buku lagi tentang DOS, dan kemudian beralih ke Windows dan beberapa topik lainnya.

Pada tahun 2001, buku terakhir saya diterbitkan, buku ini dikhususkan untuk Microsoft .NET - itu adalah buku pertama tentang .NET yang diterbitkan dalam Microsoft Press. Sejak itu, saya tidak lagi menulis buku, sebagian karena orang sekarang menyerap informasi dengan cara yang berbeda. Sebelumnya, pelatihan berlangsung terutama di buku-buku, sekarang ada internet dan banyak lagi. Metode pengajaran saya tidak berubah, tetapi alih-alih buku, saya sekarang menggunakan konferensi, kursus online dan banyak lagi.

- Apakah proses penulisan buku sejak tahun 1990 berubah secara signifikan, atau apakah masih sama untuk penulis?

- Ya, berubah. Pada 1990-an, penulis pertama-tama harus mengetik teks dalam editor teks, kemudian mencetaknya dalam dua interval dan mengirimkannya melalui FedEx ke penerbit, dan setelah beberapa minggu mengedit teks dikembalikan dalam warna merah. Sekarang seluruh proses ini terjadi dalam bentuk elektronik.

Tetapi yang lebih penting, orang sekarang belajar secara berbeda. Sebuah buku yang ditulis dengan baik tentang subjek penting pada 1990-an hampir dijamin laris, bisa diharapkan orang akan belajar darinya. Ini sebagian benar hari ini, tetapi permintaan akan buku menjadi jauh lebih sedikit, karena ada begitu banyak cara belajar lain, dan buku menjadi jauh kurang penting daripada 20 tahun yang lalu.

- Di Internet, Anda sering menemukan buku "Pemrograman Windows dengan MFC" - apakah sudah paling populer? Bagaimana dia muncul?

- Ya, dia adalah salah satu dari dua buku saya yang paling populer, bersama dengan buku tentang DOS 5. Dia memiliki penjualan yang sangat tinggi, dan untuk waktu yang lama saya menerima penghasilan yang baik darinya. Sebagian besar dari mereka yang mengenal saya sebagai penulis akrab dengan buku khusus ini.



Pada saat itu, pemrograman di bawah Windows mulai sangat populer, dan banyak yang mempelajarinya dari buku klasik Charles Petzold "Programming Windows", yang berfokus pada bahasa C. Tetapi pada pertengahan 1990-an, sebagian besar pengembang Windows profesional telah menulis tidak dalam bahasa C, tetapi dalam C ++, dan menggunakan MFC, pustaka kelas C ++ untuk Windows yang dibuat oleh Microsoft.

Saya terkejut mengetahui bahwa Microsoft Press tidak menerbitkan buku untuk MFC, mirip dengan buku Petzold. Pada saat itu, saya sudah lama mengenal Petzold, dan saya bertanya kepadanya apakah dia akan menulis buku tentang pemrograman di Windows di C ++. Dia menjawab tidak, karena dengan C lebih mudah untuk mengajar orang hal-hal yang paling mendasar. Setelah itu, saya menandatangani perjanjian dengan Microsoft Press pada sebuah buku tentang MFC, dan sebagai hasilnya, itu menjadi alat yang cukup penting bagi programmer yang ingin menulis Windows di bawah C ++ daripada C. Saya masih memiliki salinannya di rak, dan saya Saya masih bertemu orang-orang yang pada suatu waktu membacanya dan mengingat saya dari itu. Selalu menyenangkan mengetahui bahwa buku Anda telah membantu karier seseorang.

Wintellect, Bisnis, Jeffrey Richter


- Anda sudah yang kedua dari co-pendiri Wintellect, datang ke DotNext. Jadi saya ingin tahu: bagaimana Anda bertemu Jeffrey Richter dan bagaimana perusahaan itu muncul?

- Jeffrey dan saya sudah lama berteman, dan masih banyak berkomunikasi. Sekarang dia bekerja di Microsoft, dan dia sangat suka di sana. Kami bertemu di pertengahan 1990-an; jika saya tidak salah, ini terjadi di Redmond, tempat kami ditunjukkan Windows 95. Microsoft mengadakan pertemuan ini karena mereka ingin menerima umpan balik. Pada saat itu, saya sudah membaca salah satu buku Jeffrey tentang pemrograman untuk Win32, dan pada pertemuan ini saya mendatanginya dan berkata bahwa saya sangat suka apa yang dia tulis.

Setelah itu kami dengan cepat menjadi teman. Pada 1990-an, kami mengadakan pelatihan hampir setiap minggu untuk berbagai perusahaan seperti Intel dan Microsoft, terutama di AS. Pendiri ketiga Wintellect, John Robbins, melakukan hal yang sama, kami juga berteman dengannya. Pada akhir tahun 1999, kami memutuskan untuk menciptakan Wintellect, karena kami menyukai apa yang kami lakukan dan kami ingin melakukannya bersama.


Jeffrey Richter di DotNext tahun lalu

Jika ingatanku benar, perusahaan itu terdaftar pada April 2000. Awalnya, kami terutama mengadakan pelatihan. Pada tahun 2005, Todd Fine, yang sekarang menjadi CEO kami, datang ke perusahaan kami. Kemudian tugasnya adalah membuat departemen konsultasi. Saya, Jeffrey dan John ingin berkonsultasi, tetapi pengalaman kami di bidang ini terbatas, jadi kami membutuhkan bantuan Todd.

Kami masih melakukan pelatihan, tetapi sebagian besar penghasilan kami hari ini berasal dari partisipasi konsultasi dalam pembangunan. Kami memiliki banyak pengembang berbakat, baik di Atlanta dan di seluruh negeri. Kami membantu perusahaan lain menulis perangkat lunak, kadang-kadang kami hanya berpartisipasi dalam penciptaan arsitektur, kadang-kadang kami membantu dengan arsitektur dan implementasi, dalam beberapa kasus kami diminta untuk membuat semacam alat secara keseluruhan. Baik karyawan biasa maupun kontraktor, yang telah kami kenal selama bertahun-tahun, bekerja bersama kami. Aktivitas kami sebagai perusahaan adalah mencari klien kami yang paling cerdas dan berbakat untuk menulis perangkat lunak yang mereka butuhkan, dan saya sangat menikmati pekerjaan saya.

- Ketika orang-orang IT menciptakan perusahaan, mereka memahami segala sesuatu dengan sisi teknis, tetapi sisi bisnis memiliki persyaratan sendiri - apa pendapat Anda tentang ini?

- Anda benar bahwa ketika programmer membuat perusahaan baru, tidak cukup hanya memiliki arsitek dan pengembang yang baik. Juga penting bahwa ada orang dengan ketajaman bisnis. Dari hari-hari pertama keberadaan Wintellect, kami merekrut seorang direktur yang berspesialisasi khusus dalam bisnis, ia tidak memiliki latar belakang teknis. Todd, CEO kami saat ini, tahu sisi teknis dan bisnisnya, ia memiliki gelar MBA.

Selain itu, presiden baru-baru ini datang kepada kami dengan pengalaman dalam mengelola perusahaan IT senilai $ 100 juta, ia lulus dari School of Business yang dinamai Buta. Artinya, kami menyadari bahwa keterampilan teknis tidak cukup, kami juga membutuhkan orang-orang dengan keterampilan bisnis. Dan lebih sering daripada tidak, orang yang tahu pemrograman dengan baik, seperti John, Jeffrey, dan saya, tidak pandai mengelola pertumbuhan perusahaan, penjualan, pemasaran, dan sejenisnya. Oleh karena itu, ketika pengembang mendirikan perusahaan mereka sendiri, penting untuk menentukan kekuatan dan kelemahan mereka, dan jika Anda tidak memiliki orang dengan pengalaman bisnis yang luas, Anda perlu menemukan orang tersebut dan mengundang dia ke perusahaan Anda. Ini memungkinkan Anda untuk mencapai peluang sukses terbesar.

- Bagaimana Anda dan Jeff dan John memberikan peran satu sama lain ketika Anda memulai perusahaan?

- Baik John, dan Jeff, dan saya sudah memiliki klien yang kami berkonsultasi dan untuk siapa kami mengadakan pelatihan. Karena itu, pada awalnya kami bekerja terutama dengan pelanggan lama kami. Ini menentukan distribusi peran pada tahap itu. John Robbins adalah salah satu pakar debugging terkemuka di dunia, jadi ia melakukan segala sesuatu yang berkaitan dengan pelatihan debugging atau memecahkan masalah yang sulit dan tidak terduga dengan perangkat lunak.

Jeffrey biasanya bekerja dengan hal-hal yang berkaitan dengan Win32 atau .NET. Saya juga menulis di .NET, dan cukup bagus di ASP.NET, jadi saya membantu Geoffrey dengan .NET dan mengurus semua yang berhubungan dengan ASP.NET. Jika ada kebutuhan akan keterampilan yang tidak terkait dengan bidang-bidang ini, kami merekrut orang lain.

- Wawancara ini terutama akan dibaca oleh pengembang, tetapi mungkin beberapa dari mereka berpikir untuk membuat perusahaan mereka sendiri. Apa yang bisa Anda sarankan kepada mereka?

- Pertama, yang sudah disebutkan: tidak peduli apa jenius Anda dalam pemrograman, tanpa keterampilan penjualan dan pemasaran Anda tidak akan pergi jauh. Pada tahap awal, penting tidak hanya untuk merekrut programmer yang baik, tetapi juga untuk secara sadar bekerja pada komponen non-teknis dari organisasi Anda: untuk memberikan kepemimpinan berkualitas tinggi, departemen penjualan dan pemasaran yang andal. Akan lebih baik bagi Anda jika Anda mengurus ini, karena Anda tidak akan kekurangan pekerjaan, dan Anda tidak perlu terus-menerus mencarinya.

Selain itu, saya akan menyarankan Anda untuk memilih mitra bisnis Anda dengan sangat hati-hati. Saya sangat beruntung: Saya, John dan Jeffrey sudah berteman ketika kami memulai perusahaan kami. Kami masih berteman, dan saya sangat menghormati mereka. Tetapi saya tahu orang-orang yang setelah beberapa waktu bekerja bersama menyadari bahwa tidak ada gunanya berbisnis dengan mitra mereka. Adalah penting bahwa Anda rukun satu sama lain, dan bahwa Anda memiliki visi yang sama tentang bagaimana perusahaan seharusnya berkembang.

Dengan perusahaan seperti halnya keluarga: mereka sering berantakan bukan karena kurangnya keterampilan teknis, tetapi karena mitra tidak memiliki keterampilan bisnis, atau mereka tidak cocok satu sama lain dan terus-menerus bertengkar. Gesekan-gesekan ini sangat menghambat kesuksesan perusahaan, menjadi semakin sulit untuk mencapai tujuan bersama.

Nasihat ketiga saya adalah ini: Anda perlu memiliki visi tidak hanya tentang apa yang harus dicapai perusahaan, tetapi juga dalam hal budaya perusahaan. Lebih baik memiliki gagasan tentang ini sejak awal daripada membiarkannya berjalan sendiri. Jelas, ketika bisnis Anda tumbuh, situasinya akan berubah, tidak mungkin untuk secara akurat memprediksi masa depan, dan Anda harus siap untuk perubahan ini. Tetapi bahkan dengan mengingat hal ini, penting sejak awal untuk memiliki gagasan tentang bagaimana seharusnya bisnis Anda.

- Pada awalnya, semua orang selalu membuat kesalahan - dapatkah Anda berbicara tentang semacam kesalahan dalam mengelola Wintellect sehingga membantu orang lain menghindarinya dalam bisnis Anda?

- Saya bisa. Pelajaran yang dapat dipetik dari cerita saya adalah ini: sangat penting untuk mendiversifikasi bisnis Anda dan pelanggan Anda, dan tidak menaruh semua telur Anda dalam satu keranjang. Kami tidak melakukan ini, dan ini ternyata merupakan kesulitan yang cukup signifikan bagi Wintellect.

Pada tahun 2005, kami menciptakan departemen konsultasi, tetapi pada saat yang sama terus melakukan pelatihan. Selama bertahun-tahun, kami telah menerima jutaan dolar per tahun dari Microsoft untuk melatih pengembang mereka. John, Jeffrey dan saya terus-menerus terbang ke departemen Microsoft di seluruh dunia dan mengadakan pelatihan di sana - di Redmond, Hyderabad, Dublin, Beijing, Shanghai, dan banyak tempat lainnya.

Dan semuanya akan baik-baik saja, tetapi pada tahun 2014, Microsoft mengubah kebijakan mereka secara signifikan dan memutuskan untuk tidak melakukan pelatihan terpusat untuk karyawan mereka lagi. Suatu malam yang indah di bulan September 2014, kami menerima email dari Microsoft di mana kami berterima kasih atas pekerjaan kami sebelumnya dan melaporkan bahwa tidak akan ada lagi kontrak pelatihan. Departemen konsultasi tidak menyentuh ini, tetapi departemen pelatihan menjadi tidak menguntungkan dalam satu hari dari yang menguntungkan, karena ada banyak orang yang sangat pintar dengan pengetahuan yang sangat baik di bidangnya, dan dua pertiga dari pendapatan dari departemen ini berasal dari Microsoft.

Faktanya, kami tahu bahwa kami harus mendiversifikasi bisnis kami, dan memahami bahwa kehilangan kontrak dengan Microsoft dapat membahayakan kami. Tetapi diversifikasi itu sulit, karena sulit untuk menolak pendapatan jika itu datang kepada Anda. Secara umum, butuh beberapa tahun bagi departemen pelatihan kami untuk menjadi menguntungkan lagi. Moral di sini adalah: hindari ketergantungan pada satu klien, karena Anda menjadi sangat rentan jika klien ini tiba-tiba ingin meninggalkan Anda.

- Di perusahaan besar, mereka sering ragu mengundang seseorang dari perusahaan pihak ketiga untuk mengajarkan kode mereka. Bagaimana Wintellect menangani ini?

- Anda benar bahwa untuk perusahaan mana pun yang mempekerjakan guru pihak ketiga, pertanyaan selalu muncul tentang seberapa berkualitas guru-guru ini.

Tetapi itu membantu kami bahwa kami diajar bukan oleh pemula yang menulis .NET selama dua tahun, tetapi oleh orang-orang yang berpartisipasi dalam menciptakan kerangka kerja itu sendiri dan mengenal mereka yang mengembangkannya sekarang. Misalnya, ketika kami membutuhkan kursus .NET, kami mengirim Geoffrey Richter, yang berpartisipasi dalam menciptakan .NET dan menulis CLR, sehingga ia dapat memberikan materi seperti itu dan menjawab pertanyaan yang kemungkinan besar tidak bisa dijawab oleh orang lain di planet ini. untuk menjawab. Kami memiliki kontak di Microsoft, kami sangat menyadari sistem yang kami sarankan, dan, menurut pendapat saya, inilah yang paling membedakan kami dari perusahaan lain.

Dan kami sudah memiliki banyak pengalaman mengajar - saya, John Robbins dan Jeffery Richter melatih programmer di perusahaan lain selama bertahun-tahun, Wintellect hanya memungkinkan kami untuk bergabung dan menawarkan serangkaian kursus yang lebih lengkap.

- Sayangnya, tidak semua perusahaan pelatihan / konsultan memiliki Jeffrey Richter sendiri - dapatkah Anda memberikan saran kepada mereka yang tidak memiliki bintang?

- Jangan mencoba menipu klien. Tentu saja, selalu berusaha menemukan seseorang yang benar-benar mengetahui bidang yang diperlukan. Tetapi jika Anda tidak memilikinya - jangan berpura-pura demikian.

Selalu ada godaan untuk mengikuti jalan perlawanan paling sedikit. Ketika seorang klien memanggil Anda dan meminta Anda untuk melakukan kursus, katakanlah, di Jawa, maka bahkan jika Anda tidak memiliki spesialis Java, seseorang akan berkata: tidak ada penghasilan berlebihan, mari kita pesan. Kita harus melawan godaan ini. Jangan kirim untuk mengajar C # orang yang dirinya sendiri mulai mengajarinya dua minggu lalu. Klien bukan orang bodoh, mereka akan dengan cepat menyadari bahwa guru tahu sedikit lebih banyak daripada murid mereka. Kualitas harus dibangun selama bertahun-tahun, dan Anda bisa kehilangannya dalam beberapa minggu.

Dan cari orang yang tidak hanya tahu subjek mereka dengan baik, tetapi juga tahu cara bekerja dengan audiens. Ada banyak orang yang mengetahui sisi teknis masalah ini dengan baik, tetapi untuk mentransfer pengetahuan ini ke sekelompok 10, 20 atau 30 orang, mereka melakukannya dengan buruk. Ini adalah bakat yang tidak selalu menyertai keterampilan teknis.

Karena itu, kami sering mempekerjakan orang yang telah berbicara di konferensi seperti DotNext selama bertahun-tahun - jika mereka bukan pembicara yang baik, mereka tidak akan diundang lagi dengan laporan.

- Ketika Anda melakukan pelatihan untuk Microsoft, apakah ini berbeda dengan pelatihan di perusahaan lain? Misalnya, jika selama proses pelatihan, muncul pertanyaan / harapan / laporan bug pada .NET, apakah itu terjadi bahwa segera dikirim ke karyawan yang tepat?

- Ada perbedaan. Dan kami benar-benar memiliki kasus ketika, setelah membahas beberapa masalah dalam pelajaran, kami mengirim permintaan kepada pengembang. Kadang-kadang ini terjadi karena seseorang dari tim yang tepat hadir di pelajaran. Atau instruktur dapat menawarkan untuk menghubungi pencipta teknologi. Dalam hal ini, situasi di Microsoft benar-benar unik.

Ada perbedaan lain, yang, saya kira, berlaku untuk Facebook atau Google pada tingkat yang sama: Microsoft memiliki banyak orang yang sangat pintar, mereka merekrut programmer terbaik tidak hanya dari Amerika Serikat, tetapi juga dari seluruh dunia. Oleh karena itu, orang-orang datang ke kelas-kelas di sana, untuk siapa perangkat lunak bukan hanya penghasilan, tetapi bisnis mereka seumur hidup. Saya sangat senang mengajar dalam audiensi seperti itu, karena orang-orang seperti itu mengajukan pertanyaan yang baik, termotivasi lebih baik, dan kualitas pelatihan pada akhirnya lebih tinggi.

Saya pikir bahwa setiap orang yang mencari nafkah dari pelatihan memiliki kesempatan ketika mereka berakhir di audiensi di mana sebagian besar yang hadir tidak duduk sendiri, tetapi karena manajer mengatakannya kepada mereka. Seorang instruktur yang baik dapat bekerja dengan audiens yang demikian, tetapi ketika orang pintar dan termotivasi, hasilnya masih lebih baik. Dan inilah yang terjadi di Microsoft.

Selama bertahun-tahun bekerja di Microsoft, kami mengadakan banyak kelas di Redmond, di mana kantor pusat perusahaan berada, dan biasanya ada 85 orang di kelas, jika tidak kami tidak dapat memenuhi permintaan. Bahkan dengan mempertimbangkan kelompok-kelompok besar seperti itu, kelas masih berbaris untuk kelas, kadang-kadang karena ini ada kesalahpahaman, bahkan ketika orang-orang bahkan berkelahi! Ini terjadi pada saat Silverlight digunakan secara luas, dan saya kemudian mengajarinya, yang mana dari semua program saya yang paling populer di Microsoft, sangat sulit untuk mendapatkannya. Suatu pagi, sekitar 30 atau 40 orang berkumpul di sekitar audiensi, dan dua dari mereka bertengkar satu sama lain, pada akhirnya sampai di tangan dan aku harus memanggil penjaga. Tentu saja, ini buruk, tetapi pada saat yang sama, sebagai instruktur, saya senang menyadari bahwa orang-orang siap untuk pergi berperang untuk sampai ke kelas.

- Sekarang perusahaan memiliki kursus video WintellectNOW - dapatkah Anda memberi tahu kami tentang mereka? Ada banyak kursus online sekarang, kursus Anda agak berbeda?

- Kami menciptakan WintellectNOW pada 2012. Alasan untuk ini adalah permintaan Microsoft: mereka mengatakan mereka tidak ingin terlalu membebani kami dengan penerbangan terus-menerus untuk melakukan kursus langsung, dan mereka juga membutuhkan solusi yang lebih skalabel. Oleh karena itu, WintellectNOW awalnya ditujukan khusus untuk Microsoft, tetapi kemudian menjadi tersedia untuk masyarakat umum.

, . β€” , , 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/id471566/


All Articles