Criador de Stack Overflow: “São os desenvolvedores que escrevem o script para o futuro”

imagem

Bem-vindos todos. Obrigado por me convidar.

Atrás de mim, você vê o cockpit do Douglas DC-3. Então, essa aeronave foi construída em 1935; preste atenção ao fato de que cada indicador, cada painel, cada sensor e cada switch estão de alguma forma conectados à própria aeronave. Assim, se você puxar a alavanca de controle desta embarcação, na realidade você puxa todos os cabos e manobras conectadas aos planos de controle de vôo da aeronave e ela se move através de alguma forma de controle direto. Isso é muito diferente de um avião moderno.

imagem

Por exemplo, no Airbus A380, você tem à sua disposição um monte de "ipads" e telas de vidro, que são essencialmente dispositivos de saída de computador, e vários botões e interruptores são dispositivos de entrada para o computador. Ou seja, o próprio navio é controlado por software e o piloto é o link. Em vez de um controle, você tem um teclado, o que é muito conveniente se, durante o voo, você decidir atualizar seu feed no Facebook.

E isso é uma metáfora para tudo na vida moderna. Muitas das coisas que costumávamos fazer por meio da interação direta agora usam software em seu trabalho. Já não definimos alarmes manualmente - executamos um programa que nos acordará. Em vez de notas com informações, enviamos mensagens. Em vez de ficar na rua e pegar um táxi, ligaremos para Uber ... talvez um dia possamos fazê-lo em Helsinque.

imagem

Agora pense em seu papel como elo de ligação em software. No slide, você vê o armazém da Amazon, que eles chamam de centro de picking, onde os trabalhadores andam e enchem caixas com coisas.

imagem

De fato, eles não têm idéia do que exatamente estão fazendo. Uma pulseira é colocada no pulso deles, o que literalmente diz a eles onde ir e o que levar de qual prateleira. Eles nem precisam saber exatamente o que estão tomando - digitalizam o código de barras e soltam o item na caixa.

imagem

Assim, todo o processo ocorre através de software de computador. E se você pensar sobre esses trabalhadores no armazém da Amazon, eles são, de certa forma, o mesmo dispositivo de saída para um desenvolvedor de software que está tentando escrever um código no qual a caixa será empacotada e enviada. De fato, os desenvolvedores de software podiam reunir todos os trabalhadores no gramado em frente ao armazém, construí-los em letras gigantes, escrevendo seus nomes e tirar uma foto do drone. É assim que os programadores da Amazon podem se divertir. E por isso eles podem disparar.

Portanto, todo esse software para armazéns da Amazon foi criado por desenvolvedores que, um dia, notaram que os trabalhadores baixos não conseguiam chegar a algumas prateleiras; portanto, eles tinham que parar de trabalhar, descer as escadas e subir para a prateleira mais alta, que poderia cair. Portanto, os desenvolvedores receberam um banco de dados do departamento de pessoal sobre o crescimento de todos os colegas e alteraram seu código para que apenas trabalhadores de alto escalão retirassem as mercadorias das prateleiras altas. E, se você pensar bem, é muito legal gerenciar todo o trabalho com software e não permitir que as pessoas interfiram no processo. Afinal, o software pode fazer muitas coisas por conta própria. Ele pode ter sua própria opinião, também pode ser um intermediário. As pessoas criam e minha pergunta é: quem são elas? Quem são esses desenvolvedores de software que moldam nosso futuro?

Deixe-me contar uma pequena história hipotética. Diga-me se isso aconteceu com você ... Você liga para o seu melhor amigo e pergunta se ele irá à festa com você. Ele encontra uma desculpa dizendo que está doente / ocupado / cansado / sobrecarregado com o trabalho / nem mesmo na cidade. Bem, ok, alguns dias depois, você vai ao Facebook e vê que, de fato, seu melhor amigo foi à festa, e mesmo com ... bem, eu não sei, sua ex-esposa.

imagem


Bem, o que aconteceu? Por alguma razão, isso está acontecendo cada vez mais nessa rede social. No começo, o Facebook só queria mostrar algum tipo de evento no mundo e decidiu que seria mais interessante, porque seu amigo e outra pessoa da sua lista de amigos estão participando do evento - aconteceu que essa é sua ex-esposa. De qualquer forma, esse não é o evento mais alegre do dia e você ficará triste por mais seis meses.

Esse é o problema da mediação. Ao contrário da Amazon, Uber ou seu software de alarme, o Facebook não é o elo entre você e os objetos no mundo. Ele atua como mediador interno entre as pessoas, e isso já é importante.

Um grupo de pesquisadores acadêmicos realizou um estudo com pessoas que têm páginas no Facebook. Na minha opinião, seiscentos e oitenta e nove mil pessoas participaram desse experimento.

imagem

Os pesquisadores publicaram o feed de notícias dessas pessoas - algumas receberam apenas boas notícias, outras apenas tristes e, com certeza, ainda havia um grupo de controle. A descoberta foi absolutamente incrível. Eles descobriram que o grupo, que recebeu apenas boas notícias, estava feliz, o que não pode ser dito sobre um grupo de pessoas com histórias tristes. Seria difícil pensar que tudo terminaria assim, certo? Eles chamavam de "infecção comportamental" - uma palavra acadêmica tão arrogante. Esta pesquisa não pode ser chamada de profunda, pois são precisamente esses resultados que eram esperados.

imagem

O que eles certamente não esperavam era o hype em torno da história - muitos reclamaram que o estudo era extremamente antiético na tentativa de manipular as emoções das pessoas sem o seu conhecimento. Isso é uma violação dos padrões éticos. Mas diga-me, o que o Facebook faz? O que você acha que eles têm feito o dia todo? Em primeiro lugar, eles não mostram absolutamente tudo o que acontece com seus amigos. Existe um algoritmo escrito pelos desenvolvedores usando o aprendizado de máquina - é um conjunto de multiplicação de matrizes - que tenta mostrar as notícias em ordem completamente aleatória. Mas que tipo de algoritmo é esse? Em que é baseado? Para que fins o Facebook está tentando otimizar seu trabalho? O que eles querem criar? Como eles são orientados ao escolher as notícias que se enquadram no seu feed?

O objetivo deles nem é ajudar a ciência e detectar infecções comportamentais; o objetivo é fazer com que você continue usando o Facebook. É por isso que eles otimizam seu trabalho. Eles estão procurando coisas que farão com que você se envolva e, por "envolvimento", significam interesse genuíno, por exemplo, quando você envia notícias para seus amigos. Este é um sinal do seu envolvimento. E agora você tem esse algoritmo, cujo objetivo é tomar decisões sobre quais notícias o mundo verá, que tipo de envolvimento, em que as pessoas "clicarão" e no que elas estarão interessadas.

Quando começamos a criar redes sociais ... eu digo "nós", mas, claro, não fui eu. Quando as indústrias de alta tecnologia começaram a criar o Twitter, o Facebook e similares, havia muitas notícias sobre como isso ajudaria a democracia, que as redes sociais são ferramentas de comunicação dos revolucionários nos estados ditatoriais de todo o mundo. Etc.

Tudo isso foi percebido muito utópico, todos pensavam que o Twitter e o Facebook trariam grandes benefícios ao mundo. Isso me lembra de que, ao mesmo tempo, a televisão também era uma coisa maravilhosa, como os agricultores do Egito a assistiam e aprendiam a assar pão, latas abertas e como o mundo inteiro se tornava muito melhor graças às habilidades educacionais da TV. Na verdade, temos Lucille Ball, Louis Cay e outras bobagens.

Então, acho que aconteceu aproximadamente o mesmo com as redes sociais: meio que começamos a esperar que elas melhorassem qualitativamente nossa comunicação. De fato, temos bolhas. Bolhas nas quais as pessoas ouvem apenas a si mesmas e a seus lados. Todos na América ficaram surpresos com os resultados das eleições presidenciais. E isso aconteceu por causa dos algoritmos do Twitter e do Facebook, que exibiram notícias com uma opinião semelhante a você. O New York Times realmente analisou essa situação para a disseminação de notícias falsas, porque na verdade é importante.

imagem


Esse cara estava andando pela cidade natal de Austin quando viu um monte de ônibus. Ele também viu manifestações ou ouviu dizer que protestos contra Donald Trump estão ocorrendo em Austin. E assim apareceu um tweet falso de que os manifestantes anti-Trump foram pagos pelo protesto, e tudo por causa dos ônibus em que chegaram. A foto do tweet deveria mostrar os ônibus que trouxeram manifestantes do México, digamos. De fato, os ônibus foram destinados a uma conferência de tecnologia, que sempre acontece em Austin. Mas a história começou a viver sua própria vida, porque excitou certas pessoas. Eles conversaram mais e mais sobre ela, a história foi para o site do Reddit, ou melhor, para o subreddit sobre Trump. Tudo acabou até o presidente eleito dos Estados Unidos contando essa história falsa,que não tinha provas. E levou apenas uma pessoa com uma conta no Twitter, que decidiu que a história poderia ser interessante.

A história não se espalhou tanto porque era verdadeira ou importante. Isso aconteceu porque ela irritou as pessoas. E a fórmula ideal para compartilhar informações no Twitter e no Facebook é uma combinação de justiça e ressentimento nas pessoas. Há uma citação assim: “Uma mentira vai circular pela metade do mundo enquanto a verdade coloca suas calças” e, penso, essa mentira permanecerá para sempre na memória das pessoas. Que realmente houve participantes profissionais (trabalhando com dinheiro - aproximadamente tradutor) protestos contra Trump. Mesmo antes do advento das redes sociais, quando qualquer idiota com uma câmera podia espalhar notícias falsas, havia uma imprensa. Havia muito dinheiro envolvido, além de um senso de responsabilidade para com o mundo pela divulgação de notícias. De certa forma, isso pode ser chamado de ética jornalística.

Acho que agora muitas pessoas que trabalham em indústrias de alta tecnologia estão se perguntando - talvez você e eu construamos acidentalmente o Ministério da Verdade em vez de criar um mecanismo utópico simplesmente porque as redes sociais funcionam exatamente assim? Tudo o que estou falando foi criado e ativado por meio da mediação de software, porque seu principal trabalho é ser um elo entre as pessoas. O que é software? Vamos conversar um pouco sobre isso. Software é um monte de linhas de código. O que é uma linha de código? Uma linha de código é um encapsulamento sobre o qual você precisa saber duas coisas.

Em primeiro lugar, funcionará no futuro, é real. E, em certo sentido, este é o futuro. Este é um pouquinho do futuro, mas se você juntar tudo, o futuro se tornará cada vez mais. Em segundo lugar, uma linha de código representa muitas decisões, um monte de decisões pessoais que um desenvolvedor de software toma. Cada palavra, cada linha, cada parâmetro, cada função, cada chamada de função, todas essas são pequenas decisões que um programador tomou e todas as decisões que ele tomou afetarão o futuro.

É por isso que no Stack Overflow dizemos que os desenvolvedores estão escrevendo um script para o futuro. Você senta e escreve um script que será totalmente implementado no futuro. O que mais você precisa saber sobre o software é que ele se tornou mais complicado nos últimos 30 anos. Quando comecei a programar 30 anos atrás, tudo era muito mais simples. Este é o VisiCalc, o software mais famoso usado no Apple II. O chip da CPU Apple II, que agora tenho na mão, parece muito mais inteligente que o próprio computador. No Apple II, você poderia adicionar, subtrair, possivelmente multiplicar, mas compartilhar algo era uma tarefa impossível. Para isso, foi necessário escrever algum tipo de código do usuário.

Quando comecei a entender o Unix na faculdade, em 1987, bastava ler dois livros não tão grossos - e você sabia tudo sobre software. Foi muito simples. Mudou o fato de que agora vivemos em um mundo em que estamos rodeados por Uber, Stripe, sistemas de pagamento, Google Maps e outros. E agora, se você criar um software, poderá facilmente tirar proveito do que já existe. Se você deseja exibir um mapa, pode recorrer à ajuda do Google Maps, que abrirá o mapa em um milionésimo de segundo. Se você quiser ligar para um carro, bem, não em Helsinque, é claro, você pode usar o Uber e sua interface - o carro chegará em cerca de 1,5 linhas de código. Se você quiser efetuar um pagamento, usará a interface do Stripe. E também, se você quiser combinar essas coisas, poderá criar um código muito complexo. O código,consistindo em dez linhas. Muito legal, né?

O Google Maps, ou melhor, satélites no espaço, tirou uma foto de alta resolução do nosso planeta, e você pode usá-la em seu próprio código com apenas uma linha. Você pode ligar para um veículo com uma pessoa dirigindo, e eu nem vou falar sobre quantas linhas de código estão no carro. Um sistema de processamento de pagamentos que abrange, eu nem sei, 200 países e 9 milhões (e esse é o número real) de linhas de código que fazem parte do sistema global de processamento de pagamentos, você também pode chamar algumas linhas de código. É necessário aproximadamente a mesma quantidade para concluir o processo de divisão no Apple II. É assim que as coisas se complicam.

imagem

Mas o que isso significa? E o fato de que algumas vezes algo pode dar errado e o sistema se torna difícil de depurar. Suponha que em seu aplicativo você tenha colocado um mapa do Google e precise apenas de uma linha de código ... Eu chamaria assim porque vejo alguns pontos e vírgulas, estas são duas linhas de código. Então, você coloca o cartão no seu código e descobre que, quando o usuário rola a roda do mouse, o cartão aumenta e diminui. Você não quer que isso aconteça e está tentando desativar a roda de rolagem. E você não consegue, porque não entende como o Google Maps funciona, porque acabou de copiar parte do código da Internet e colá-lo no seu código. Além disso, você não encontra um corretor de escala e pensa que, se desligá-lo, resolverá o seu problema. Mas não sai novamente.

imagem

Então o que fazer? Você também não entende como o Google Maps funciona. Você pode seguir as instruções do livro - faça o pedido na Amazon, aguarde a entrega, leia todas as 465 páginas.
Talvez você comece a entender a estrutura da plataforma e encontre a resposta para sua pergunta. E você pode escrever no mecanismo de pesquisa "desligando a roda de rolagem no Google Maps".

imagem

Você pode ver que essa pergunta foi feita antes de você. Caso contrário, você pode se perguntar on-line e obter uma solução para o seu problema.

imagem

Por exemplo, no Stack Overflow, este é um site que Jeff Atwood e eu lançamos em 2008.

Então, algumas coisas que você precisa saber sobre o nosso site. No momento, 13 milhões de perguntas foram feitas no Stack Overflow - e isso é apenas sobre programação, e há mais 150 sites sobre outros tópicos. 20 milhões de respostas foram escritas por programadores em todo o mundo. Temos 113 milhões de visualizações de página únicas e cerca de 781 milhões de visualizações de página mensais. Esta é uma rede absolutamente gigantesca.

O que nos diferencia um pouco dos outros sites é a votação. Quando você vê uma resposta, pode votar a favor ou contra, dependendo de sua conveniência.

imagem

E esse recurso já faz do Stack Overflow um recurso mais poderoso para desenvolvedores que resolvem seus problemas. A votação está diretamente relacionada à reputação. Se sua resposta for promovida, sua reputação também aumentará, o que é exibido em seu perfil.

imagem

Também rastreamos o número de pessoas que você ajudou.

E isso nos leva à próxima pergunta que eles sempre me fazem - como fazemos negócios e como fazemos dinheiro. Estamos à procura de ótimos programadores que fazem um trabalho incrível no site e encontram um ótimo trabalho para eles. Portanto, agora seu perfil Stack Overflow permite não apenas mostrar suas realizações no site, mas também criar sua própria história de desenvolvedor.

Indica tudo em que você está trabalhando, tudo que você sabe e não sabe. E, se você alterar as configurações, poderá abri-lo para determinados empregadores que o contratarão por meio do talento Stack Overflow.

Então deixe-me resumir. Pode parecer estranho, mas o mundo tornou-se tal que tudo nele é determinado pelo software - até coisas simples como um despertador ou uma chamada de táxi. E parece que isso não é de todo importante. Mas isso se torna importante quando as eleições presidenciais também ocorrem usando software. Todas as decisões que os desenvolvedores tomam são incrivelmente importantes. E é importante entendermos quem são esses mesmos desenvolvedores de software. Precisamos percebê-los como filósofos-poetas do nosso tempo. E é por isso que somos tão obcecados por eles no Stack Overflow, então nossa missão é ajudá-los a compartilhar conhecimento e melhorar seu nível.

Muito Obrigado!




imagem
Aprenda os detalhes de como obter uma profissão procurada desde o início ou suba de nível em habilidades e salário fazendo cursos on-line SkillFactory:




All Articles