
Para a maioria das afiliadas,
Jeffrey Richter é um guru e o autor mais importante. Mas, para
Jeff Proseiz, ele é principalmente um amigo e ex-colega: eles fundaram a empresa Wintellect (entre seus clientes - Microsoft). Agora, Jeff e Jeffrey divergem seus caminhos profissionais, mas ambos ainda dedicam suas vidas ao .NET.
No ano passado, Jeffrey Richter falou em nossa conferência DotNext, então o
entrevistamos para Habr e, entre outras coisas, perguntamos como é para um profissional de TI entrar nos negócios. E agora Jeff Prosys também chega ao DotNext, então ficou interessante perguntar sobre isso e ele. Como surgiu essa empresa “estrela”? O que Jeff recomenda aos desenvolvedores que consideram seus próprios negócios? De que erro a Wintellect pode ter cuidado?
E como o DotNext fará uma
apresentação no ML.NET no DotNext, eles também fizeram algumas perguntas sobre aprendizado de máquina.
Biografia e livros
- Você tem uma longa carreira - conte-nos como tudo começou.- Eu recebi um diploma em engenharia mecânica em 1982 nos EUA. Foi uma época em que os primeiros computadores pessoais acabaram de aparecer. Fiquei interessado neles, economizei dinheiro e comprei um dos primeiros modelos. Descobri que eu realmente gosto de programação, e também escrevo sobre programação, sobre computadores e treino usuários de computadores, especialmente desenvolvedores.
Portanto, em 1990, mudei tudo drasticamente, deixando o trabalho de um engenheiro. Naquela época, eu já havia escrito artigos para revistas, mas depois escrevi um livro. Desde então, não trabalhei mais na minha antiga especialidade, comecei a falar em conferências, escrever livros e treinar desenvolvedores com as mais recentes tecnologias em nosso setor. Acredito que ajudar outros programadores e suas empresas a escrever um bom software é uma questão da minha vida.
- Sobre o que foi esse primeiro livro?- Foi dedicado ao DOS 5. O lançamento do DOS 5 foi um evento importante, assim como o lançamento subsequente do Windows 95. Meu primeiro livro tinha cerca de mil páginas. Meu agente então disse que geralmente as pessoas começam com livros curtos e eu dei à luz um elefante. Depois, escrevi mais alguns livros sobre o DOS e mudei para o Windows e alguns outros tópicos.
Em 2001, meu último livro foi publicado, dedicado ao Microsoft .NET - foi o primeiro livro sobre .NET publicado na Microsoft Press. Desde então, não escrevo mais livros, em parte porque as pessoas agora absorvem as informações de uma maneira diferente. Anteriormente, o treinamento acontecia principalmente em livros, agora existe a Internet e muito mais. Meu método de ensino não mudou, mas agora, em vez de livros, uso conferências, cursos on-line e muito mais.
- O processo de escrever livros desde a década de 1990 mudou significativamente, ou ainda é o mesmo para os autores?Sim, mudou. Nos anos 90, o autor teve que digitar o texto em um editor de texto, depois imprimi-lo em dois intervalos e enviá-lo pela FedEx ao editor e, após várias semanas de edição, o texto retornou em vermelho. Agora, todo esse processo está acontecendo em formato eletrônico.
Mais importante, porém, as pessoas agora estão aprendendo de maneira diferente. Era quase garantido que um livro bem escrito sobre um assunto importante nos anos 90 estava em demanda; era de se esperar que as pessoas aprendessem com ele. Isso é parcialmente verdadeiro hoje, mas a demanda por livros se tornou muito menor, porque existem muitas outras maneiras de aprender, e os livros se tornaram muito menos importantes do que eram há 20 anos.
- Na Internet, você pode encontrar frequentemente uma menção ao seu livro “Programming Windows with MFC” - tornou-se o mais popular? Como ela apareceu?- Sim, ela foi um dos meus dois livros mais populares, junto com um livro sobre o DOS 5. Ela teve vendas muito altas e, por muito tempo, recebi uma boa renda dela. A maioria dos que me conhecem como autor está familiarizada com este livro em particular.
Naquela época, a programação no Windows começou a ser muito popular, e muitos o estudaram no livro clássico de Charles Petzold, “Programming Windows”, que se concentrava na linguagem C. Mas, em meados da década de 1990, a maioria dos desenvolvedores profissionais do Windows não havia escrito em C, mas em C ++ e usou o MFC, uma biblioteca de classes C ++ para Windows fabricada pela Microsoft.
Fiquei surpreso ao saber que a Microsoft Press não publicou livros para o MFC, semelhante ao livro de Petzold. Naquela época, eu conhecia Petzold há muito tempo e perguntei se ele iria escrever um livro sobre programação no Windows em C ++. Ele respondeu que não, porque com C é mais conveniente ensinar às pessoas as coisas mais básicas. Depois disso, assinei um contrato com a Microsoft Press em um livro sobre MFC e, como resultado, tornou-se uma ferramenta muito importante para programadores que queriam escrever o Windows em C ++ em vez de C. Ainda tenho cópias dele na prateleira e eu Ainda encontro pessoas que ao mesmo tempo leram e se lembram de mim. É sempre bom saber que seu livro ajudou a carreira de alguém.
Negócio, Negócio, Jeffrey Richter
- Você já é o segundo co-fundador do Wintellect, chegando ao DotNext. Então, eu quero saber: como você conheceu Jeffrey Richter e como a empresa surgiu?- Jeffrey e eu somos amigos há muito tempo e ainda nos comunicamos muito. Agora ele trabalha na Microsoft e realmente gosta disso lá. Nós nos conhecemos em meados dos anos 90; se não me engano, isso aconteceu em Redmond, onde nos foi mostrado o Windows 95. A Microsoft realizou essa reunião porque queria receber feedback. Naquela época, eu já li um dos livros de Jeffrey sobre programação para Win32, e nesta reunião fui até ele e disse que realmente gosto do que ele escreve.
Depois disso, rapidamente nos tornamos amigos. Nos anos 90, realizamos treinamentos quase toda semana para várias empresas como Intel e Microsoft, principalmente nos EUA. O terceiro fundador da Wintellect, John Robbins, fez o mesmo, também éramos amigos dele. No final de 1999, decidimos criar o Wintellect, porque gostávamos do que fizemos e queríamos fazer juntos.
Jeffrey Richter no DotNext do ano passadoSe minha memória me servir bem, a empresa foi registrada em abril de 2000. Inicialmente, realizamos treinamentos principalmente. Em 2005, Todd Fine, que agora é nosso CEO, veio à nossa empresa. Então, sua tarefa era criar um departamento de consultoria. Eu, Jeffrey e John queríamos fazer consultoria, mas nossa experiência nessa área era limitada, por isso precisávamos da ajuda de Todd.
Ainda realizamos treinamentos, mas hoje a maior parte de nossa receita vem da participação em consultoria no desenvolvimento. Temos muitos desenvolvedores talentosos, em Atlanta e em todo o país. Ajudamos outras empresas a escrever software, às vezes participamos apenas da criação da arquitetura, às vezes ajudamos na arquitetura e na implementação; em alguns casos, somos solicitados a criar algum tipo de ferramenta como um todo. Funcionários regulares e contratados, que conhecemos há muitos anos, trabalham conosco. Nossa atividade como empresa é que procuramos por nossos clientes as pessoas mais inteligentes e talentosas para escrever o software de que precisam, e eu gosto muito do meu trabalho.
- Quando as pessoas de TI criam uma empresa, elas entendem tudo com o lado técnico, mas o lado comercial tem seus próprios requisitos - o que você acha disso?- Você está certo que, quando programadores criam uma nova empresa, não basta apenas ter bons arquitetos e desenvolvedores. Também é necessário que haja pessoas com visão de negócios. Desde os primeiros dias de existência do Wintellect, contratamos um diretor especializado especificamente em negócios, que não possuía formação técnica. Todd, nosso atual CEO, conhece o lado técnico e os negócios, ele tem um MBA.
Além disso, o presidente recentemente nos procurou com experiência no gerenciamento de uma empresa de TI no valor de US $ 100 milhões, e se formou na School of Business em homenagem a Buta. Ou seja, percebemos que as habilidades técnicas não são suficientes, também precisamos de pessoas com habilidades de negócios. E, na maioria das vezes, as pessoas que conhecem bem a programação, como John, Jeffrey e eu, não são boas em gerenciar o crescimento, as vendas, o marketing e outras coisas da empresa. Portanto, quando os desenvolvedores estabelecem sua própria empresa, é importante determinar seus pontos fortes e fracos e, se você não tem uma pessoa com vasta experiência em negócios, precisa encontrá-la e convidá-la para sua empresa. Isso permite que você alcance a maior chance de sucesso.
- Como você, Jeff e John atribuíram os papéis um ao outro quando você começou a empresa?- John, Jeff e eu já tínhamos clientes que consultamos e para quem realizamos treinamentos. Portanto, a princípio, trabalhamos principalmente com nossos clientes antigos. Isso determinou a distribuição de papéis nesse estágio. John Robbins é um dos principais especialistas em depuração do mundo, por isso fez tudo relacionado ao treinamento de depuração ou à solução de problemas difíceis e inesperados com o software.
Jeffrey geralmente trabalhava com coisas relacionadas ao Win32 ou .NET. Também escrevi em .NET e era muito bom no ASP.NET, então ajudei Geoffrey com o .NET e cuidei de tudo relacionado ao ASP.NET. Se houvesse necessidade de habilidades não relacionadas a essas áreas, contratamos outras pessoas.
- Esta entrevista será lida principalmente pelos desenvolvedores, mas talvez alguns deles estejam pensando em criar sua própria empresa. O que você poderia aconselhá-los?- Em primeiro lugar, o já mencionado: não importa quais gênios você seja na programação, sem habilidades de vendas e marketing, você não irá longe. Nos estágios iniciais, é importante não apenas contratar bons programadores, mas também trabalhar conscientemente os componentes não técnicos da sua organização: fornecer liderança de alta qualidade, um departamento de vendas e marketing confiável. Será melhor para você se você cuidar disso, porque você não terá escassez de trabalho e não precisará procurá-lo constantemente.
Além disso, aconselho você a escolher seus parceiros de negócios com muito cuidado. Eu tive muita sorte: eu, John e Jeffrey já éramos amigos quando começamos nossa empresa. Ainda somos amigos, e eu os respeito muito. Mas conheço pessoas que, após algum tempo trabalhando juntas, perceberam que não valia a pena fazer negócios com seus parceiros. É necessário que você se dê bem e se tenha uma visão comum de como a empresa deve se desenvolver.
Com as empresas e com as famílias: elas geralmente se desfazem não por falta de habilidades técnicas, mas porque os parceiros não têm habilidades de negócios ou são pouco compatíveis entre si e brigam constantemente. Esses atritos dificultam muito o sucesso da empresa, torna-se mais difícil alcançar um objetivo comum.
Meu terceiro conselho é o seguinte: você precisa ter uma visão não apenas do que a empresa deve alcançar, mas também em termos de cultura da empresa. É melhor ter uma idéia disso desde o início do que deixar passar por si mesma. Obviamente, à medida que sua empresa cresce, a situação muda, é impossível prever com precisão o futuro e você precisa estar preparado para essas mudanças. Mas, mesmo com isso em mente, é importante desde o início ter uma idéia de como deve ser sua empresa.
- No começo, todo mundo sempre comete erros - você pode falar sobre algum tipo de erro no gerenciamento do Wintellect, para ajudar outras pessoas a evitá-lo nos seus negócios?Eu posso. A lição a ser aprendida da minha história será a seguinte: é muito importante diversificar seus negócios e seus clientes, e não colocar todos os seus ovos em uma cesta. Nós não fizemos isso, e isso acabou sendo uma dificuldade bastante significativa para o Wintellect.
Em 2005, criamos um departamento de consultoria, mas, ao mesmo tempo, continuamos realizando treinamentos. Ao longo dos anos, recebemos muitos milhões de dólares por ano da Microsoft para treinar seus desenvolvedores. John, Jeffrey e eu voamos constantemente para os departamentos da Microsoft em todo o mundo e realizamos treinamentos por lá - em Redmond, Hyderabad, Dublin, Pequim, Xangai e muitos outros lugares.
E tudo ficaria bem, mas em 2014 a Microsoft alterou suas políticas de maneira bastante significativa e decidiu não realizar mais um treinamento centralizado para seus funcionários. Numa bela noite de setembro de 2014, recebemos um e-mail da Microsoft no qual fomos agraciados por nosso trabalho passado e informamos que não haveria mais contratos de treinamento. O departamento de consultoria não abordou isso, mas o departamento de treinamento tornou-se não lucrativo em um dia, em comparação com o lucrativo, porque havia muitas pessoas muito inteligentes com excelente conhecimento de seu campo e dois terços da receita desse departamento eram da Microsoft.
De fato, sabíamos que deveríamos diversificar nossos negócios e entendemos que a perda de um contrato com a Microsoft poderia nos prejudicar seriamente. Mas a diversificação foi difícil, porque é difícil recusar a renda se ela vier a você. Em geral, o departamento de treinamento levou vários anos para se tornar lucrativo novamente. A moral aqui é: evite a dependência de um cliente, porque você se torna muito vulnerável se esse cliente de repente quer deixá-lo.
- Nas grandes empresas, eles costumam ser céticos em convidar uma pessoa de uma empresa terceirizada para ensinar seu código. Como o Wintellect lidou com isso?- Você está certo de que, para qualquer empresa que contrate professores de terceiros, sempre surge a questão de qualificar esses professores.
Mas nos ajudou a não ser ensinado por iniciantes que escreveram o .NET por dois anos, mas por pessoas que participaram da criação do próprio framework e conhecem aqueles que o estão desenvolvendo agora. Por exemplo, quando precisávamos de um curso .NET, enviamos Geoffrey Richter, que participou da criação do .NET e da criação do CLR, para que ele possa fornecer esse material e responder a perguntas que provavelmente ninguém mais neste planeta pode responder. para responder. Temos contatos na Microsoft, conhecemos bem os sistemas que aconselhamos e, na minha opinião, é isso que mais nos distingue das outras empresas.
E já tínhamos muita experiência em ensino - eu, John Robbins e Jeffery Richter treinamos programadores em outras empresas por muitos anos, o Wintellect simplesmente nos permitiu unir forças e oferecer um conjunto mais completo de cursos.
- Infelizmente, nem toda empresa de treinamento / consultoria tem seu próprio Jeffrey Richter - você pode dar conselhos a quem não tem superestrelas?- Não tente enganar o cliente. Obviamente, tente sempre encontrar alguém que realmente conheça bem a área necessária. Mas se você não o tem - não finja que é.
Sempre há uma tentação de seguir o caminho de menor resistência. Quando um cliente liga para você e pede que você faça um curso, digamos, em Java, mesmo que você não tenha um especialista em Java, alguém dirá: não há renda supérflua, vamos fazer um pedido. Nós devemos lutar contra esta tentação. Não envie para ensinar C # a pessoa que começou a ensiná-lo há duas semanas. Os clientes não são tolos, eles logo perceberão que o professor sabe um pouco mais do que seus alunos. A qualidade precisa ser construída ao longo dos anos e você pode perdê-la em algumas semanas.
E procure pessoas que não apenas conheçam bem o assunto, mas também saibam como trabalhar com o público. Há muitas pessoas que conhecem bem o lado técnico da questão, mas, para transferir esse conhecimento para um grupo de 10, 20 ou 30 pessoas, elas o conhecem mal. Esse é um talento que nem sempre acompanha as habilidades técnicas.
Portanto, costumamos contratar pessoas que falam em conferências como o DotNext há anos - se não fossem bons oradores, não seriam convidados novamente com relatórios.
- Quando você realiza treinamentos para a Microsoft, isso é diferente do treinamento em outras empresas? Por exemplo, se durante o processo de treinamento surgir um relatório de pergunta / desejo / bug no .NET, será que ele é enviado imediatamente aos funcionários apropriados?- existem diferenças. E realmente tivemos casos em que, depois de discutirmos um problema da lição, enviamos solicitações aos desenvolvedores. Às vezes, isso acontecia porque uma pessoa da equipe apropriada estava presente na lição. Ou o instrutor poderia oferecer entrar em contato com os criadores da tecnologia. Nesse sentido, a situação na Microsoft é verdadeiramente única.
Há outra diferença que, suspeito, se aplica ao Facebook ou ao Google na mesma medida: a Microsoft tem muitas pessoas muito inteligentes, eles contratam os melhores programadores não apenas dos EUA, mas também de todo o mundo. Portanto, as pessoas frequentam as aulas por lá, para quem o software não é apenas lucro, mas o negócio da vida deles. Tenho grande prazer em ensinar a esse público, porque essas pessoas fazem boas perguntas, são muito mais motivadas e a qualidade do treinamento é, em última análise, mais alta.
Penso que todos os que ganham a vida com o treinamento tiveram ocasiões em que acabaram em uma audiência em que a maioria dos presentes não se sentou por vontade própria, mas porque o gerente lhes disse isso. Um bom instrutor pode trabalhar com esse público, mas quando as pessoas são inteligentes e motivadas, o resultado ainda é melhor. E este é exatamente o caso da Microsoft.
Ao longo dos anos de trabalho na Microsoft, realizamos muitas aulas em Redmond, onde está localizada a sede da empresa, e geralmente havia 85 pessoas nas aulas, caso contrário, não poderíamos atender à demanda. Mesmo levando em conta grupos tão grandes, as aulas ainda estavam alinhadas, às vezes por causa disso havia mal-entendidos, uma vez que as pessoas brigavam! Isso aconteceu no momento em que o Silverlight era amplamente usado, e então eu ensinei sobre quais dos meus cursos eram mais populares na Microsoft, era muito difícil obtê-los. Certa manhã, cerca de 30 ou 40 pessoas se reuniram em torno da platéia, e duas delas brigaram entre si; no final, chegaram aos punhos e tiveram que chamar os guardas. É claro que isso é ruim, mas ao mesmo tempo, como instrutor, tenho o prazer de perceber que as pessoas estão prontas para ir a uma luta para chegar às aulas.
- Agora a empresa possui cursos em vídeo WintellectNOW - você pode nos contar sobre eles? Existem muitos cursos on-line agora, os seus são diferentes?- Criamos o WintellectNOW em 2012. O motivo disso foi o pedido da Microsoft: eles disseram que não queriam nos sobrecarregar demais com vôos constantes para realizar cursos ao vivo e também precisavam de uma solução mais escalável. Portanto, o WintellectNOW foi originalmente concebido exclusivamente para a Microsoft, mas depois tornou-se disponível ao público em geral.
, . — , , 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 , — .