Na História da Comunidade desta semana, o Brian e o Jonathan conversam sobre experiência intercultural, programação funcional e como foi mudar do Midwest americano para a Escandinávia.
Jonathan: Bem, boa noite a todos e bem-vindos ao podcast do Exercism. Tenho o privilégio de contar com **Brian **Underwood. Brian, onde vives neste momento? E conta-nos um pouco da tua história e de como acabaste onde estás agora. Brian: Sim, com certeza. Obrigado por me receberes. Sim, estou em Estocolmo, na Suécia. Mas originalmente sou dos Estados Unidos, nasci em Ohio, portanto já é uma boa viagem desde aí. Jonathan: Não. Brian: O, digamos, o meu... querias saber de onde venho, o meu percurso pelo meio, suponho. Jonathan: Sim, exatamente. Como é que acabaste por sair do centro dos Estados Unidos para... a Suécia, a Escandinávia, sabes, é um salto e tanto. Brian: Claro. Sim. Sim, claro, é o centro dos Estados Unidos. Não te culpo por não saberes: ninguém sabe realmente onde fica Ohio. Portanto, isso é, isso é muito divertido. Sim, então, sabes, fui para Ohio State para a universidade. E era informática, educação. E foi divertido. Gostei. E estava mais ou menos a fazer... suporte técnico na, hã, na Faculdade de Humanidades durante todo o tempo em que lá estive. Tive a sorte de conseguir um trabalho lá quando comecei. E continuei mais ou menos durante uns dois anos depois de me formar. Hmm, mas depois, acho que comecei a ficar um pouco aborrecido com o sítio onde estava e com o que fazia, e também a minha namorada acabou comigo. Portanto, não vamos, não vamos. Jonathan: Memórias não muito felizes, digamos. Brian: Sim, quero dizer, em retrospetiva estava tudo bem. Mas sim, é um pouco como: ok, tive aqui a oportunidade, acho eu. E então decidi passar umas semanas a viajar pela Europa, que foi a primeira vez que... saí mesmo dos Estados Unidos durante um período prolongado. E correu bem, viajar pela Europa. E depois decidi, antes de fazer isso, decidi que me ia mudar. E tinha mais ou menos decidido que Boston era o sítio para onde me ia mudar. E então, digamos, não sei se tive sorte, de certa forma, mas tive algumas oportunidades em que, sabes, sempre fiz muito apoio a Mac, era uma coisa importante que fazia. Portanto, um dos trabalhos que tive oportunidade de aceitar era um trabalho de suporte técnico de Mac em Boston. E outro era uma pequena startup que fazia software para, tipo, empresas de telemóveis e para, tipo, a forma como organizam a disposição da mercadoria nas lojas. E, sabes, acho que queria mesmo fazer a transição para ser programador. Mas o outro trabalho era tipo: ah, isto é o que faço há muito tempo. Mas acho que estava mais inclinado para: ok, vou abraçar esta nova vida, esta carreira que quero. Mas acho que também tive um pouco de sorte em conseguir o trabalho, porque acho que precisavam mesmo de alguém. E então aceitaram-me assim, sem mais. E acabou por ser um trabalho importante, que tive durante vários anos. Hmm, mas sim, e isso foi mais ou menos o início. Resumindo, a partir daí conheci a minha atual mulher e mudámo-nos para Providence, casámos lá. Hmm, depois mudámo-nos para a Califórnia. Acho que a minha mulher conseguiu um trabalho em São Francisco. E eu disse: sim, consigo. Sou programador, consigo, consigo isso, arranjo um trabalho em São Francisco. Não, não, não há problema. E foi ótimo. Vivíamos em Oakland e trabalhávamos em São Francisco durante uns dois anos. Mas depois decidimos que queríamos viajar durante uns anos. E acabámos por viajar pelo mundo durante dois anos com o nosso... nessa altura já tínhamos um filho de dois anos e meio. E viajámos com ele durante uns dois anos. E depois, sim, voltámos aos Estados Unidos uns anos. E depois decidimos, tipo: ah, sabes, tínhamos passado por Estocolmo nas nossas viagens. E pensámos: gostamos mesmo de Estocolmo. Então dissemos: ok, vamos voltar. E é isso, é onde estamos há cerca de quatro anos. Jonathan: A tua mulher é sueca ou é só porque gostas de Estocolmo? Ah, tipo, como é que eles, qual é a história aí? Brian: Sim, não, é uma boa pergunta. É a pergunta que muita gente faz. Mas não, somos ambos americanos. Somos os três americanos, o meu filho incluído. Apesar de ele falar sueco muito melhor do que qualquer um de nós. Estamos a trabalhar nisso. Mas sim, não, gostámos mesmo. Acho que houve alguns sítios por onde tínhamos viajado e pensámos: bem, talvez pudéssemos viver aqui se... se quiséssemos mudar-nos para algum lado. Acho que um deles era Auckland, foi um sítio por onde passámos e gostámos muito. Na Nova Zelândia? Auckland, na Nova Zelândia, queres dizer? Nova Zelândia, exatamente. Mas ficava um pouco longe, seria como se quiséssemos voltar a Ohio para visitar a família, seria uma grande viagem. Ainda é uma boa viagem desde a Suécia, obviamente. Jonathan: Ok, e agora mencionaste, comentaste sobre a programação de computadores versus, ou melhor, a informática, desculpa, e a programação. Qual era a diferença? Porque na minha cabeça a informática é mais ou menos programação, mas claramente não. Ou talvez sim, não sei. Então o que querias dizer com isso, exatamente? Brian: Sim. Não sei se sei a diferença. Quero dizer, tirei uma licenciatura em informática e acho que era programação, mas não era bem... já ouviste, ou outras pessoas já ouviram, que não se aprende sempre com um curso universitário as coisas da vida real que podes aprender e fazer num trabalho. E provavelmente isso mudou um pouco desde que andei na universidade. Acho que provavelmente houve uma evolução para uma educação mais prática. Tipo, lembro-me... Sabes, aprendíamos, acho que o C e o Java eram as duas linguagens principais que aprendíamos na altura. E, em particular, lembro-me de aprendermos uma coisa em Java, numa certa disciplina, em que eram muito... era isto, acho que era um método de ensino ou uma forma de abordar as coisas em que comentavas muito cuidadosamente cada uma das tuas funções para dizer... era tipo, chama-se design por contrato, em que dizias, tipo, em que é que isto se encaixa? Sabes, num contrato legal, tipo, ok, quais são as tuas responsabilidades? Quais são as minhas responsabilidades? E, portanto, conceber uma função por contrato significa, sabes, ok, se me deres estes valores nas variáveis, e nunca me deres um número negativo para esta, e garantires sempre que esta string nunca está vazia, ou o que for, certo? Estas são as coisas pelas quais és responsável. E depois, se fizeres isso, eu prometo fazer isto, certo, e que aconteça. E então havia esta estrutura de comentários que, lembro-me, me deixava muito confuso, a pensar que de alguma forma os comentários eram executados e faziam parte do programa. E eu, sabes, acho que passei uns dias, tipo: o quê? O que é que eu devo fazer aqui? E acabei por perceber que era só este método muito formal que... E acho que foi bom, no sentido em que pensar às vezes molda a minha mente. É bom pensar em não ter uma função, ser capaz de lidar com todas as coisas que podem possivelmente acontecer, porque isso só levaria à loucura. Jonathan: Então foste para a universidade com a informática como uma espécie de curso principal que estavas a pensar fazer. Como é que decidiste isso? Foi só por teres uma atração natural pelas matérias mais científicas na escola ou no secundário, ou houve um momento em que pensaste: na verdade, isto encaixa-se mesmo bem em mim? Como foi o processo até decidires que a informática era um curso que querias fazer? Brian: Sim, provavelmente tive muita sorte por simplesmente me sentir naturalmente atraído por isto, acho. Não sei, lembro-me... de, a certa altura, ter uma escolha entre programas, em que podia ir para o programa de artes e ciências, ramo de informática, ou o ramo de engenharia informática. E um deles implicava, tipo, ter uma disciplina de línguas, ou o espanhol, que era o que eu andava a estudar desde o secundário. Mas o outro era, tipo: ah, não tens de fazer língua estrangeira, mas tens de fazer mais física e matemática. E eu pensei: ok, inscreve-me nisso. Portanto, suponho que fui... acho que me senti atraído por isso. Acho que é assim, embora uma coisa em que penso muito seja que, e talvez isto seja uma espécie de privilégio de interesse científico ou matemático que tenho, mas sinto que provavelmente... a matemática, fazer matemática. Muitas pessoas ficam tipo: ah, matemática, fico nervoso com a matemática, ou é stressante, ou o que for. E isso, compreendo que pode perfeitamente ser o caso, mas pergunto-me se às vezes... e algumas pessoas, por qualquer razão, encontram a diversão na matemática e conseguem entusiasmar-se com ela, e é a mesma quantidade de trabalho e de resolver coisas, mas não parece, porque quando nos divertimos, não sentimos que é tanto trabalho. Provavelmente não é bem isso, é só uma teoria minha, provavelmente só meio certa. Jonathan: Mas foi engraçado porque, pronto, lembro-me de estudar química durante três anos no GCSE, no Reino Unido, e durante dois anos tens três anos de aprendizagem até aos exames do GCSE e depois tens estes grandes exames aos 16 anos, e fazes uma série de temas, portanto fazes tipo dez disciplinas diferentes, e isso é bastante. E depois decides: ok, vou fazer A levels, vou ou fazer mais matemática ou ciências ou o que for, ou inglês ou teatro ou o que for. Mas lembro-me de que a química não me fez clique durante cerca de dois anos e depois, tipo, na semana antes do exame, tudo fez sentido: a tabela periódica e como tudo aquilo funcionava, e ah, podia tirar todas as respostas da tabela periódica, só tinha de... é como palavras cruzadas ou o que for. E foi a lâmpada a acender-se e lembro-me de, a partir daí, pensar: ah, isto é a disciplina mais fácil de sempre. Mas foram dois anos de luta para chegar a esse ponto, e é interessante porque sinto que, para mim, programar é parecido: é como mergulhares nisso durante muito tempo e depois a ficha cai, e estou entusiasmado para quando isso começar a sentir-se nessa direção. Mas acho que o que estás a descrever, sabes, vi amigos que perceberam logo muito depressa à primeira e gostaram logo, e o aspeto de resolução de problemas era a característica principal da aprendizagem, o que acho muito interessante. Portanto, é fixe que também tenhas passado por isso, suponho. Brian: Sei que há uma aplicação que o meu filho jogou no iPad. Há uma empresa, ou uma série de aplicações, chamada Dragon Box. Não sei se já ouviste falar delas. Mas fazem aplicações educativas muito boas. Normalmente, sou bastante cético em relação à maioria das aplicações educativas, mas eles têm várias realmente boas. E uma delas é sobre geometria. E penso muito nisto como uma metáfora: não era geometria, era álgebra. Também há uma de geometria. Mas a de álgebra não te ensina propriamente os conceitos de álgebra. Ensina-te a mecânica da álgebra. Jonathan: Não te esqueças de deixar um gosto neste vídeo e de subscrever o nosso canal para veres mais vídeos como este. Brian: E fá-lo de uma forma em que tens dois lados diferentes, com estas duas caixas diferentes, e tens de fazer com que as coisas se equilibrem nos dois lados. Passas o monstro de um lado para o outro, ou tens de os transformar de um certo tipo de monstro noutro. Já passou algum tempo desde que o vi, mas o que me lembro tão claramente é que ele estava a aprender a mecânica da álgebra, mesmo sem compreender para que estava a trabalhar e porque é que o fazia. Mas era divertido fazê-lo, e fizeram-no de uma forma que o tornava mesmo cativante. E acho que o que é tão bom nisso, e quero que ele volte a usar a aplicação quando começar a aprender álgebra, porque sinto que, se tiveres a mecânica bem assente, então não tens de te preocupar tanto com isso e podes pensar mais no nível elevado, sem ficar stressado com a parte mecânica. E acho que talvez seja isso que estás a dizer com a química. Não sei se foi assim contigo, mas talvez seja tipo: porque é que me devo importar com toda esta mecânica, com estas regras e estas coisas? E é como, quando chegas a certo ponto, tipo: ok, já me debati com isso. Agora talvez possa importar-me com a razão pela qual faço isto. Jonathan: Sim, sim. Não, foi uma experiência mesmo interessante, porque foi a primeira vez que passei por esse processo de compreender algo e depois passas por um período em que perdes muita confiança nessas matérias, porque pensas: ah, o meu cérebro não está particularmente feito para esse tipo de raciocínio. Mas depois, na verdade, se olhares para a literatura inglesa, por exemplo, que foi o que eu fiz, passas de forma muito sistemática por analisar a linguagem e como as coisas estão estruturadas e por compreender, mas há uma nuance, há uma natureza artística em todo esse processo, e quero dizer, também se pode dizer que há esse elemento artístico no desenvolvimento de software e na programação. Cada pessoa tem o seu pequeno toque, e acho que é isso que estou a perceber cada vez mais: não há regras rígidas para nada. É tudo, são tudo compromissos. Portanto, não, tem sido fascinante. Então agora, tu ajudaste-nos nas coortes, que, se alguém estiver a ouvir, foram experiências de aprendizagem de Elixir e Golang e, Brian, ajudaste um pouco com a coorte de Elixir. Então como é que entraste no Elixir como linguagem? Qual foi o teu percurso até lá? Brian: Sim, é engraçado, porque alguém me fez exatamente essa pergunta hoje. Porque é uma... quero dizer, é uma linguagem de nicho, sabes, de certa forma. Mas estou no mundo do Ruby há muito tempo. Sou programador de Ruby há muito tempo. E adoro mesmo o Ruby, porque, sabes, sou um programador que quer, tipo, quero fazer as coisas, quero pensar, quero resolver problemas difíceis. E é difícil resolver problemas difíceis quando estás a pensar nos pequenos detalhes e a lidar com apontadores ou o que for, certo. Por isso, o Ruby era ótimo para isso. E depois, claro, o Joseph Alim, o criador do Elixir, veio do mundo do Ruby. Já era prolífico no mundo do Ruby e decidiu que precisava... não precisava, talvez seja incrível, ia criar a sua própria linguagem e ser prolífico nisso, e fez um trabalho fantástico. Portanto, de certa forma, sabes, fiquei preso a esse mundo onde, sabes, ouvia alguns podcasts em que às vezes se falava de Ruby, mas depois era tipo: ah, isto é uma coisa nova, o Elixir. E depois acho que talvez uma mudança, bem, uma coisa um pouco fundamental foi que eu estava a viver em... na verdade, tinha acabado de voltar para Columbus durante um tempo, Columbus, Ohio, e o Joseph Aleem veio ao grupo de Ruby em Columbus, a Columbus Ruby Brigade. E eles disseram, sabes, é tão bom o Joseph Aleem vir falar sobre o que quiseres falar. E, claro, ele disse: sim, vou falar sobre o Elixir, porque criei esta linguagem. Estou mesmo entusiasmado com ela. Sim. Sim, exatamente. E lembro-me disto. É tão engraçado, há tipo um ano, encontrei uma gravação dessa apresentação. E está um pouco granulada. Mas ainda se pode ver. E ainda consigo encontrar o sítio onde faço uma pergunta ao Joseph. E, tal como me lembro, tinha esta confusão sobre como exatamente... Jonathan: Estou mesmo entusiasmado com isto. Brian: ...estes conceitos de, tipo, crias estes processos e eles conseguem recuperar de uma falha, se tiveres supervisores e o que for. E não me lembro exatamente do que ele disse, mas eu estava tipo: como é que isso funciona? E tipo, tipo, ok, recuperas de erros. Mas será que, tipo, ainda aprendes sobre esses erros? Ou tipo, o que acontece? E, para mim, foi todo um processo de aprender o que isso significa. E acho que é um processo mesmo interessante. Acho que, na altura, grande parte da comunidade de Elixir estava a debater-se com, tipo, como descrever estes conceitos. E acho que há mais publicações em blogues e cada vez mais coisas para as pessoas absorverem e entrarem mais depressa. Mas, enfim, foi mais ou menos este o sítio onde entrei. Acho que foi um dos grandes pontos. É tipo: ah, isto parece interessante. E se o Jose diz que é fixe, então devo ir ver. Jonathan: Então foi quase como se o momento fosse o certo para tu entrares nisso? Foi só porque muitas coisas diferentes se alinharam e fizeram sentido para ti. Andavas a explorar outras linguagens? Quero dizer, mencionaste os apontadores. E isso é uma referência ao Go em específico ou estavas simplesmente à procura de uma linguagem que te servisse, digamos? Brian: Acho que... Sim, quero dizer, eu... gosto imenso da ideia de que coisas diferentes são boas para fins diferentes. E, sabes, estou completamente rendido ao Elixir agora. Sinto que provavelmente sou um pouco tendencioso, tipo: sim, o Elixir pode ser usado para praticamente tudo. Isso provavelmente não é inteiramente verdade. Mas acho que a questão dos apontadores, acho que tinha o C em mente, sabes, fiz um pouco de C, C++ na universidade. Acho eu. Sabes, sim, portanto, tipo, durante vários anos trabalhei com o Neo4j, a base de dados de grafos. E era uma coisa que me entusiasmava imenso. E era um dos maintainers das gems de Neo4j para Ruby. Porque era este Não precisamos de entrar muito nisso, mas as bases de dados de grafos permitem-te fazer certas coisas mais depressa, ou simplesmente, de certa forma, mais facilmente. Para mim era, era tipo... não é muita gente que usa o Neo4j para isto, mas sinto que era um pouco como o Ruby, no sentido em que te ajudava a pensar nas coisas a um nível mais elevado. E por isso permitia-te fazer as coisas de forma mais elegante. Mas gosto simplesmente daquela ideia de, ok, as bases de dados de grafos podem ser boas para este fim, e uma base de dados relacional para este, e uma base de dados de documentos para aquele. E ok, bem, se precisar de fazer um pequeno serviço que tenha de funcionar super depressa, talvez o faça em Rust ou Go ou o que for. E por isso devo conhecer essas linguagens, e se for... coisas de nível mais elevado, há o Ruby e o Python, mas agora há o Elixir, e o Elixir é... e tem na verdade muitas vantagens ótimas. É uma coisa super difícil perceber o que é bom para coisas diferentes, porque há tanta coisa envolvida numa linguagem, por exemplo, que perceber se é boa para algo é difícil. E também as pessoas, eu incluído, acho, ficam emocionalmente investidas em algumas das linguagens de que gostam, por uma razão ou outra. E então é tipo: bem, é difícil. Hmm-hmm. Jonathan: E Brian, usas Elixir diariamente no trabalho? E o que é o trabalho para ti neste momento? Tipo, como é o teu dia a dia nesta altura? Brian: Sim, sou consultor na Erlang Solutions. E estou a trabalhar com um cliente da Erlang Solutions, que é uma empresa chamada VicAI. Não sei se já ouviste falar deles. Acho que o Lars Wirthven, penso, os ajudou um pouco e escreveu sobre eles no seu blogue. É uma pessoa meio famosa no mundo do Elixir. E sim, é uma empresa que... ajuda outras empresas, têm, fazem uma aplicação que ajuda empresas a processar faturas, semiautomaticamente ou de forma totalmente automática, usando inteligência artificial. Ok. E sim, e portanto têm, claro, modelos de aprendizagem automática, mas depois têm uma API em Elixir que lhes permite coordenar muitas coisas. Jonathan: Ok. E portanto lidas com muitos clientes diferentes durante o dia ou trabalhas mais com um grupo especializado com quem vais acompanhando e estabelecendo parceria? Tipo, como é que tudo isso funciona? Brian: Sim, normalmente estou numa espécie de equipa de funcionalidades com um gestor de produto, e temos um programador web e um programador de aplicações móveis, e às vezes um programador de backend, a equipa de aprendizagem automática. E depois é bom, às vezes temos tipo uma pessoa de produto ou de garantia de qualidade que faz a interface com os nossos clientes para nos ajudar a obter as coisas mais relevantes, mais necessárias, tipo, sabes, o que é que os utilizadores e os clientes realmente precisam. Mas é um pouco tipo camadas, tipo, dependendo do que é, tipo, temos, temos um grande cliente direto, e depois temos alguns, tipo, sistemas de contabilidade, ERPs com que trabalhamos, que têm pessoas que, sabes, introduzem os seus clientes... Sinceramente, não trabalho muito com isso, com o lado do cliente, tanto assim. Mas acho que temos muitas formas diferentes de fazer interface com os clientes, e temos de fazer muitas danças diferentes para integrar, o que é, o que é um problema interessante em si mesmo. Jonathan: Então a semana é bastante variada e fazes muitas coisas diferentes durante a semana ou é bastante previsível? Brian: Hmm, sim, acho que é, sabes, acho que tenho bastante sorte nisso, eu... normalmente, quero dizer, há, há normalmente um projeto em que estou a trabalhar. Mas, por exemplo, uma coisa que acho que posso dizer, recentemente, estava a ajudar a garantir que os nossos cálculos retroativos estavam corretos na forma como processamos as faturas. Porque isso pode ser uma coisa complicada, só de lidar com isso. Especialmente quando tens faturas a chegar de um monte de fornecedores diferentes, que podem, sabes, fazer as coisas de forma diferente uns dos outros. Mas tenho bastante sorte, porque eles gostam de garantir que estamos por dentro da nossa... qualidade de código e, em geral, por dentro das coisas. E por isso tentamos dedicar um tempo razoável a fazer coisas para melhorar as coisas, melhorar o nosso código ou melhorar as coisas. E, sabes, também sou assim. É tipo, normalmente tento reservar pelo menos algum do meu tempo para, sabes, fazemos muita integração com o Datadog para a aplicação, para garantir que temos rastreamento dos nossos pedidos e das nossas tarefas em segundo plano e todo esse tipo de coisas. E isso é uma coisa que me dá mesmo prazer, poder, depois de o fazer, tipo: ok, agora tenho as ferramentas de que preciso para fazer o meu trabalho. Mas sim, tipo, também, acho que recentemente, há uma coisa em que fiquei interessado, tipo uma forma de organizar código e referenciar outros módulos. E há uma ferramenta no mundo do Elixir, o Credo, que te permite impor diferentes regras no teu estilo de código. E então criei uma nova regra do Credo para potencialmente impor essa regra. E estou um pouco curioso para ver como corre. Jonathan: Ok, fixe. Isso soa, para ser sincero, um pouco acima da minha cabeça, mas de certa forma... tenho a certeza de que alguém por aí saberá o que se passa. Mas mencionaste antes que trabalhaste um pouco numa startup, acho que é isso. Portanto, tinhas esse lado do suporte técnico e também havia um pouco de uma história de startup. Isso é algo que te interessaria no futuro, ou é algo que está sempre no fundo da tua mente? Qual é a trajetória para ti, achas, nos próximos cinco, dez anos em termos de programação? Quero dizer, podes não saber, mas achei que era uma pergunta interessante de fazer às pessoas: onde te vês daqui a cinco, dez anos? Brian: Sim, é uma boa pergunta. Quero dizer, eu... no que toca a startups, sempre andei entre empresas pequenas e médias. Jonathan: Obrigado. Brian: tão feliz em empresas muito grandes. E nunca me vi propriamente como consultor até há pouco tempo, em que pensei, tipo: ok, isto é um pouco... interessante, poder, tipo... ir a empresas diferentes e talvez tentar ajudá-las a resolver os seus problemas, e depois talvez passar para outra empresa. Quero dizer, se alguém do Big Gag estiver a ouvir, não estou infeliz. Jonathan: Eu pensei, acho que não devia perguntar isso a alguém num podcast, mas sim, obviamente, partindo do princípio de que está tudo a correr bem. Desculpa, o meu gato está a arranhar a porta aqui. Brian: Ah, sim, sim, eu tive uma... Recebemos uma cachorra há cerca de um mês e por isso estou constantemente, tipo, tenho de, tipo, ela está a ladrar ou está, sabes, talvez uma ou duas vezes a fazer xixi na cama e é tipo, tenho de lidar com isto. Jonathan: Nós também acabámos de receber... é uma loucura. Às 5 da manhã todos os dias. Às 4h30 da manhã ela salta para a cama e começa, tipo, a dar patadas na cara dela. É giro e adorável. Mas sim, passado um bocado é tipo: vá lá. Mas sim, voltando àquela coisa dos próximos anos, o que é que gostarias de conseguir fazer ou realizar? Brian: Sim, é uma boa pergunta. Acho que gosto da ideia de perceber... Acho que uma das coisas que talvez me atraia no Elixir é que ainda é um pouco recente. E por isso gosto... tipo, quais são algumas formas de abrir novos caminhos e encontrar novos padrões. E especialmente, tipo, sabes, não é só, sabes, estive no mundo do Ruby durante um tempo e por isso, ao entrar no Elixir, às vezes há coisas tipo: ah, sinto falta disto do Ruby, seria ótimo construir isto ou fazer aquilo. Mas também há simplesmente coisas, tipo, sabes, ah, isto é algo que não conseguia fazer muito bem em Ruby. Mas se eu fizer só isto, então, sabes, podíamos, podia ser ainda mais fantástico, aproveitando os pontos fortes do Elixir. Portanto, acho que é esse tipo de coisas que me interessa, tipo encontrar, encontrar casos de uso interessantes e falar sobre eles, partilhá-los, porque isso também é algo que sempre me inspira, tipo quando leio, especialmente quando leio sobre algo, tipo um caso de uso real, e vejo os detalhes, não só tipo: sim, fizemos esta coisa e mais ou menos, foi assim que a abordámos. É tipo: mas onde é que posso ver algum código ou, tipo, quais são os detalhes? Sim. Jonathan: Parece que gostas do lado da otimização, tipo pegar numa coisa e desbravar uma nova forma de a tornar melhor e mais eficiente. É pelo menos o que estou a ouvir. É justo, achas? Brian: Sim, acho que sim, e acho que eficiente é bom. Mas acho que talvez diria ainda mais: encontrar formas de tornar as coisas agradáveis. Gosto imenso da ideia de como podemos resolver problemas para já não termos de lidar com eles. Tipo, criar bibliotecas para podermos dizer, ok, aquele problema, sim, aquele problema está resolvido, agora vamos passar a outra coisa que, sabes, é um melhor uso do nosso tempo, certo? Jonathan: Não, claro. Isso faz sentido. Então, uma das coisas que tenho gostado de perguntar às pessoas, sobretudo em todo... porque sou bastante, diria que sou bastante novo na tecnologia enquanto setor como um todo, e não venho de um percurso particularmente experiente em termos de programar desde pequeno, etc., etc. E uma das coisas que muitas vezes me tem chamado a atenção, e ouves isto muito com amigos que estão na tecnologia, é que há bastantes opiniões a circular, o que parece bastante, bastante verdade. Mas temos esta pergunta que gostamos de fazer às pessoas que vêm ao nosso podcast, que é: qual é a colina por que morrerias na tecnologia? E, obviamente, formulando-a de forma um pouco jocosa. Mas há algum modo de pensar ou opinião que tenhas em que penses: é esta a colina que eu defenderia? E pode ser qualquer coisa. Um bom exemplo seria, tipo, o DJ, que é um dos nossos maintainers, talvez o conheças, a colina dele era o papel da conversa realmente essencial, tipo ter uma conversa bem-intencionada e boa, bem estruturada, no espaço da tecnologia. Portanto, ter esse questionamento robusto, sabes, desafiante, que assenta nas bases certas, digamos. Estou a tentar lembrar-me do que outra pessoa disse. A Rebecca, na Unison, dizia que preferia ter 50 pessoas numa equipa que fossem trabalhadoras, conscientes e talvez menos talentosas do que um génio com quem é um pesadelo lidar. Portanto, espero que estes sejam bons exemplos. E atirei-te um pouco para debaixo do autocarro com essa pergunta assim de repente, porque provavelmente há bastantes perspetivas que podes ter. Mas há alguma que dirias: não, é esta que estou disposto a defender firmemente? Brian: Hmm. Sim. Sim, porque o meu primeiro pensamento foi tipo: ah, camel case contra snake case. Bem, não sei se morreria nessa colina ou não. Acho que muitas dessas coisas... Jonathan: Eu não conseguia... Brian: Sim, sim, mas muitas dessas coisas, acho que... talvez me torne menos opinativo em relação a elas com o tempo. Mas sim, gosto destas coisas de nível mais elevado de que estás a falar. Sinto que podia... gosto. Deixa-me ver se consigo trazer isto à conversa. Infelizmente estás a editar isto, por isso as minhas pausas vão simplesmente desaparecer, certo? Jonathan: É pelo menos o plano. Brian: Sim. Então há uma ferramenta chamada Remote Retro. Que usei várias vezes e recomendo vivamente. E soube dela porque está escrita em Elixir. Mas à parte disso, acho que está simplesmente bem concebida. E, com o tempo, foi-se tornando uma ferramenta cada vez melhor. Mas começa sempre com uma Prime Directive, que, acho, era... enquanto olho para isto agora, vejo que foi retirada do Norm Keith. Há uma página de wiki aqui, por isso podes procurar isto. Podes ir a remote-retro.org se quiseres ver isto. Mas... sim, aqui está a Prime Directive, que acho que é simplesmente, é uma espécie de coisa que lês no início de uma retrospetiva para pôr as pessoas na mentalidade certa, que diz: independentemente do que descobrirmos, compreendemos e acreditamos verdadeiramente que todos fizeram o melhor trabalho que podiam, dado o que sabiam na altura, as suas competências e capacidades, os recursos disponíveis e a situação em causa. Hmm, portanto acho que isso é bom. Acho que é semelhante, tipo... Tens de garantir que estás sempre... Tipo, e, na verdade, vou até dizer mais uma coisa. Houve uma entrevista e posso, posso partilhar isto se quiseres, tipo, pôr o link na descrição do programa ou o que for mais tarde. Jonathan: Vou fazer referência a isso, com certeza. Brian: Sim, recomendo sempre este artigo, apesar de ser sempre super difícil de encontrar e não sei, provavelmente já caiu um pouco no esquecimento, mas havia este... este homem que era administrador da Associação de Veteranos nos Estados Unidos, o departamento governamental. E, em concreto, acho que lidava com o sistema de saúde deles. E deu esta entrevista em que vinha do mundo aeroespacial. E muito do que falou era... como, no setor aeroespacial, em muitos... provavelmente não é perfeito em todo o lado, mas em muito do que ele viveu, culpavas o processo, não culpavas as pessoas. E se algo corre mal, dizes, sabes, ok, sabes, não é, sabes, tipo, eu apaguei uma tabela em produção. Mas, felizmente, ninguém me culpou por isso. Disseram: ok, o que fazemos agora? Bem, fazemos com que, quando entras em produção na consola, apareça, o prompt fica vermelho. E assim fica claro que estás em produção, certo? Porque eu cometi esse erro, porque pensei que era desenvolvimento quando estava... Sim, exatamente. Portanto, tive a sorte de ter um escritório em que culpávamos o processo e não a pessoa. E isso foi mesmo ótimo. E ele falou disso no contexto, tipo, da medicina, que era tipo: ok, às vezes, talvez uma enfermeira dê o medicamento errado a um paciente. É tipo: bem, às vezes os rótulos são confusos, ou há esta coisa que é tipo, é difícil, ou é só, sei lá, não é o ideal. É tipo: ok, vamos, vamos corrigir isso. Vamos, vamos fazê-lo. Portanto, se quisermos, se realmente nos preocupamos com o paciente, vamos, vamos tornar isto um processo em que é mais difícil errar. Portanto, isso é algo que, acho, é muito importante para mim. Jonathan: Isso é mesmo fixe. Vou sem dúvida pôr estas notas do programa. Isso vem do tal do agile, é uma espécie de coisa construída sobre a metodologia ágil, digamos? Ou é um pouco outra coisa? O que pensarias sobre isso? Brian: Sabes, acho que é uma boa pergunta. Fiquei com a impressão de que fazia parte de uma tradição razoavelmente longa em alguns círculos de engenharia aeroespacial. Quero dizer, o aeroespacial, acho que talvez tenha a ver com o facto de, tipo, se tens, se estás a fazer aviões ou se estás a fazer foguetões, estás no trabalho em que isto tem de funcionar. E quando pomos lá um ser humano, seja um astronauta ou um passageiro, temos de lhe dar a melhor hipótese de funcionar. E a melhor forma de o fazer é pôr os nossos egos de lado e dizer, sabes: o quê? Jonathan: … Brian: o que é que vai fazer isto funcionar o máximo possível de cada vez, se simplesmente seguirmos o processo. Acho que é parte disso, sim. Jonathan: Porque, quando estava a procurar o Remote Retro, parecia ter muita, tipo, terminologia ágil. Por isso pergunto-me se talvez tenha mudado a partir daí em algum ponto. Mas isso é mesmo fixe. Nunca tinha ouvido falar disso. O que já ouvi falar é das listas de verificação, sobretudo na medicina e no aeroespacial. É tipo, um piloto segue uma lista de verificação. Não se desvia da sua lista de verificação. E um médico faz o mesmo. Isso é mesmo fixe. Brian, vamos começar a aterrar. Tenho mais uma pergunta para ti esta noite. E é mesmo: qual é a tua recomendação para a comunidade do exorcismo na próxima semana? Se pudesses dar um conselho, e podia ser sobre qualquer coisa. Podia ser, tipo, vai beber kombucha, sei lá, numa mercearia local, ou vai correr e nadar no oceano Ártico ou o que for. Se houvesse uma coisa que recomendasses à comunidade do exorcismo para experimentar, o que seria esta semana? Brian: Saúde! Hmm. Hã, eu diria... que, hmm, quero dizer, dentro, dentro das tuas... sabes, capacidades, porque talvez isto seja, sabes, não... é sempre difícil dar conselhos a toda a gente. Mas acho que uma coisa que tem sido importante para mim é, acho que uma vez fui às urgências porque estava com uma dor de cabeça súbita. E havia talvez a preocupação de que fosse uma dor de cabeça súbita e intensa, que pode ser uma coisa mais séria. Então, então fui e o médico examinou-me e estava tudo bem. Mas, sabes, o médico estava só a fazer perguntas gerais e a dizer, tipo: ok, quanta atividade física fazes? E, sabes, qual é a tua atividade e o que for. E eu estava, sabes, sendo americano, eu estava tipo: bem, eu, sabes, ando bastante a pé, faço talvez 8000 passos por semana, por mês, ou em média por dia. E ele diz: sabes, devias, devias sair três vezes por semana, durante 45 minutos, tipo, para transpirar mesmo. E, sabes, não o fiz logo de imediato. Mas, sabes, passados talvez cinco ou seis meses, entrei num padrão, num hábito de correr, normalmente três vezes por semana, às vezes duas vezes por semana, mas sabes, e acho que isso tem sido, tipo, uma grande mudança na minha vida. Acho que me ajudou muito. Portanto, acho que sei que é uma coisa super difícil de fazer e é super difícil para mim entrar nisso. E acho que parte da forma como o fiz é que eu estava tipo: ok, vou sair e, se acabar por andar 75% do tempo, então ok, é assim que vai ser. Vou construindo aos poucos. Jonathan: Isso é fixe. Acho que foi interessante teres mencionado isso, porque nós... Brian: Acho que foi interessante teres mencionado isso, porque nós... Jonathan: Não, isso é mesmo fixe, porque uma das coisas que tentámos pensar nas coortes era o que vai facilitar as pessoas crescerem e aprenderem e, tipo, avançarem e ganharem ímpeto, suponho, na sua corrida pela programação, digamos. E uma delas era simplesmente sair, mesmo que fosse 10 minutos por dia, só para te colocares na posição de experimentar. E mesmo que não chegues realmente a lado nenhum, mesmo que só leias as instruções e depois seja só isso por hoje, desde que apareças de alguma forma, faz uma grande diferença. Mas acho que é uma ótima recomendação, sem dúvida um lembrete para eu voltar a fazer um pouco de exercício, só porque às vezes é tão sedentário estar sentado dentro de casa. Portanto, se alguém que está a ouvir andar por aí, segue o conselho do Brian e vai correr. Mas, quero dizer, vai começar a ficar um pouco mais frio em Estocolmo nas próximas semanas. Ainda corres a meio do inverno ou é mais corrida em recinto fechado? Brian: Sim, corro. E, quero dizer, diria também, sabes, o melhor exercício que podes fazer, se vais sair 30, 40 minutos por dia, três vezes por semana ou assim, é, sei lá, aquilo de que gostas mais, sabes, porque se não gostas de correr, então provavelmente não vais conseguir manter isso. Por isso, sabes, digo isso primeiro. Mas sim, o inverno, sabes, tenho um gorro que, tipo, também está escuro em Estocolmo. Por isso a minha mulher arranjou-me um gorro com fibras incorporadas que são retrorrefletoras. Ok, então isso é bom. Assim mantém-me em segurança. E depois tenho uma máscara facial e umas coisas para as orelhas que posso pôr. Sim, e depois sim. Portanto, tenho mesmo de me agasalhar, mas também pode ser bom, porque quando está frio, sabes, consigo, consigo manter um ritmo mais baixo e ainda assim conseguir. Sim, exatamente. Exatamente. Jonathan: Ah, isso é fantástico. Mas Brian, só queria dizer um enorme obrigado pelo teu tempo esta noite, e provavelmente foi um dia longo, com filhos e trabalho e a cachorra nova e todo esse tipo de coisas, por isso só queria agradecer o teu tempo e por o partilhares connosco. E, para quem estiver a ouvir, vamos pôr as notas do programa na descrição abaixo, para que possam ver essas coisas. Se tiveres alguma oportunidade e estiveres a ouvir isto, vai ver o percurso de Elixir e tenho a certeza, **Brian ** não sei se fazes alguma mentoria no percurso de Elixir, mas talvez, se andares pelo espaço da mentoria, possas ver algumas pessoas novas a aparecer e a experimentar coisas. Ouvi muitas coisas boas sobre o Elixir, por isso acho que é definitivamente um a que estar atento no futuro. E sim, tem uma ótima noite, Brian. Espera só um bocadinho enquanto paro a gravação, mas sim, foi ótimo ter-te connosco e obrigado por partilhares um pouco da tua visão sobre a vida de Brian Underwood. E sim, obrigado a todos por ouvirem e tenham uma ótima noite. Até breve.
Ouve, aprende e deixa-te inspirar pelos membros da nossa comunidade.