Podcasts about Exercism

  • 42PODCASTS
  • 66EPISODES
  • 48mAVG DURATION
  • 1MONTHLY NEW EPISODE
  • Jan 10, 2025LATEST
Exercism

POPULARITY

20172018201920202021202220232024


Best podcasts about Exercism

Latest podcast episodes about Exercism

AWS Bites
138. How Do You Become A Cloud Architect?

AWS Bites

Play Episode Listen Later Jan 10, 2025 39:02


Ready to take your tech career to the cloud and build those awe-inspiring systems you see? Then you're in the right place. This episode of AWS Bites is your blueprint for becoming a successful cloud architect. We're not just going to talk about it; we'll show you what worked for us, sharing the critical skills you need, and a practical path to build your expertise. Whether you're a beginner or looking to take the next step, join us as we equip you with the knowledge and tools to make your mark as a cloud architect! In this episode, we mentioned the following resources: Google Cloud Architecture Definition: https://cloud.google.com/learn/what-is-cloud-architecture Market data about the Cloud Professional Services market: https://www.gminsights.com/industry-analysis/cloud-professional-services-market EP 91 - Our Journeys into Software and AWS: https://awsbites.com/91-our-journeys-into-software-and-aws/ AWS Well-Architected Framework: https://aws.amazon.com/architecture/well-architected/ EP 68 - Are you well architected?: https://awsbites.com/68-are-you-well-architected/ Cloud Design Patterns: https://learn.microsoft.com/en-us/azure/architecture/patterns/ The art of scalability (book): https://www.amazon.com/Art-Scalability-Architecture-Organizations-Enterprise/dp/0134032802 Enterprise integration patterns (book): https://www.amazon.com/Enterprise-Integration-Patterns-Designing-Deploying/dp/0321200683/ Designing Data-Intensive Applications (book): https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321 AWS Networking Essentials (free guide): https://aws.amazon.com/getting-started/aws-networking-essentials/ Docker Curriculum (free): https://docker-curriculum.com/ How Linux works (book): https://www.amazon.com/How-Linux-Works-Brian-Ward/dp/1718500408/ Exercism coding challenges: https://exercism.org/ The tangled web (book): https://www.amazon.co.uk/Tangled-Web-Securing-Modern-Applications/dp/1593273886 Low Level YouTube Channel: https://www.youtube.com/lowlevellearning AWS - Best Practices for Security, Identity, & Compliance: https://aws.amazon.com/architecture/security-identity-compliance/ Supercommunicators (book): https://www.amazon.com/Supercommunicators-Unlock-Secret-Language-Connection/dp/0593862066/ An Elegant Puzzle (book): https://www.amazon.com/Elegant-Puzzle-Systems-Engineering-Management/dp/1732265186/ Staff Engineer (book): https://www.amazon.com/Staff-Engineer-Leadership-beyond-management/dp/1736417916/ EP 58 - What can kitties teach us about AWS: https://awsbites.com/58-what-can-kitties-teach-us-about-aws/ AWS User Groups: https://aws.amazon.com/developer/community/usergroups/ Do you have any AWS questions you would like us to address? Leave a comment here or connect with us on X/Twitter: - ⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠https://twitter.com/eoins⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠ - ⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠https://twitter.com/loige⁠⁠⁠⁠

Elixir em Foco
Retrospectiva 2024: Eventos, Aprendizados e Tendências no Mundo Elixir

Elixir em Foco

Play Episode Listen Later Jan 1, 2025 67:39


Neste episódio do podcast Elixir em Foco, Adolfo Neto, Herminio Torres e Zoey Pessanha conversaram sobre eventos da comunidade Elixir ao redor do mundo, como a Code BEAM e a Alchemy Conf, além de iniciativas locais no Brasil, como o Elixir Curitiba e a possibilidade de um futuro Elixir Maceió. Eles também exploraram tendências e aprendizados técnicos, como o interesse em frameworks como Ash, linguagens emergentes como Gleam, e ferramentas para aprendizado como Exercism. Reflexões sobre temas não técnicos, como ciências sociais e gênero, também foram abordadas, demonstrando o interesse dos participantes em ampliar seus horizontes. O episódio terminou com mensagens de final de ano e incentivos à comunidade para explorar novos conhecimentos, participar de projetos, e dar feedback sobre o podcast. Houve também uma chamada para mais interação com os ouvintes e o desejo de continuar fortalecendo o projeto em 2025. Recomendações IA SOB CONTROLE https://www.iasobcontrole.tech/  IA nas ondas do rádio (um episódio) https://open.spotify.com/episode/0i3ThcX70HsEHLMZzbpqt1 Ep. Paulo Valente https://elixiremfoco.com/episodio?id=paulo-valente  Twitter -> Bluesky https://redeemilias.bsky.social/  Projetos open source da Zoey https://github.com/zoedsoupe/proto_rune https://github.com/zoedsoupe/peri https://github.com/zoedsoupe/nexus https://github.com/zoedsoupe/arcane-quests Blog do Herminio https://dev.to/herminiotorres/bridging-the-gap-simplifying-live-component-invocation-in-phoenix-liveview-5boc   O que quer aprender ou praticar em 2025 https://elixir-phoenix-ash.com/index.html  Lean https://lean-lang.org/  Sofia https://bsky.app/profile/monad.mom Gleam https://gleam.run/ Rede Emílias de Podcasts no Bluesky https://bsky.app/profile/redeemilias.bsky.social Rede Emílias de Podcasts no Mastodon https://bertha.social/@redeemilias/ Elixir em Foco no YouTube https://www.youtube.com/@elixiremfoco Elixir em Foco no Spotify https://open.spotify.com/show/43aDX4kajkNCKaCYpGPooJ Elixir em Foco no Spotify for Podcasters https://podcasters.spotify.com/pod/show/elixiremfoco Elixir em Foco na Apple Podcasts https://podcasts.apple.com/us/podcast/elixir-em-foco/id1560944119 Associe-se à Erlang Ecosystem Foundation em⁠⁠ ⁠⁠⁠https://bit.ly/3Sl8XTO ⁠⁠ . O site da fundação é⁠⁠ ⁠⁠⁠⁠https://bit.ly/3Jma95g ⁠ Nosso site é⁠⁠ ⁠⁠⁠⁠https://elixiremfoco.com⁠ Estamos no X em @elixiremfoco⁠⁠ ⁠⁠⁠⁠https://x.com/elixiremfoco⁠ Nosso email é ⁠⁠⁠elixiremfoco@gmail.com⁠  .

The Bike Shed
448: Other Uses for Tests

The Bike Shed

Play Episode Listen Later Nov 26, 2024 33:42


How can tests serve beyond just catching bugs in code? In this episode, Stephanie and Joël dive into the various roles that tests can play in a developer's toolkit. Covering all the fundamentals, from aiding knowledge transfer and documentation to ensuring accountability in code reviews, they explore the unexpected ways that tests support developer workflows. They also explain the balance between writing detailed tests for documentation and managing complex code, and how effective testing practices can help developers become more confident and informed in their work. Gain insights about the impact of test suites on team collaboration, code readability, and project handoffs, and discover how tests can provide a “living specification” that evolves with your application. Join us to learn how to make the most of your tests and unlock new ways to elevate your development process. Tune in now! How test suites can act as living documentation that changes with the codebase. Using tests to document complex code before handing off a project. How backfilling tests can reveal critical edge cases in legacy code. The benefits of tests for developers working with complex code areas. Why a balance between comprehensive coverage and “good enough” testing is essential. Challenges associated with reading tests as documentation in certain codebases. Techniques for improving the readability of test suites for documentation. Advantages of using tests as a tool for accountability in code reviews. The concept of test-first code reviews to improve understanding of pull requests. Links Mentioned in Today's Episode: Mailtrap (https://l.rw.rw/the_bike_shed) 'Unlock the value of tests in understanding your codebase' (https://thoughtbot.com/blog/unlock-the-value-of-tests-in-understanding-your-codebase) Good Enough Testing (https://goodenoughtesting.com/) 'RailsConf 2024: So writing tests feels painful. What now? by Stephanie Minn' (https://youtu.be/t5MnS20adG4) 'Algorithms we develop software by' (https://grantslatton.com/software-pathfinding#algorithms-we-develop-software-by) Exercism (exercism.io) WorkOS (https://workos.com/) The Bike Shed (https://bikeshed.thoughtbot.com/) Joël Quenneville on LinkedIn (https://www.linkedin.com/in/joel-quenneville-96b18b58/) Joël Quenneville on X (https://x.com/joelquen) Support The Bike Shed (https://github.com/sponsors/thoughtbot)

Elixir em Foco
Elixir em Produção na Remote, com Lívia Almeida Barbosa

Elixir em Foco

Play Episode Listen Later Nov 6, 2024 57:22


Neste episódio do podcast Elixir em Foco, Adolfo Neto, Cristine Guadelupe, Herminio Torres e Zoey Pessanha recebem Lívia Almeida Barbosa, Senior Backend Engineer na Remote, para uma conversa sobre o uso de Elixir na Remote. Lívia detalha seu trabalho inicial na equipe de API pública da Remote e sua transição para o time de integrações contábeis. Ela explica o uso de Elixir em produção na empresa e a importância do trabalho assíncrono. Lívia também compartilha sua experiência prévia na Saraiva Educação, onde trabalhou com produtos educacionais e ganhou conhecimentos sobre desenvolvimento fullstack e cultura de testes. Lívia compartilha seu percurso acadêmico, com bacharelado e mestrado em Ciência da Computação pela Universidade Federal de Minas Gerais (UFMG), e menciona o trabalho com o professor André Hora. Ela conta como sua pesquisa de mestrado, focada na migração de frameworks de testes no ecossistema Python, contribuiu para seu desenvolvimento profissional. Além da vida profissional, Lívia comenta sobre a comunidade "Engineering Wolves" da Remote, destinada a mulheres e engenheiros não-binários, e oferece conselhos para iniciantes em Elixir, recomendando ferramentas como Exercism e participação em projetos reais. Para concluir, ela deixa uma mensagem à comunidade brasileira de Elixir, incentivando o engajamento e a busca constante por aprendizado. LinkedIn da Lívia - https://www.linkedin.com/in/liviaab/ Dissertação de mestrado da Lívia: Assessing the Migration of Testing Frameworks in the Python Ecosystem - https://repositorio.ufmg.br/handle/1843/47346 Exercism - https://exercism.org/ Remote Careers - https://remote.com/careers Rede Emílias de Podcasts no Bluesky - https://bsky.app/profile/redeemilias.bsky.social Rede Emílias de Podcasts no Mastodon - https://bertha.social/@redeemilias/ Elixir em Foco no YouTube - https://www.youtube.com/@elixiremfoco Elixir em Foco no Spotify - https://open.spotify.com/show/43aDX4kajkNCKaCYpGPooJ Elixir em Foco no Spotify for Podcasters - https://podcasters.spotify.com/pod/show/elixiremfoco Elixir em Foco na Apple Podcasts - https://podcasts.apple.com/us/podcast/elixir-em-foco/id1560944119 Associe-se à Erlang Ecosystem Foundation - https://bit.ly/3Sl8XTO Site da Erlang Ecosystem Foundation - https://bit.ly/3Jma95g Nosso site - https://elixiremfoco.com Estamos no X (@elixiremfoco) - https://x.com/elixiremfoco Nosso email - elixiremfoco@gmail.com

Elixir em Foco
40. BEAM em Produção na Ekinops (Fabian van 't Hooft e João Henrique Freitas)

Elixir em Foco

Play Episode Listen Later Jul 3, 2024 50:37


Neste episódio do Elixir em Foco, Adolfo Neto e sua equipe, Herminio Torres e Zoey Pessanha, entrevistam Fabian van 't Hooft, Team Lead Manager na Ekinops, e João Henrique Freitas, Embedded Software Developer na mesma empresa. Eles discutem o papel da Ekinops, seu forte background acadêmico e como a empresa utiliza a BEAM, a máquina virtual que executa Erlang e Elixir. Os convidados compartilham suas experiências, vantagens e desafios de trabalhar com BEAM, bem como as principais bibliotecas e frameworks que utilizam. Além disso, oferecem recomendações para quem deseja aprender Erlang. No final, deixam uma mensagem especial para a comunidade brasileira de Elixir. Entrevistados: Fabian van 't Hooft - Team Lead Manager at Ekinops https://www.linkedin.com/in/fabian-van-t-hooft-9825b89/  João Henrique Freitas - Embedded Software Developer at Ekinops https://www.linkedin.com/in/jo%C3%A3o-henrique-freitas/ Blog do João: https://beam-mignon.netlify.app/ Perfil no GitHub: https://github.com/joaohf/ Site da Ekinops: https://www.ekinops.com/ Links mencionados no episódio: Nitrogen - https://nitrogenproject.com/ Cowboy - subsistema do Nitrogen (servidor web, o phoenix usa por padrão) ssh do OTP https://www.erlang.org/doc/apps/ssh/ssh.html  Mnesia https://www.erlang.org/doc/apps/mnesia/mnesia.html  Erlang Examples Rabbit MQ Learn You Some Erlang https://learnyousomeerlang.com/ Playlist de Adolfo baseada no livro https://www.youtube.com/watch?v=pSlcmfQS4EU&list=PLF5ttO8F-IsTided30sMhUx-5Rfyeur65  Livro sobre Property-Based Testing com Erlang e Elixir https://pragprog.com/titles/fhproper/property-based-testing-with-proper-erlang-and-elixir/ Erlang in Anger https://www.erlang-in-anger.com/  Trilha de Erlang no Exercism https://exercism.org/tracks/erlang  Erlang Forums https://erlangforums.com/ Erlang and OTP in Action https://www.manning.com/books/erlang-and-otp-in-action  Programming Erlang https://pragprog.com/titles/jaerlang2/programming-erlang-2nd-edition/ Erlang Programming https://www.amazon.com/Erlang-Programming-Concurrent-Approach-Development/dp/0596518188  Making reliable distributed systems in the presence of software errors, Joe Armstrong (PhD Dissertation) https://erlang.org/download/armstrong_thesis_2003.pdf Erlang Master Class 1 https://www.youtube.com/playlist?list=PLR812eVbehlwEArT3Bv3UfcM9wR3AEZb5 Erlang Master Class 2: Concurrent Programming https://www.youtube.com/playlist?list=PLR812eVbehlwq4qbqswOWH7NLKjodnTIn  Erlang Master Class 3: OTP Behaviours and Releases https://www.youtube.com/playlist?list=PLR812eVbehlx6vgWGf2FLHjkksAEDmFjc  Entrevista com Brujo Benavides https://www.youtube.com/watch?v=6MTSl2OArd0 Entrevista com José Valim no freeCodeCampBR https://www.youtube.com/watch?v=KiF10RgaC5k  Assista a esta entrevista no YouTube em⁠⁠ ⁠⁠https://www.youtube.com/@elixiremfoco⁠ . Escute a esta entrevista no Spotify em ⁠https://podcasters.spotify.com/pod/show/elixiremfoco⁠  Leia o livro “Aprenda Elixir utilizando testes” https://aprenda.cafecomelixir.com.br/  Assine a newsletter “Café com Elixir”. Em especial, leiam a Edição 28. Ela é feita por Iago Efting https://cafecomelixir.substack.com/p/cafe-com-elixir-edicao-n28  Associe-se à Erlang Ecosystem Foundation em⁠⁠ ⁠⁠https://bit.ly/3Sl8XTO⁠ ⁠⁠⁠ . O site da fundação é⁠⁠ ⁠⁠https://bit.ly/3Jma95g⁠ ⁠⁠⁠  Nosso site é⁠⁠ ⁠⁠https://elixiremfoco.com⁠ ⁠⁠⁠   Estamos no X em @elixiremfoco⁠⁠ ⁠⁠https://x.com/elixiremfoco⁠ ⁠⁠⁠ .  Nosso email é ⁠⁠elixiremfoco@gmail.com⁠ .

Elixir em Foco
38. Elixir em Produção na Minha Biblioteca, com Thiago Leite Luiz

Elixir em Foco

Play Episode Listen Later May 2, 2024 35:34


Neste episódio do podcast Elixir em Foco, entrevistamos Thiago Leite Luiz, Head de Tecnologia e Inovação na Minha Biblioteca. Thiago descreve como Elixir é usado em produção naquele que é o maior streaming de livros atualmente no Brasil e compartilha sua jornada profissional e comenta sua transição de desenvolvedor para liderança técnica e gerencial.  Thiago oferece sugestões para aprender Elixir, recomendando recursos como livros da Pragmatic Programming, o site Exercism e o curso Elixir School.  O episódio proporciona uma visão abrangente sobre o uso de Elixir no contexto empresarial e insights valiosos para profissionais de tecnologia e estudantes interessados na linguagem. Links: Thiago Leite Luiz - Minha Biblioteca - Head of Technology & Innovation - Minha Biblioteca https://www.linkedin.com/in/thiago-leite-luiz/   Minha Biblioteca https://minhabiblioteca.com.br/  Entrevista com Giselle Guimarães Ramos, CEO da “Minha Biblioteca” https://www.youtube.com/watch?v=PgdJFjHuldI  Elixir Days  https://www.elixirdays.com/  Exercism https://exercism.org/  Elixir School https://elixirschool.com/pt  Elixir in Action https://www.manning.com/books/elixir-in-action-third-edition  PragProg https://pragprog.com/  Assista a esta entrevista no YouTube em⁠ ⁠https://www.youtube.com/@elixiremfoco⁠⁠. Nosso canal é⁠ ⁠https://www.youtube.com/@ElixirEmFoco⁠⁠  Associe-se à Erlang Ecosystem Foundation em⁠ ⁠https://bit.ly/3Sl8XTO⁠⁠ . O site da fundação é⁠ ⁠https://bit.ly/3Jma95g⁠⁠  Nosso site é⁠ ⁠https://elixiremfoco.com⁠⁠   Estamos no Twitter em @elixiremfoco⁠ ⁠https://twitter.com/elixiremfoco⁠⁠ .  Nosso email é ⁠elixiremfoco@gmail.com⁠ . --- Send in a voice message: https://podcasters.spotify.com/pod/show/elixiremfoco/message

Dan The Dev
The Weekly Pomodoro #13 [ITA] - Come imparare un nuovo linguaggio di programmazione

Dan The Dev

Play Episode Listen Later Apr 20, 2024 28:51


Link and references from the video:Exercism: https://exercism.org/Coding Challenges: https://codingchallenges.substack.com/CodeCrafters: https://codecrafters.io/___________________________________________________________________Discover Learn Agile Practices: https://learnagilepractices.com/Subscribe to the newsletter: https://learnagilepractices.com/subscribeJoin the free Telegram channel: https://t.me/+2QAtoLNIgVU0NmU0Need help in developing your career in Software? Discover my coaching and mentorship program: https://learnagilepractices.com/coachingFollow me: https://danthedev.carrd.co/

SAP Developers
SAP Developer News September 28th, 2023

SAP Developers

Play Episode Listen Later Sep 28, 2023 5:52 Transcription Available


This episode covers 10k ABAP Students on Exercism, SAP TechEd DemoJam, What's New in SAP BTP, Q3 Summaries for Data & Analytics and Devtoberfest

The Bike Shed
402: Musings on Mentorship

The Bike Shed

Play Episode Listen Later Sep 19, 2023 37:56


Joël describes an old-school object orientation exercise that involves circling nouns in a business problem description. The purpose is determining which nouns could become entities or objects in a system. Stephanie shares she's working from the Hudson Valley in New York as a trial run for potentially relocating there. She enjoys the rail trails for biking and contrasts it with urban biking in Chicago. The conversation between Joël and Stephanie revolves around mentorship, both one-on-one and within a group setting. They introduce a new initiative at thoughbot where team members pair up with principal developers for weekly sessions, emphasizing sharing perspectives and experiences. Socratic method (https://tilt.colostate.edu/the-socratic-method/) Mentorship in 3 Acts by Adam Cuppy (https://www.youtube.com/watch?v=eDX5WH1uLz8) Exercism mentoring (https://exercism.org/mentoring) Transcript: STEPHANIE: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Stephanie Minn. JOËL: And I'm Joël Quenneville. And together, we're here to share a bit of what we've learned along the way. STEPHANIE: So, Joël, what's new in your world? JOËL: I was recently having a conversation with a colleague about some old-school object orientation exercises that people used to do when trying to do more of the analysis phase of software, ones that I haven't seen come up a lot in the past; you know, 5, 10 years. The particular one that I'm thinking about is an exercise where you write out the sort of business problem, and then you go through and you circle all of the nouns in that paragraph. And then, from there, you have a conversation around which one of these are kind of the same thing and are just synonyms? Which ones might be slight variations on an idea? And which ones should become entities in your system? Because, likely, these things are then going to be objects in the system that you're creating. STEPHANIE: Wow, that sounds really cool. I'm surprised that it's considered old school or, I guess, I haven't heard of it before. So, it's not something in my toolbox these days. But I really like that idea. I guess, you know if you're doing it on pen and paper, it's obviously kind of timeless to me. JOËL: And you could easily do it, you know, in a Google Doc and underline, or highlight, or whatever you want to do. But it's not an exercise that I see people really doing even at the larger scale but even at, the smaller scale, where you have maybe a ticket in your ticketing system, and it has a paragraph there kind of describing what needs to be done. We tend to just kind of jump into, oh, we're going to build a story and do the work and maybe not always think about what are the entities that need to happen out of that. STEPHANIE: I think the other thing that I really like about this idea is the aligning on shared vocabulary. So, if you find yourself using different words for the same idea, is that an opportunity to pick the vocabulary that best represents what this means? Rather than a situation that I often find myself in, where we're all talking about the same things but using different words and sometimes causing a little bit more confusion than I think is necessary. JOËL: Definitely. It can also be a good opportunity to connect with the product or businesspeople around; hey, here are two words that sound like they're probably meaning the same thing. Is there a distinction in your business? And then, you realize, wait a minute, a shopping cart and an order actually do have some slight differences. And now you can go into those. And that probably sparks some really valuable learning about the problem that you're trying to solve that might not come up otherwise, or maybe that only comes up at code review time, or maybe even during the QA phase rather than during the analysis phase. STEPHANIE: Yeah. I think that's really important for us as developers because, as we know, naming is often the hardest part of writing code, right? And, you know, at that point, you are making that decision or that distinction between maybe a couple of different terms that you're using to describe an idea and putting that down then will continue on to be read. And just propagating that down the line of, is this name actually what we mean? Or maybe we are using words that, at this lower level, make more sense, but when interacting or communicating with business stakeholders or product folks, they are using a different term. And I really like the idea of that activity being a cross-functional one where you can kind of agree on how to move forward there. Because lately, I've been finding myself oftentimes using both words where the product folks are describing it this way, and then we've, on the engineering side, have decided that, okay, we're actually going to call our database table this other thing, and now having to type out both [chuckles] meanings each time because I know that my audience is in both camps. JOËL: Yeah. There's, I think, a lot of value in using the business terms where possible. If you don't use them, there has to be a good reason. There's a slight distinction for the technical term. We're using it to say, hey, it's different from the business idea in interesting ways that only matter to the dev team. STEPHANIE: Is there a name for this activity? JOËL: I don't know, just circling nouns or underlining nouns. STEPHANIE: Cool. Maybe we can come up with something. [laughs] Or someone else can tell us if they know what this kind of exercise is called. JOËL: Gotta name the naming activity. So, how about you, Stephanie, what's new in your world? STEPHANIE: So, I have a pretty exciting life development to share. I am currently working from a different location than my home in Chicago. I'm in the Hudson Valley in New York for the next month because my partner and I are considering moving out here. And we are just kind of looking for a different pace of life a little bit. And we are taking this month as a trial run to see if we want to, you know, be out here permanently. And I've been having a great time so far. One thing that I've really enjoyed is all of the rail trails out here. So, a lot of old railroad tracks have been repurposed for outdoor recreation, and they are great for biking, or running, or even just walking. And I've been able to hop on my bike, you know, and bike a few minutes, and then I'm on the trail and just kind of surrounded by trees and forests. And that's been really nice because I missed having access to nature kind of, like, right outside my door. JOËL: So, you used to do quite a bit of urban biking in Chicago. But it sounds like now you're getting a chance to do more kind of nature biking. STEPHANIE: Yeah, it's a big difference for me because urban biking was always pretty rough or a little scary just, you know, having to bike with traffic. And I got a lot better at it. But now I'm, you know, biking completely off the roads. And I don't have to worry too much about cars. And I can, you know, just enjoy the fresh air around me and just be a lot more relaxed, I think, than I was able to when I was commuting in the city. JOËL: So, here's the real question. At this new location that you're staying at, do you have a bike shed? STEPHANIE: Not yet. But we now could have a bike shed because there's a lot more space out here, too. So, I could theoretically have my bike shed in my nice, big yard right next to my garden. And these are all [laughs] the hopes and dreams I have for my future life. JOËL: Before you build the bike shed, you can have six months of discussion about what color you want to paint it. STEPHANIE: Yeah, that's why I have this podcast, actually. [laughter] So, look out for that in what's new in my world is considering paint colors for a theoretical future bike shed in a place where I yet don't live. JOËL: You're going to become an expert in the Pantone color palettes. STEPHANIE: I hope so. That would be a great addition to my title. So, another thing that's new in both of our shared worlds is a new initiative on Boost, the team we're on, that you have been involved in. It's pairing sessions with the principal developer. JOËL: Yes. So myself and, another principal developer at thoughtbot have been doing weekly pairing sessions, where we take Tuesday afternoons and pair with one of the other members of the team on their client project doing whatever. So, it's not, a, like, pull someone in when you need help or anything that's more kind of targeted in that way. It's more of a you sign up for this ahead of time. And you just know that on this week, you get someone to pair with you who can hopefully bring in a different perspective a lot of experience, and pair with you on your particular project. STEPHANIE: Yeah. I'm so excited about this initiative because I've not been staffed on a project with you before or the other principal developer who's involved. And I have really wanted to work with you all and be able to learn from you. And I think this is a really cool way to make that expertise more accessible if you just don't happen to be working on a project together. JOËL: Yeah. One of the challenges I think of the principal role is that we want it to be a role that has a high impact on the team as a whole. But also, we are people who can be staffed on pretty much any client project that gets thrown at us and can easily be staffed on projects that require solo work. Whereas there are some teammates who I think it's the developer position that we guarantee they're never staffed solo. And so, that can often mean that our principals get staffed on to the really technically challenging problems or the solo problems, but then there's maybe not as much room to have interactions with the rest of the team on a day-to-day basis. STEPHANIE: Yeah. I think the key word you said that had me nodding my head was impact. And I'm curious what your hopes are for this effort and what kind of impact you want to be having for our team. JOËL: I think it's impact on a few different levels, definitely some form of knowledge sharing. Myself and the other principal developer have decade plus experience each in the field, have deep knowledge in a lot of different things like test-driven development, object modeling, security, things like that that build on top of kind of more basic developer skills that we all have. And those are all, I think, great ways that we can support our team if there's any interest in those particular skills or if they come up on a particular project. And knowledge sharing works both ways, right? I think anytime you're pairing with someone else, there's an opportunity to learn on both sides. And so, I think a really important thing when you're pairing with someone, even if you're kind of maybe more explicitly the mentor figure, is to kind of keep that open mind and look for not only what can I give, how can I teach, but what can I learn from this other person? STEPHANIE: Yeah, absolutely. I guess I'm wondering...and I know this is a pretty new programming so far, but is there anything you've learned or anything that surprised you that you weren't expecting when you, you know, first conceived of the idea based on how it's been going? JOËL: Something that really surprised me, there's some feedback I got after one of the pairing sessions, where this colleague who we'd paired together...and I felt like I hadn't contributed a ton, like, this colleague just really had it and was just kind of going through and doing things. So, I was kind of, like, leaving that pairing session being like, oh, I don't know if I added a ton of value here. And then, this colleague reached out to me and said, "Oh, you know, I felt, like, this huge boost of confidence because we were pairing together, and you were just kind of nodding along and basically saying yes to all of my choices." And I hadn't really considered that that can be a really valuable aspect of this sort of pairing. Sometimes you know the right thing to do, like, you've got it. But it's really easy to second-guess yourself. And just having someone along to, you know, give you that thumbs of like, yeah, this is the thing to do, can give you that confidence boost and kind of keep you moving in a way that feels really positive. STEPHANIE: Wow. I love that. That's really powerful, and I get that. Because, you know, obviously, it's very valuable to have your colleagues help generate different ideas that you might not have considered. But that validation can be really useful. And, you know, that's just not something you get when with a rubber duck. [laughs] The rubber duck can't respond, and [laughs] nod along. So, I think that's really cool that you were able to provide some of that confidence. And, in fact, I think that is contributing to their growth, right? In terms of helping identify, you know, those aspects that they're already really strong at, as well as developing that relationship so they know you're available to them next time if they do need someone to either do that invalidating or validating of an idea. JOËL: Yeah, there's a lot of power, I think, in kind of calling out people's strength and providing validation in a way that can really help someone get to the next level in their career. And it feels like such a simple thing. But yeah, sometimes you can have the biggest impact not by kind of going in and helping but just kind of maybe, like, standing back a little bit and giving someone a thumbs up. So, definitely one of the biggest surprises or, I think, one of the biggest lessons learned for me in the past few weeks of doing this. STEPHANIE: That's very cool. JOËL: So, Stephanie, you've also been doing some pairing or some mentoring from what I hear. STEPHANIE: Yeah. So, on my current client work, I have been pairing with a new hire on my client team who recently graduated from college. And this is his first job in software development. And I have been thinking and learning a lot through this experience because one of my goals was to get better at coaching, specifically the idea of asking guiding questions to help someone, you know, arrive at their own solution instead of, you know, making the suggestions myself or kind of dictating where to go. And this has kind of been a progression for me of kind of starting from, well, you know, I have the way that I want to do it. And the person I'm working with who maybe has less experience, like, they might not know where to go. So, we're just going to go along with my idea. And then the next step was offering a few different ideas, like a menu of options and kind of having that discussion about which way to go. And now, I really wanting to practice letting someone else lead entirely and helping them start thinking about the right things but ultimately not giving them the answer. But hopefully, like, the questions I've been asking means that they are able to get to a well-informed answer where they've thought through some of the things that I would think about if I were in the position of making the decision or figuring out how to implement. JOËL: Is this mostly asking questions to get them to think about edge cases, or is this, like, a Socratic approach to teaching? STEPHANIE: Could you describe Socratic approach for me? JOËL: So, the Socratic approach is a teaching approach that is question-based, where you kind of help the student come to the conclusions themselves by answering questions rather than by telling them the answer. STEPHANIE: Oh, interesting. I think a little bit of both. Where it's true, I am able to see some edge cases that folks with less experience might not consider because they just haven't had to run into them before or fight the fires when [laughs] their code in production ends up being a big issue or causes a bug. But I think that's just part of the work where there is kind of, like, a default dynamic that might be fallen into when two people are working together, and their experience levels differ, where the person who has less experience is wanting to lean on the more senior person to tell them where to go, or to expect to be in that position of just learning from them and not necessarily doing as much of the active thinking. But I was really interested in flipping that and doing a bit of a role reversal because I think it can be really impactful and, you know, help folks earlier in their career, like, really level up even more quickly than just watching, but actually doing. And so, the questions I've been asking have been a lot more open-ended in terms of, like, asking, "What do you think about this code that we're looking at?" Or, like, "Where do you want to go next?" And based on, you know, their answers, digging in a little more, and, at the end, maybe, like, giving that validation that we were talking about earlier. I was like, "Great. Like, I think that's a great path forward," or, "I think that's a good idea to spend our time on right now." But the open-ended questions, I think, are also ones that I also would have liked when I was in that position of learning, where having someone trust that I could draw on my past experience but, like, also knowing that they were there to support and maybe orient me if I ended up straying too far off the path. JOËL: How have you navigated situations where maybe you're asking a question about "What do you want to do next?" and they pick something that maybe would work but is not your sort of preferred approach, or maybe something that seems like it would work well enough but, you know, there's maybe a better approach? How do you navigate that? Do you let them take their approach and maybe kind of let them run into some of the edge cases and problems and then say, "Hey, let me show you something new"? Do you probe a little bit earlier? Or do you say, "Hey, that's good, but why don't we try my way"? How do you navigate that kind of situation? STEPHANIE: That is so hard. It's really challenging. Because if you kind of know that there's maybe a more effective way, or a cleaner way, or whatever, and you're seeing your pair or your mentee kind of go down a different path, you know, it's so easy to just kind of jump in and be like, "Oh, actually, like, let me save you some time, and effort, and pain and just kind of tell you that there's something else we could try." But I think I've been trying to sit on my hands a little bit and let them go down that path or at least let them finish explaining kind of what their thought process is and giving them the opportunity to do that act of thinking to see it through without interrupting them because I think it's really important to, you know, just honor the process that they're going through. I will say, though, that I also try to keep an eye on the time. And I am also, like, holding in my head a bit of a higher level, like, the project status, any deadlines, what's on our plate for the sprint. And so, if I'm seeing that maybe the path they want to go down might end up taking a while or we don't quite have enough time for that, to then come back and revisit and adjust and reiterate on, like, their first solution. Then that is usually an opportunity where I might offer them another way or say, like, "Hey, like, this is what I'm thinking," because of those things I mentioned before with deadlines or something I'm considering. But I generally try not to impose any of that as, like, this is what we will do so much as saying, "This is what I think we should do." Because I really want to hone in on the idea that, like, everyone just has opinions [laughs] about how they want to do things. And I'm not claiming mine is the perfect way or even the best way, but just what I'm thinking in this moment. JOËL: Yeah, time permitting, I've really appreciated scenarios where you give people a chance to do the non-optimal solution and run into edge cases that kind of show why that solution is not optimal and then backtrack out of it and then go to the optimal path. I think that's a lesson that really sticks much longer. So, I've even done that in scenarios where I'm building some training material. And I'll kind of purposely have the group go down the sort of obvious path, but that turns out to be non-optimal. And then, you hit a wall where things don't work, and then you have to backtrack. And it's like, okay, so that's why we don't do it that way that may have seemed obvious. Because then everybody remembers as opposed to...I mean, you could just go down this other path, and somebody asks you a question, "Why don't we go down this thing?" And then, they just...maybe they have to remember it, or it becomes a thing where it's like, oh, but, like, we were told that's a bad way to do it. And now you have this sort of, like, weird, like, absolutism about, like, oh, but, you know, Joël said that was bad. So, we just got to remember that's the bad thing. And it's not about the morality of that choice that I think can come through when you're kind of declaring a path good and a path bad, but instead, having experienced, hey, we went down this path. There were some drawbacks to it, which is why we prefer this other path. And I think that tends to stick a lot more with students. STEPHANIE: Yeah. I really like what you said about not wanting to inject that, like, morality argument or even kind of deny them the opportunity to decide for themselves how they thought that path went or, like, how they thought the solution was. If you just tell them like, "No, don't go there," you're kind of closing the door on it. And, yeah, they might spend a lot of time afterwards thinking that, like, that will always be a bad option without really forming an opinion for themselves, which I think is really important. Because, you know, once you do get more experience, that is pretty much, like, the work [laughs] that we're doing all of the time. But another thing that I think is also such a skill is assessing your own work, like, after you go down the path or, like, once you have something working, being able to come back to it and look at it and be like, oh, like, can this be better, right? And I think that can only happen once you have something to look at, once you have, like, a first draft, if you will, or do the less optimal implementation or naive implementation. JOËL: So, when you're trying to prompt someone to kind of build that skill of self-review or self-reflection on some of the work that they've done, how do you as a pair or a mentor help stimulate that? STEPHANIE: Yeah. I think with early career folks, one thing that is an easy way to start the conversation is asking, "Are there any places that could be more readable?" Because that's, I think, an aspect that often gets forgotten because they're trying to hold so much in their heads that they are really just getting the code to work. And I think readability is something that we all kind of understand. It doesn't include any jargon about design patterns that they might not have learned yet. You know, even asking about extracting or refactoring might be not where they are at yet. And so, starting with readability, for example, often gets you some of those techniques that we've learned that have, you know, specialized vocabulary. But I have found that it helps meet them where they're at. And then, in time, when they do learn about those things, they can kind of apply what they've already been doing when kind of prompted with that question as, like, oh, it turns out that I was already kind of considering this in just a different form. JOËL: And I think one thing that you gain with experience is that you have kind of a live compiler or interpreter of the language in your head. And so, sometimes for more complex code, I, as an experienced developer, can look at it and immediately be like, oh yeah, here's some edge cases where this code isn't going to work that someone newer to the language would not have thought of. And so, sometimes the way I like to approach that is either ask about, "Oh, what happens in this scenario?" Or sometimes it's something along the lines of, "Hey, now that we've kind of done the main workflow, there's a couple of edge cases that I want to make sure also work. Let's write out a couple of test cases." So, I'll write a couple of unit tests for edge cases that I know will break the code. But even when we write the unit tests, my pair might assume that these tests will pass. And so, we'll write them; we'll run them and be like, "Oh no, look at that. They're red. I wonder why." And, you know, you don't want to do it in a patronizing way. But there's a way to do that that is, I think, really helpful. And then you can talk about, okay, well, why are these things failing? And what do we need to change about the code to make sure that we correctly handle those edge cases? STEPHANIE: Yeah, that's really great. And now, they also have learned a technique for figuring out how to move forward when they think there might be some edge cases. They're like, oh, I could write a test, and they end up [laughs] maybe learning how to do TDD along the way. But yeah, offering that strategy, I think, as a supplement to having supported them in their workflow, I think, is a really cool way to both help them learn a different strategy or tactic while also not asking them to, like, completely change the way that they do their development. JOËL: So, we've talked about ways that we can coach and mentor in a more of a one-on-one setting. But it can also happen in more of a group setting. And an initiative that I've been involved in recently is, once a quarter, the principals on thoughtbot's Boost team are running a training session on a topic that we choose. And we chose this month to make it really interactive. We created an exercise. We talked a little bit about it, had people break out into breakout rooms for a pretty short time—it was like 20 minutes—and come up with a solution. And then brought it back to the big group to talk through some of the solutions. All of that within 45 minutes, so it's a very kind of dense-packed thing. And I think it went really well. STEPHANIE: Yeah. So, hearing that makes me think that the group wasn't actually going to get to a solution in necessarily that short amount of time. But I'm wondering if that was maybe intentional. Like it was never really about coming to the optimal solution but just the act of thinking about it or practicing how you would do that problem-solving without as much of a focus on the outcome. JOËL: So, yes and no. I think, as you said, the discussion, the journey is more important than the outcome. But also, because we wanted people to have a realistic chance at coming up with some kind of solution, we specifically said, "We don't want code. Don't write a code solution to this." Instead, we suggested people come up with some kind of diagram. So, the problem was, we have some sort of business process where you start by...you have an endpoint that needs to receive some kind of shopping cart JSON and then goes through a few different steps. You have to validate it. You have to attempt to charge their card, and then eventually, it has to be sent off to a warehouse to be fulfilled. And so, we're asking them to diagram this while thinking a little bit about data modeling and a little bit about potential edge cases and errors. People came up with some really interesting diagrams for this because there's multiple different lenses from which you could approach that problem. STEPHANIE: That's cool. I really like that you left it up to the groups to figure out, you know, what kind of tools they wanted to use and the how. You mentioned different lenses. So, I'm taking it that you didn't necessarily share what the steps of starting to consider the data modeling would be. Did you prompt the group in any way? How did you set them up before they broke out? JOËL: So, we had a document that had a problem definition; part of this involved talking to a few external services, so things like attempting to charge their card. I think there was a user service they needed to do to pull some user information. And then, there's that fulfillment center that we submit to the warehouse with your completed order. And so, we had sample JSONs for all of these. Again, the goal is not for them to write any code that deals with it but more to think about: okay, we need information from this payload to plug into this one. And then, if they want to add any sort of intermediate steps, they can do that. And I think sort of two common lenses that you could look at this is from more of an action standpoint, so to say, okay, well, first, we receive this payload, and then we make a call to this endpoint, and we try to do a thing and then success or failure, and then kind of go down this path and success or failure, and kind of keep going down that path until you finally reach that fulfillment endpoint. So, it's almost like a control flow diagram. But you could also take more of a data-centered approach and talk about how the data evolves as it goes through this process. And so, you start with, like, a raw JSON payload. And maybe that gets parsed into a shopping cart object, which then gets turned into a temporary order, which then gets turned into a validated order, which then is combined with a credit card charge to create a fulfillment order, which can then be sent off to the warehouse. And that perspective will completely change the way you think about what the code actually needs to be when you create it. STEPHANIE: Got it. That's cool. So, I'm curious, you know, what went into figuring out what the prompt would look like? I guess, like, where did you start? Did you already know that there would be these two different ways of thinking about or lenses to data modeling that you're, like, oh, like, maybe these groups will go down this route? Or was it, I guess, a bit of a surprise that when you came together, you found out kind of the different approaches? JOËL: We already knew that there would be multiple approaches, and we chose not to specify which one to take. I think now this is getting into almost like curriculum design and more kind of the pedagogy side of things, which I'm, you know, excited and passionate about. I don't know, is that something that you've done at all for some of your projects or areas where you've been coaching people? STEPHANIE: It's not been. But I actually do think it's a bit of a goal of mine to lead a workshop at some point at a conference because I really like the hands-on stuff that I get to do day-to-day, you know, working one-on-one with people. And, you know, I also am on the conference circuit. [laughs] And I was thinking that maybe workshops could be a really cool way to bring together those two things of like, well, I am enjoying that experience of working one-on-one, but it is, oftentimes, you know, just on our regular day-to-day work. And so, I would be really curious about how to develop that kind of curriculum for teaching purposes. Do you find yourself starting with problems you see on client work and kind of stripping that down into something maybe a little more general, or do these problems kind of just come up spontaneously? [chuckles] JOËL: So, workshop design is, I think, its own really fascinating topic, and honestly, we could probably do a whole episode on it. But the short of it is I typically work backwards from an end goal. So, just like when I'm writing a blog post, I have one big thing I want people to learn from a workshop, and then everything works backwards from there. Anything that is part of the workshop has to be building towards that big goal, that one thing I want people to learn. Otherwise, I strip it out. So, it's an exercise in ruthlessly cutting to make sure that I'm not overwhelming people and, you know, that we can fit in the time that we have because there's always not enough time in a workshop. And people can very easily get sidetracked or overwhelmed. So, as much as possible, have everything focusing in towards one goal. Circling back to the mentoring side of things, I'm curious what you see is maybe some of the biggest challenges as a mentor or a coach. STEPHANIE: Well, I think, for me, it was, in some ways, like, seeing myself in that role as mentor. Like, oftentimes, that was decided for me by someone else as, like, "Oh, hey. We have a new hire, and, like, would you be their onboarding buddy?" Or, you know, a manager kind of identifying, like, oh, like, Stephanie has been in this role for, you know, a few years now. She's surely ready to mentor [laughs] new folks or people joining the team. And that was really hard for me because I was like, well, I still have so much to learn [laughs], you know, like, how could I possibly be in that position now? You know, I am still learning from all these other people who are mentors to me. So, one thing that took me a long time was learning that I did have things that I knew that other people didn't. And I started to think of it more as this, like, ring of overlapping circles where, you know, we all probably do share some common knowledge. But we all are also experts in different things, and everyone always has something to teach. Even if you're just, like, a few months or, like, a year ahead of someone else, that is actually a really powerful spot to cultivate peer mentorship, and where I think learning can really thrive. There's a really great talk about this by Adam Cuppy called Mentorship in Three Acts, where he talks about that peer mentorship, where someone just knows, like, a little more than someone else. That can be really powerful and can be a good entry point for people who are interested in getting into mentorship but are kind of worried that, like, oh, they are, you know, not a senior yet. You know, when you're at a similar experience level as who you're working with, there is a little bit less of what we were describing earlier of, like, that dynamic of knowing what to do but kind of wanting to hold back and let them discover for themselves. In that peer mentorship dynamic, you know, both people are, like, really deep in it, kind of trying things out, experimenting, learning, and that ends up being really fruitful time for both of them. JOËL: Based on your experience, would you say that maybe that's the best place to start for someone who's looking to get into mentorship, so kind of pursue more of a peer mentorship scenario? STEPHANIE: Yeah. I would definitely say that it has helped me a lot. I've had a lot of peer mentorship relationships in the past, where maybe there just wasn't someone on the team who could mentor me at the time. Or maybe I was wanting to collaborate a little bit more and feeling like I did have some ideas and opinions that I wanted to talk about, or share, or get some feedback on. Reaching across my level was really helpful in starting to create that space. Yeah, I was really surprised by all the things that I was learning and all the things that the other person was learning from me that I think was a good wealth of experience for me to then bring to the next step when I found myself kind of in that position of supporting others who were more junior. JOËL: I'd like to also shout out Exercism.io as a great place to get started with mentoring. For those who are not aware, Exercism is a platform where they have a bunch of exercises that you can go through to learn a language. And you can go through them on your own, but you can also go through them with a mentor. Somebody will basically give you a little mini code review on your exercise or maybe help you out if you're stuck. And this all happens asynchronously. And it's volunteer-run. So, they just have people from the community who volunteer to be mentors on there to help coach people through the exercises. We'll put a link in the show notes to the page they have, kind of explaining how the mentorship works and how to sign up. But I did that for a while. And it was a really rewarding experience for me. I thought that I'd be mostly helping and teaching, but honestly, I learned so much as part of the process. So, I would strongly recommend that to anybody who wants to maybe dip their toe a little bit in the mentoring coaching world but maybe feels like they're not quite ready for it. I think it's a great way to start. STEPHANIE: Ooh, that sounds really cool. Yeah, I know that, especially for folks who maybe are working a little bit more independently, or are a bit isolated, or don't have a lot of people on a team that they're able to access; that sounds like a really great solution for folks who are looking for that kind of support outside of their immediate circle. On that note, shall we wrap up? JOËL: Let's wrap up. STEPHANIE: Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeee!!!!!!!! ANNOUNCER: This podcast is brought to you by thoughtbot, your expert strategy, design, development, and product management partner. We bring digital products from idea to success and teach you how because we care. Learn more at thoughtbot.com.

Thinking Elixir Podcast
139: Thinking Elixir News

Thinking Elixir Podcast

Play Episode Listen Later Feb 21, 2023 14:16


New Phoenix LiveView 0.18.12 release includes a new “streams” feature as well as other improvements. Andrea Leopardi released another Protohackers video, AppSignal adds Oban support, Orion library brings nifty distributed tracing UI, José does an interview with Exercism, Gleam gets added to Exercism, EMPEX NYC is back, and more! Show Notes online - http://podcast.thinkingelixir.com/139 (http://podcast.thinkingelixir.com/139) Elixir Community News - https://github.com/phoenixframework/phoenixliveview/blob/master/CHANGELOG.md#01812-2023-02-10 (https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md#01812-2023-02-10?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView release 0.18.12 & 0.18.13 - new Streams feature - https://github.com/phoenixframework/phoenixliveview/pull/2423/files (https://github.com/phoenixframework/phoenix_live_view/pull/2423/files?utm_source=thinkingelixir&utm_medium=shownotes) – PR that introduces streams for efficiently handling large collections - https://github.com/phoenixframework/phoenixliveview/pull/2425/files (https://github.com/phoenixframework/phoenix_live_view/pull/2425/files?utm_source=thinkingelixir&utm_medium=shownotes) – Allow replies from handleevent - https://github.com/phoenixframework/phoenixliveview/pull/2411/files (https://github.com/phoenixframework/phoenix_live_view/pull/2411/files?utm_source=thinkingelixir&utm_medium=shownotes) – inputsfor - https://github.com/phoenixframework/phoenixliveview/pull/2404 (https://github.com/phoenixframework/phoenix_live_view/pull/2404?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/phoenixframework/phoenixliveview/pull/2323/ (https://github.com/phoenixframework/phoenix_live_view/pull/2323/?utm_source=thinkingelixir&utm_medium=shownotes) – Live reloading LiveViews without a hard refresh - https://pragmaticstudio.com/phoenix-liveview (https://pragmaticstudio.com/phoenix-liveview?utm_source=thinkingelixir&utm_medium=shownotes) – Mike Clark with Pragmatic Studios published their updated Phoenix LiveView course. - https://gist.github.com/josevalim/132f9ddeb1c32d1a097afcf3d4523d48 (https://gist.github.com/josevalim/132f9ddeb1c32d1a097afcf3d4523d48?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim created a short gist that is a reference table with how the defaults changed from Phoenix v1.6 to v1.7. - https://mas.to/@whatyouhide/109830371246271384 (https://mas.to/@whatyouhide/109830371246271384?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi released another Protohackers video - https://www.youtube.com/watch?v=nHcR4ar00zs (https://www.youtube.com/watch?v=nHcR4ar00zs?utm_source=thinkingelixir&utm_medium=shownotes) – Protohackers in Elixir -Day 7 - Line Reversal - https://blog.appsignal.com/2023/02/07/appsignal-for-elixir-now-supports-oban.html (https://blog.appsignal.com/2023/02/07/appsignal-for-elixir-now-supports-oban.html?utm_source=thinkingelixir&utm_medium=shownotes) – AppSignal adds built-in Oban tracking - https://github.com/LivewareProblems/Orion (https://github.com/LivewareProblems/Orion?utm_source=thinkingelixir&utm_medium=shownotes) – Dynamic Profiling across the cluster - https://twitter.com/Di4naO/status/1624876674499198976 (https://twitter.com/Di4naO/status/1624876674499198976?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/watch?v=ME-7iGSIw_M (https://www.youtube.com/watch?v=ME-7iGSIw_M?utm_source=thinkingelixir&utm_medium=shownotes) – Amos King from Binary Noggin did a quick video previewing it so if you want to see how it works - https://github.com/evadne/shun (https://github.com/evadne/shun?utm_source=thinkingelixir&utm_medium=shownotes) – Security focused library called Shun - https://codecodeship.com/blog/2023-02-13-shun-keeps-your-http-secrets-safe (https://codecodeship.com/blog/2023-02-13-shun-keeps-your-http-secrets-safe?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post talking about Shun - https://github.com/danschultzer/test_server (https://github.com/danschultzer/test_server?utm_source=thinkingelixir&utm_medium=shownotes) – TestServer library was updated to work with Bandit - https://www.youtube.com/watch?v=LknqlTouTKg (https://www.youtube.com/watch?v=LknqlTouTKg?utm_source=thinkingelixir&utm_medium=shownotes) – Exercism.org held an AMA live interview with José Valim on Twitch. - https://www.twitch.tv/videos/1732921073 (https://www.twitch.tv/videos/1732921073?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam exercise gets live stream added to exercism.org - https://twitter.com/thecaspg/status/1622880074490957826 (https://twitter.com/thecaspg/status/1622880074490957826?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix productivity success story - https://gist.github.com/caspg/d01eaa9189b5207473419262b44ba8af (https://gist.github.com/caspg/d01eaa9189b5207473419262b44ba8af?utm_source=thinkingelixir&utm_medium=shownotes) – Gist showing how search feature was added - https://travelermap.net/parks/usa#map=3/41.14/-92.52 (https://travelermap.net/parks/usa#map=3/41.14/-92.52?utm_source=thinkingelixir&utm_medium=shownotes) – See the search feature in action - https://www.empex.co/new-york (https://www.empex.co/new-york?utm_source=thinkingelixir&utm_medium=shownotes) – Empex NYC returns from a 4 year hiatus. Accepting CFP until April 15 Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

SAP Developers
SAP Devtoberfest ABAP on Exercism?

SAP Developers

Play Episode Listen Later Oct 11, 2022 43:18


Ever heard of Exercism? Exercism is an online, open-source, free coding platform that offers code practice and mentorship on 50+ different programming languages. And now ABAP is available too! Join this session to learn about how this new track came about and get a walk through of the exercises. Featured Guest: Lars Hvam Petersen ABAP Track: https://exercism.org/tracks/abap/exercises

Thinking Elixir Podcast
116: Remote Development and Elixir

Thinking Elixir Podcast

Play Episode Listen Later Sep 13, 2022 65:31 Very Popular


In episode 110, we talked about, and rejected, the argument for the “End of Localhost Development”. Carter Bryden joins us to share a perspective from the other side, one in favor of remote development. We learn about the benefits to contractors, PR reviews, giving demos, and how containerizing our development environment even improves local development. We learn about the tools, services, and techniques that make it possible. An interesting look into a different way of developing our favorite language! Show Notes online - http://podcast.thinkingelixir.com/116 (http://podcast.thinkingelixir.com/116) Elixir Community News - https://www.humblebundle.com/books/elixir-programming-pragmatic-programmers-books (https://www.humblebundle.com/books/elixir-programming-pragmatic-programmers-books) – Elixir Programming Book bundle - Humble Bundle - https://twitter.com/whatyouhide/status/1566774954393305088 (https://twitter.com/whatyouhide/status/1566774954393305088) – Upcoming Elixir features - https://github.com/elixir-lang/elixir/pull/12109 (https://github.com/elixir-lang/elixir/pull/12109) – PR adding diffs for "mix format --check-formatted" - https://twitter.com/scenicframework/status/1566720982412173312 (https://twitter.com/scenicframework/status/1566720982412173312) – Scenic v0.11.0 was released - https://hexdocs.pm/scenic/upgradingtov0-11.html (https://hexdocs.pm/scenic/upgrading_to_v0-11.html) – Scenic upgrade guide - https://twitter.com/dockyard/status/1565769297393135617 (https://twitter.com/dockyard/status/1565769297393135617) – DockYard ElixirConf keynote talked about 4 major R&D projects. - https://dockyard.com/blog/2022/08/29/dockyard-r-d-beacon-brings-phoenix-speeds-to-your-cms (https://dockyard.com/blog/2022/08/29/dockyard-r-d-beacon-brings-phoenix-speeds-to-your-cms) – DockYard's Beacon CMS project - https://twitter.com/amnicd/status/1563253296101756929 (https://twitter.com/amnicd/status/1563253296101756929) – Another example of a mobile app written in Elixir. - https://gitlab.com/Nicd/geo-therminator (https://gitlab.com/Nicd/geo-therminator) – Gitlab project of the Android Elixir app - https://podcast.thinkingelixir.com/98 (https://podcast.thinkingelixir.com/98) – Interview with Dominic Letz about Elixir Desktop project - https://twitter.com/atyborska93/status/1565997307031703553 (https://twitter.com/atyborska93/status/1565997307031703553) – Elixir track on Exercism.io is now running Elixir 1.14. - https://surface-ui.org/blog/what-s-new-in-surface-0-8 (https://surface-ui.org/blog/what-s-new-in-surface-0-8) – Surface 0.8.0 was released during the conference - https://github.com/surface-ui/surface/blob/main/CHANGELOG.md#v080-2022-09-01 (https://github.com/surface-ui/surface/blob/main/CHANGELOG.md#v080-2022-09-01) – Surface changelog includes "Scoped CSS styles" - https://twitter.com/livebookdev/status/1565434195324936194 (https://twitter.com/livebookdev/status/1565434195324936194) – José Valim tweeted demonstration of Livebook's ability to manipulate pipelines using dbg feature Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://podcast.thinkingelixir.com/110 (https://podcast.thinkingelixir.com/110) – End of Localhost Development? - https://twitter.com/CarterBryden/status/1555299999952486401 (https://twitter.com/CarterBryden/status/1555299999952486401) – Twitter response to episode prompting interview - https://quantifiedcitizen.com (https://quantifiedcitizen.com) - https://approximated.app (https://approximated.app) - https://github.com/features/codespaces (https://github.com/features/codespaces) – Github CodeSpaces - https://aws.amazon.com/cloud9/ (https://aws.amazon.com/cloud9/) – Amazon Cloud9 - https://www.gitpod.io/ (https://www.gitpod.io/) – Gitpod.io - https://code.visualstudio.com/docs/remote/containers (https://code.visualstudio.com/docs/remote/containers) - https://github.com/jamestthompson3/nvim-remote-containers (https://github.com/jamestthompson3/nvim-remote-containers) - https://mosh.org/ (https://mosh.org/) - https://rails.new/ (https://rails.new/) Guest Information - https://twitter.com/carterbryden (https://twitter.com/carterbryden) – on Twitter - https://approximated.app/ (https://approximated.app/) – Solo app Carter mentioned - http://quantifiedcitizen.com/ (http://quantifiedcitizen.com/) – Carter's day job - http://indielixir.com (http://indielixir.com) – Carter's hobby Elixir podcast Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)

CodeKlets
[S3E1] Bring Your Own Onderwerp

CodeKlets

Play Episode Listen Later Jul 11, 2022 108:57


Show Notes Alweer het 3e seizoen. En dit keer beginnen we met een aflevering met bijna alle hosts. En om toch een soort van structuur aan te brengen, mag iedere host een onderwerp "meenemen" waar we het over gaan hebben en proberen we hier en daar een bruggetje te pakken. Verder een leuk nieuwtje, en iets waar je als vaste luisteraar onderdeel van wilt zijn. Luister dus zeker tot aan het einde. Deze aflevering hebben we weer lekker face to face opgenomen, en Aviva Solutions heeft ons daarvoor een ruimte beschikbaar gesteld. Met hosts Bernard Kroes - LinkedIn Johnny Dongelmans - LinkedIn Kishen Simbhoedatpanday - LinkedIn Twitter Wouter Dijks - LinkedIn Twitter Saber Karmous - LinkedIn Twitter Onderwerpen 00:00:40 Intro 00:01:22 Nieuwe host 00:06:03 Bring Your Own Onderwerp 00:06:18 Wat kun je verwachten van een junior? 00:26:53 Pair Programming 00:46:36 Remote werken 01:21:53 Easter Eggs 01:31:16 Tips 01:47:59 Outro Show links Het #CodeKletsTour bereik je door hier te klikkerdeklikken als je al op onze Slack zit. Zo niet, WAAROM NOG NIET? Dus hup snel via deze link aanmelden: CodeKlets Slack. Tips Bernard Johnny Jackass Forever - Jackass Forever (2022) - IMDb Kishen Stranger Things S04 op Netflix Wouter Saber Zit/sta bureau topic bij Tweakers De zit/sta bureau's van Boho office. Weinig “wobble” For All Mankind op Apple TV CodeKlets links CodeKlets CodeKlets Slack CodeKlets Twitter

WebJoy
S1 E2: A Fun, Approachable Way (Jessica / @codergirl1991)

WebJoy

Play Episode Listen Later Jun 21, 2022 17:45 Transcription Available


Jessica Wilkins joins the show to talk about her origin story coming from being a musician to building a passion project to promote diversity in classical music and how she got pulled into the tech industry by warm, friendly communities. We discuss a fun, approachable way to learn technology as we discuss Exercism, an online platform built to teach the joy of programming to everyone. https://blackexcellencemusicproject.com/index.html (Black Excellence Music Project) https://exercism.org/ (Exercism Learning Platform) https://www.freecodecamp.org/ (FreeCodeCamp) https://twitter.com/codergirl1991 (Jessica's Twitter: @codergirl1991)

Tech Lead Journal
#87 - Learning to Program With Exercism and Building Employee Culture With Kaido - Jeremy Walker

Tech Lead Journal

Play Episode Listen Later May 9, 2022 54:26


“You don't know what you don't know. So when you're learning something, it's very hard to identify your own knowledge gaps, especially if you're a programmer and you're moving from one language to another." Jeremy Walker is the co-founder of Exercism and Kaido. In this episode, Jeremy first shared about Exercism, a not-for-profit online platform for learning different programming languages. He explained the importance of programming in the idiomatic way, the role of mentorship when learning new languages, and shared his experiences running Exercism as one of the largest open source program, such as how to get consensus and how to run remote distributed teams. Later, Jeremy then talked about Kaido, an employee culture platform for building happier, healthier, and better connected teams. He shared how companies could strive to do more to build company culture before then shared some practical tips on how we can improve our personal wellbeing. Listen out for: Career Journey - [00:05:08] Exercism - [00:08:24] Programming in Idiomatic Way - [00:11:34] Mentorship When Learning Languages - [00:13:52] Inclusiveness & Equality - [00:17:04] Running Large Open Source - [00:21:19] Getting Consensus - [00:27:11] Running Remote Distributed Teams - [00:30:42] Kaido for Wellbeing and Culture - [00:37:00] Tips on Personal Wellbeing - [00:43:40] 3 Tech Lead Wisdom - [00:49:13] _____ Jeremy Walker's Bio Jeremy Walker is the co-founder of Exercism and Kaido. He is a software developer and entrepreneur who has been building tech businesses and not-for-profits for over 15 years. He is passionate about building great places to work and creating opportunity through education. In his space time he boulders and gets geeky about coffee. Follow Jeremy: Exercism – https://exercism.org/ Kaido – https://kaido.org/ Twitter – @iHiD LinkedIn – https://www.linkedin.com/in/ihidjeremywalker/ GitHub – https://github.com/ihid Our Sponsor Today's episode is proudly sponsored by Skills Matter, the global community and events platform for software professionals. Skills Matter is an easier way for technologists to grow their careers by connecting you and your peers with the best-in-class tech industry experts and communities. You get on-demand access to their latest content, thought leadership insights as well as the exciting schedule of tech events running across all time zones. Head on over to skillsmatter.com to become part of the tech community that matters most to you - it's free to join and easy to keep up with the latest tech trends. Like this episode? Subscribe on your favorite podcast app and submit your feedback. Follow @techleadjournal on LinkedIn, Twitter, and Instagram. Pledge your support by becoming a patron. For more info about the episode (including quotes and transcript), visit techleadjournal.dev/episodes/87.

Thinking Elixir Podcast
97: Avro and Elixir with Dave Lucia

Thinking Elixir Podcast

Play Episode Listen Later May 3, 2022 48:36 Very Popular


Dave Lucia released version 2.0 of AvroEx, an Elixir library for working with Avro protocols and schemas. To understand Avro, we need an overview of the whole Kafka-centric flow! He gives us a taste of the Enterprise soup of JVM tools used for populating data lakes, all for the business benefit of data analysis and machine learning. We may work on Elixir systems that are tasked with hooking into this other Enterprise-y world and getting an overview of the pieces and awareness of the tools available can really help out! Dave also shares his goal of creating a new Markdown parser for Elixir and updates us on the next chapter of his professional journey. Show Notes online - http://podcast.thinkingelixir.com/97 (http://podcast.thinkingelixir.com/97) Elixir Community News - https://twitter.com/wojtekmach/status/1516533938977705990 (https://twitter.com/wojtekmach/status/1516533938977705990) – Wojtek Mach shared some additional reasons for using NIFs to work with Rust or Zig that aren't performance related. - https://twitter.com/atyborska93/status/1516773412848422919 (https://twitter.com/atyborska93/status/1516773412848422919) – Angelika Tyborska shared that the Elixir track on Exercism.io got two new fun practice exercises - http://exercism.org/tracks/elixir/exercises/killer-sudoku-helper (http://exercism.org/tracks/elixir/exercises/killer-sudoku-helper) – Exercism.io Elixir puzzle - Killer Sudoku Helper - https://exercism.org/tracks/elixir/exercises/state-of-tic-tac-toe (https://exercism.org/tracks/elixir/exercises/state-of-tic-tac-toe) – Exercism.io Elixir puzzle - State of Tic Tac Toe - https://gleam.run/news/v0.21-introducing-the-gleam-language-server/ (https://gleam.run/news/v0.21-introducing-the-gleam-language-server/) – Gleam now has a language server - https://twitter.com/cigrainger/status/1518896955921154048 (https://twitter.com/cigrainger/status/1518896955921154048) – Nx Explorer project reaches a new milestone and was released to Hex. - https://hexdocs.pm/explorer/exploring_explorer.html (https://hexdocs.pm/explorer/exploring_explorer.html) – Includes a “Ten Minutes to Explorer” Livebook guide - https://twitter.com/MozillaHubs/status/1516469058849312768 (https://twitter.com/MozillaHubs/status/1516469058849312768) – Mozilla hiring for a Senior Elixir Engineer to help work on their Hubs Team to help build open social spaces for the web. - https://hubs.mozilla.com/ (https://hubs.mozilla.com/) - https://github.com/mozilla/hubs (https://github.com/mozilla/hubs) - https://github.com/mozilla/reticulum (https://github.com/mozilla/reticulum) - https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla (https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla) – Elixir blog post from a year ago about the Mozilla Hubs Elixir project. - https://github.com/elixir-makeup/makeup_diff (https://github.com/elixir-makeup/makeup_diff) – Parker Selbert created makeup_diff for displaying diff markup in ExDocs - https://www.erlang.org/blog/type-based-optimizations-in-the-jit/ (https://www.erlang.org/blog/type-based-optimizations-in-the-jit/) – Blog post on the Erlang blog looked interesting. About OTP 25 type optimizations for the JIT compiler. - https://codesync.global/conferences/code-beam-sto-2022/#schedule (https://codesync.global/conferences/code-beam-sto-2022/#schedule) – CodeBeam in Stockholm Sweden speaker lineup and schedule are out. - https://www.empex.co/mtn (https://www.empex.co/mtn) – Empex MTN in Salt Lake City on May 6 - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU in London on June 9-10 - https://elixirconf.com/events (https://elixirconf.com/events) – ElixirConf US in Colorado on August 30-Sep2 Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://davelucia.com/blog/avro-2.0 (https://davelucia.com/blog/avro-2.0) - https://github.com/beam-community/avro_ex (https://github.com/beam-community/avro_ex) - https://avro.apache.org/ (https://avro.apache.org/) - https://kafka.apache.org/ (https://kafka.apache.org/) - https://podcast.thinkingelixir.com/75 (https://podcast.thinkingelixir.com/75) – Previous discussion - https://www.bloomberg.com/professional/solution/bloomberg-terminal/ (https://www.bloomberg.com/professional/solution/bloomberg-terminal/) - https://theoutline.com/ (https://theoutline.com/) - https://elm-lang.org/ (https://elm-lang.org/) - https://developers.google.com/protocol-buffers/ (https://developers.google.com/protocol-buffers/) - https://thrift.apache.org/ (https://thrift.apache.org/) - https://github.com/klarna/erlavro (https://github.com/klarna/erlavro) - https://databricks.com/ (https://databricks.com/) - https://spark.apache.org/ (https://spark.apache.org/) - https://en.wikipedia.org/wiki/Extract,transform,load (https://en.wikipedia.org/wiki/Extract,_transform,_load) - https://databricks.com/glossary/what-is-parquet (https://databricks.com/glossary/what-is-parquet) - https://www.snowflake.com/workloads/data-lake/ (https://www.snowflake.com/workloads/data-lake/) - https://github.com/beam-community (https://github.com/beam-community) - https://github.com/doomspork (https://github.com/doomspork) - https://github.com/surface-ui/surface (https://github.com/surface-ui/surface) - https://github.com/pragdave/earmark (https://github.com/pragdave/earmark) - https://github.com/pragdave (https://github.com/pragdave) - https://github.com/davydog187/marx (https://github.com/davydog187/marx) - https://www.youtube.com/watch?v=dmBdFh5N1g4 (https://www.youtube.com/watch?v=dmBdFh5N1g4) – Migrating from Kafka to RabbitMQ at SimpleBet - Why and How - https://twitter.com/davydog187/status/1512393866653011968 (https://twitter.com/davydog187/status/1512393866653011968) – Announced leaving SimpleBet and co-founding something new. - https://twitter.com/davydog187/status/1512393877575110668 (https://twitter.com/davydog187/status/1512393877575110668) – Co-Founding Bitfo as the CTO. - https://www.bitfo.com/ (https://www.bitfo.com/) - https://ethereumprice.org/ (https://ethereumprice.org/) - https://www.bitcoinprice.com/ (https://www.bitcoinprice.com/) - https://defirate.com/ (https://defirate.com/) Guest Information - https://twitter.com/davydog187 (https://twitter.com/davydog187) – on Twitter - https://github.com/davydog187/ (https://github.com/davydog187/) – on Github - https://davelucia.com (https://davelucia.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)

Thinking Elixir Podcast
95: Rustler Precompiled with Philip Sampaio

Thinking Elixir Podcast

Play Episode Listen Later Apr 19, 2022 38:54


The recent announcement of Rustler Precompiled prompted a lot of interest and questions. We talk with Philip Sampaio to understand what he created and what problem it helps solve. The project helps lower the bar for using Rust libraries for NIFs in Elixir making it possible to see more libraries using Rustler in the future. He explains what prompted the work initially and how projects can benefit from it. We discuss what it means for internal company projects and especially for libraries. He explains how the project addresses the many architecture and platform combinations too. We end with learning about his sample CI project that shows us how to set up our own CI systems to use it. Show Notes online - http://podcast.thinkingelixir.com/95 (http://podcast.thinkingelixir.com/95) Elixir Community News - https://github.com/phoenixframework/phoenix/pull/4742 (https://github.com/phoenixframework/phoenix/pull/4742) – Phoenix presence client - https://twitter.com/elixirphoenix/status/1511393478873427982 (https://twitter.com/elixirphoenix/status/1511393478873427982) – Twitter thread discussing the Phoenix presence client - https://hexdocs.pm/phoenixliveview/changelog.html#0-17-8-2022-04-06 (https://hexdocs.pm/phoenix_live_view/changelog.html#0-17-8-2022-04-06) – LiveView 0.17.8 released. Includes the HEEx template formatter - https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.HTMLFormatter.html (https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.HTMLFormatter.html) – Docs on how to set it up - Issues discussing VS Code problems - https://github.com/elixir-lsp/vscode-elixir-ls/issues/242 (https://github.com/elixir-lsp/vscode-elixir-ls/issues/242) - https://github.com/elixir-lsp/vscode-elixir-ls/issues/241 (https://github.com/elixir-lsp/vscode-elixir-ls/issues/241) - https://github.com/DockYard/flame_on (https://github.com/DockYard/flame_on) – flameon library updated - https://dockyard.com/blog/2022/02/22/profiling-elixir-applications-with-flame-graphs-and-flame-on (https://dockyard.com/blog/2022/02/22/profiling-elixir-applications-with-flame-graphs-and-flame-on) – Original flameon announcement post for more info - https://twitter.com/sorentwo/status/1513630468490645509 (https://twitter.com/sorentwo/status/1513630468490645509) – Oban adds “inline mode” to make testing more straightforward - https://www.mitchellhanberg.com/how-eex-turns-your-template-into-html/ (https://www.mitchellhanberg.com/how-eex-turns-your-template-into-html/) – Mitchell Hanberg wrote an article about how EEx works - https://podcast.thinkingelixir.com/92 (https://podcast.thinkingelixir.com/92) – Previous interview with Mitchell Hanberg - https://exercism.org/tracks/elixir/exercises/take-a-number-deluxe (https://exercism.org/tracks/elixir/exercises/take-a-number-deluxe) – Exercism.io GenServer learning exercise was added. - https://twitter.com/atyborska93/status/1513807461043552256 (https://twitter.com/atyborska93/status/1513807461043552256) – Angelika shares about the Exercism.io update - https://twitter.com/whatyouhide/status/1512100896653590535 (https://twitter.com/whatyouhide/status/1512100896653590535) – Andrea Leopardi is working at Apple now on their Environment team. - https://www.apple.com/environment/ (https://www.apple.com/environment/) – More about the Apple Environment team - https://www.youtube.com/watch?v=R7t7zca8SyM (https://www.youtube.com/watch?v=R7t7zca8SyM) – “Elixir in 100 seconds” video Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://dashbit.co/blog/rustler-precompiled (https://dashbit.co/blog/rustler-precompiled) - https://twitter.com/philipsampaio/status/1503809314489831441 (https://twitter.com/philipsampaio/status/1503809314489831441) - https://github.com/philss/rustler_precompiled (https://github.com/philss/rustler_precompiled) - https://github.com/philss/rustlerprecompilationexample (https://github.com/philss/rustler_precompilation_example) - https://github.com/philss/floki (https://github.com/philss/floki) - https://github.com/rusterlium/rustler (https://github.com/rusterlium/rustler) - https://github.com/servo/html5ever (https://github.com/servo/html5ever) - https://github.com/elixir-nx/nx (https://github.com/elixir-nx/nx) - https://hex.pm/packages?search=depends%3Ahexpm%3Arustler&sort=total_downloads (https://hex.pm/packages?search=depends%3Ahexpm%3Arustler&sort=total_downloads) – Current Hex packages using rustler - https://github.com/elixir-nx/nx/tree/main/nx#readme (https://github.com/elixir-nx/nx/tree/main/nx#readme) - https://elixir-nx.github.io/explorer/Explorer.DataFrame.html (https://elixir-nx.github.io/explorer/Explorer.DataFrame.html) - https://www.pola.rs/ (https://www.pola.rs/) - https://github.com/discord/sortedsetnif (https://github.com/discord/sorted_set_nif) - https://ziglang.org/ (https://ziglang.org/) - https://github.com/ityonemo/zigler (https://github.com/ityonemo/zigler) - https://github.com/philss/rustlerprecompiled/blob/main/PRECOMPILATIONGUIDE.md (https://github.com/philss/rustler_precompiled/blob/main/PRECOMPILATION_GUIDE.md) - https://github.com/philss/rustlerprecompilationexample (https://github.com/philss/rustler_precompilation_example) Guest Information - https://twitter.com/philipsampaio (https://twitter.com/philipsampaio) – on Twitter - https://github.com/philss/ (https://github.com/philss/) – on Github - https://dashbit.co/blog (https://dashbit.co/blog) – Dashbit blog where he writes - https://phils.dev (https://phils.dev) – Personal blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)

Elixir Mix
Learning Erlang with Adolfo Neto - EMx 165

Elixir Mix

Play Episode Listen Later Mar 2, 2022 55:30


In this episode the panel talks with Adolfo Neto who went out to learn Erlang during last year's “Advent of Code”. He talks about his experience with the format, compares it against using a platform such as exercism.org - where mentors can give feedback - and how this shaped his perception of the onboarding experience of Erlang. The panel also discusses Adolfo's involvement in the Erlang Ecosystem Foundation's education working group and what they think Erlang - and Elixir - could do better to attract newcomers and make onboarding easier. Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Advent of Code (https://adventofcode.com/) Erlang Ecosystem Foundation (https://erlef.org/) José Valim on Twitch (Advent of Code Streams) (https://www.twitch.tv/josevalim) Exercism (https://exercism.org/) GitHub - livebook-dev/livebook: Interactive and collaborative code notebooks for Elixir - made with Phoenix LiveView (https://github.com/livebook-dev/livebook) Programming Erlang (Book) (https://pragprog.com/titles/jaerlang2/programming-erlang-2nd-edition/) Learn You Some Erlang (Book) (https://learnyousomeerlang.com/) GitHub - gfngfn/Sesterl: An ML-like statically-typed Erlang (https://github.com/gfngfn/Sesterl) Nova Framework (Erlang) (http://www.novaframework.org/) Zotonic Framework (Erlang) (http://zotonic.com/) Telegram: Elixir World (Group) (https://t.me/elixir_world) Slack: Erlang Ecosystem Foundation (https://erlef.org/slack-invite/erlanger) Hello Erlang (Podcast) (https://helloerlang.github.io/) Elixir Em Foco (Portuguese Podcast) (https://www.elixiremfoco.com/) Elixir, Erlang and the BEAM with Adolfo Neto (YouTube) (https://www.youtube.com/c/ElixirErlangandtheBEAMwithAdolfoNeto) Picks Adolfo- Erlang Battleground (Blog) (https://medium.com/erlang-battleground) Allen- Zotonic Framework (Erlang) (http://zotonic.com/) Sascha- Devtalk (Forum) (https://devtalk.com/) Sascha- Exercism (https://exercism.org/) Special Guest: Adolfo Neto.

learning code advent interactive github beam neto elixir adolfo erlang exercism allen wyma coaching top end devs erlang ecosystem foundation
Sustain
Episode 106: Rodrigo Mendoza on Quine and GitNFT

Sustain

Play Episode Listen Later Jan 28, 2022 36:25


Guest Rodrigo Mendoza Panelists Richard Littauer | Justin Dorfman | Ben Nichols | Eric Berry Show Notes Hello and welcome to Sustain! The podcast where we talk about sustaining open source for the long haul. Today, we have a really awesome guest to talk about some really cool stuff. Rodrigo Mendoza is the Founder and CEO of Quine, a data-driven professional network for software creators, as well as GitNFT, an NFT minting platform for GitHub commits. Rodrigo dives deep in Quine and tells us why he's focusing on open source and software developers, and what is so different about his platform. We also learn more about GitNFT, which is a part of Quine but a different product, and he talks about some of the issues he's had with GitNFT and why some people get so riled up towards NFTs and Web3. Go ahead and download this episode now to find out much more! [00:02:09] We start off with Rodrigo telling us what Quine is. [00:04:12] Richard wonders why Rodrigo is focusing on open source and software developers in particular. [00:05:26] Richard asks Rodrigo how Quine is not a subset of LinkedIn, and he tells us what's different about his platform. [00:09:17] Ben wonders if Rodrigo has any pathways he could create to bring more people into open source to distribute more opportunities to people. [00:12:33] Another thing Rodrigo works on is GitNFT, so we find out more about that and how it works. [00:16:22] Justin asks Rodrigo his thoughts on why some people in this industry or our community are so hostile towards NFTs and Web3 as a whole. [00:21:28] Richard wonders how Rodrigo deals with the internal conflict. [00:23:36] Ben shares his thoughts on NFTs, and Rodrigo talks about some of the issues he's had with GitNFT. [00:29:17] Eric shares some closing thoughts on GitNFT, NFTs overall, and what he loves about this project. [00:32:35] Find out where you can follow Rodrigo and learn more about Quine. Quotes [00:02:28] “We think that coding is a super-power and if you can code, then you should be able to monetize your skill in a way that is very easy and very fluid.” [00:06:48] “We think of open source as the professional network of the future.” [00:07:21] “We think that open source contributions are going to be micro-certificates of skill.” [00:08:35] “Open source contributions are proof-of-work for skills.” [00:10:07] “I like to think that open source is still in its early stages.” [00:11:09] “Open Source has the same problems that a creator economy has: It has issues all around attention, monetization, content creation, content consumption, etc.” [00:15:40] “We think that having an NFT of a commit can have value based on historical significance.” [00:19:44] “We want to flip the script on how we monetize open source contributions.” Spotlight [00:33:33] Ben's spotlight is Exercism.org. [00:34:07] Eric's spotlight is the Firefox Browser Developer Edition. [00:34:27] Justin's spotlight is a GitNFT discussion on the Sustain discourse. [00:34:45] Richard's spotlight is ADHD medication. [00:35:16] Rodrigo's spotlight is Bioconductor. Links SustainOSS (https://sustainoss.org/) SustainOSS Twitter (https://twitter.com/SustainOSS?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) SustainOSS Discourse (https://discourse.sustainoss.org/) Rodrigo Mendoza Twitter (https://twitter.com/r0dms) Rodrigo Mendoza LinkedIn (https://www.linkedin.com/in/r0dms/) Quine (https://quine.sh/) Quine Twitter (https://twitter.com/quine_sh) GitNFT (https://gitnft.quine.sh/) GitNFT Twitter (https://mobile.twitter.com/gitnft) “Devs have eaten the world,” by Rodrigo Mendoza (https://medium.com/quine/devs-have-eaten-the-world-523c8a1d1da2) Exercism (https://exercism.org/) Firefox Browser Developer Edition (https://www.mozilla.org/en-US/firefox/developer/) Sustain Discourse-GitNFT discussion (https://discourse.sustainoss.org/t/gitnft-autograph-and-sell-your-github-commits/885) Bioconductor (https://www.bioconductor.org/) Credits Produced by Richard Littauer (https://www.burntfen.com/) Edited by Paul M. Bahr at Peachtree Sound (https://www.peachtreesound.com/) Show notes by DeAnn Bahr Peachtree Sound (https://www.peachtreesound.com/) Special Guest: Rodrigo Mendoza-Smith.

Elixir em Foco
9. Elixir em Produção com Danilo Gonçalves e Jomaro Rodrigues (EBANX)

Elixir em Foco

Play Episode Listen Later Dec 1, 2021 28:42


No novo episódio da série Elixir em Produção, conversamos com Danilo Gonçalves, Software Engineering Manager no EBANX, e com Jomaro Rodrigues, Engenheiro de Software também no EBANX. Links dos participantes: - Linkedin do Danilo: https://www.linkedin.com/in/danilorg/; - GitHub do Danilo https://github.com/danxexe; - Linkedin do Jomaro: https://www.linkedin.com/in/jomaro-rodrigues-7443b655/; - GitHub do Jomaro https://github.com/jomaro. Links recomendados: - Elixir Brasil no Telegram https://t.me/elixirbr; - Livro "Learn you Some Erlang for Great Good!", de Fred Hebert https://learnyousomeerlang.com/; - Exercism https://exercism.io/; - Ler o código fonte do Elixir https://github.com/elixir-lang/elixir. Nosso site é https://elixiremfoco.com. Estamos no Twitter em @elixiremfoco https://twitter.com/elixiremfoco. Nosso email é elixiremfoco@gmail.com. Edição do Episódio por: Douglas (Zero35) com apoio da Stone. --- Send in a voice message: https://anchor.fm/elixiremfoco/message

Legacy Code Rocks
Collaborating with Empathy with Liz Acosta

Legacy Code Rocks

Play Episode Listen Later Nov 29, 2021 47:30


The power of software is enormous, but the code can only be as good as the humans who write it. Despite popular belief, "being good" has nothing to do with character predisposition. It is a product of an intentional effort to nurture care and compassion.  Today we talk with Liz Acosta, a software engineer and a developer advocate at Stacklet. Liz's past professions as a copywriter, social media manager, and odd job freelancer give her a unique perspective on software development and enables her to help teams collaborate with empathy.  When you finish listening to the episode, connect with Liz on LinkedIn or find her on Stacklet.  Mentioned in this episode: Liz on  LinedIn at https://www.linkedin.com/in/lizacostalinkedin/  Liz on Stacklet at https://stacklet.io/blog/author/liz-acosta  Exercism at https://exercism.org  Empathy in Tech at https://empathyintech.com 

Smart Software with SmartLogic
The Benefits of Consistently Growing Your Toolset with Florian Kraft

Smart Software with SmartLogic

Play Episode Listen Later Nov 18, 2021 48:52


As we continue this season of the podcast, focusing on the impact of Elixir, we are joined by Florian Kraft, all the way from Berlin, Germany! Florian works as a software engineer at Contentful, and has a number of exciting open-source projects that he is currently involved with. In our fun conversation with Florian, we get to hear about the events that led up to him becoming interested in computers and working with software, and why he maintains a light-hearted attitude when talking about his expertise. We also get to hear from our guest about his thoughts on a few other languages, and why learning new languages is a great way to constantly improve your work in the languages you already know! Florian talks about what drew him to Elixir and the community and also shares some of his reflections from this year's virtual Elixir Wizards conference. Towards the end of our chat, Florian tells us about his work with AdoptOSS and Mimicry, which you can currently find on GitHub, both of which we are quite excited about! So to hear it all from Florian and our usual suspects, be sure to listen in! Key Points From This Episode: Florian's interesting route into the world of software engineering. How Florian views his experiences and skills as a software engineer. Florian's thoughts on Haskell and some of the best resources for learning about it. The languages that Florian uses in his work at Contentful. Experiences entering into the Elixir community and the colleague who introduced him to the language! Life in Germany and Berlin; thoughts on the seasons, and the general culture. Florian's experiences at this year's Elixir Wizards conference; warming to virtual events. Staying active in the Elixir community and Florian's honest confessions about the time he puts in. Features that Florian misses and wishes for when working in Elixir. Immutability and pattern matching: Florian's favorite parts of Elixir! Some of the open-source Elixir projects that Florian is currently working on. The video games that Florian has most enjoyed recently and some of his all-time favorites! Where to find and connect with Florian and his exciting projects! Links Mentioned in Today's Episode: SmartLogic — https://smartlogic.io/ Florian Kraft — github.com/FlorianK Contentful — https://www.contentful.com/ Exercism — https://exercism.org/ Adoptoposs — https://adoptoposs.org Adoptoposs Github — https://github.com/adoptoposs/adoptoposs Mimicry — https://github.com/mimicry-tech/mimicry Learn You a Haskell for Great Good — https://www.amazon.com/Learn-You-Haskell-Great-Good/dp/1593272839 Haskell — https://www.haskell.org/ Prolog — https://www.cpp.edu/~jrfisher/www/prologtutorial/ptframer.html Learn You Some Erlang for Great Good — https://www.amazon.com/Learn-Some-Erlang-Great-Good/dp/1593274351 Elixir in Action, Second Edition — https://www.manning.com/books/elixir-in-action-second-edition Gleam — https://gleam.run/ Autobutler — https://autobutler.co.uk Squid Game — https://www.rottentomatoes.com/tv/squidgame Oktoberfest — https://www.imdb.com/title/tt10244612/ Toucan — https://www.toucan.events/ The Binding of Isaac — https://store.steampowered.com/app/113200/TheBindingofIsaac/ Zelda — https://www.zelda.com/ Doom — https://bethesda.net/en/game/doom Defragmenting C Drive — http://hultbergs.org/defrag/ Special Guest: Florian Kraft.

Elixir em Foco
Mesa Redonda com Pedro Castilho, Vitor Leal e Elaine Naomi Watanabe

Elixir em Foco

Play Episode Listen Later Oct 20, 2021 70:55


Conversamos com as pessoas entrevistadas nos nossos três primeiros episódios. Algumas das perguntas foram: Quando você tem uma dúvida, o que você faz? Quais as iniciativas da comunidade de que vocês mais gostam? Quais bibliotecas vocês gostariam que tivesse no Elixir e não tem? Quais as visões de futuro para o Elixir nos próximos anos? Qual o melhor lugar para aprender sobre Elixir? Além disso, cada um fez uma pergunta para os outros dois. As pessoas foram: Pedro Castilho, CTO da Comadre https://anchor.fm/elixiremfoco/episodes/Elixir-em-Produo-com-Pedro-Castilho--CTO-da-Comadre-eu9uj2 Vitor Leal, CTO da Solfácil https://anchor.fm/elixiremfoco/episodes/Elixir-em-Produo-com-Vitor-Leal--CTO-da-Solfcil-e101sbf Elaine Naomi Watanabe, Engenharia de Software na The RealReal https://anchor.fm/elixiremfoco/episodes/Elixir-em-Produo-com-Elaine-Naomi-Watanabe--Engenharia-de-Software-na-The-RealReal-e11pbsk Alguns links: Livebook https://livebook.dev/ Nx https://github.com/elixir-nx/nx Erlang Ecosystem Foundation https://twitter.com/TheErlef Elixir Brasil https://twitter.com/elixir_brasil Devise https://blog.plataformatec.com.br/tag/devise/ Links para a pergunta “Qual o melhor lugar para aprender sobre Elixir?” Castilho: Site da Linguagem https://elixir-lang.org/getting-started/introduction.html Elaine: Elixir School https://elixirschool.com/ e livro do Ulisses https://pragprog.com/titles/cdc-elixir/learn-functional-programming-with-elixir/ Vitor: Elixir School, documentação do Elixir, Exercism https://exercism.io/ Nosso site é https://elixiremfoco.com. Estamos no Twitter em @elixiremfoco https://twitter.com/elixiremfoco. Nosso email é elixiremfoco@gmail.com. Edição do Episódio por: Daniel Leite Pires (Stone). --- Send in a voice message: https://anchor.fm/elixiremfoco/message

Devchat.tv Master Feed
Onboarding and Transitioning into Elixir - EMx 146

Devchat.tv Master Feed

Play Episode Listen Later Sep 29, 2021 51:58


The Elixir Mix panel takes the helm to talk about helping onboard and transition new developers onto an Elixir team. They discuss helping developers who may not have an Elixir background. They also advise Chuck on how to make a career transition since he's considering a jump into an Elixir job from his current role as a Rails developer. Panel Allen Wyma Charles Max Wood Sascha Wolf Sponsors Dev Influencers Accelerator Level Up | Devchat.tv PodcastBootcamp.io Links Designing for Scalability with Erlang/OTP Designing for Scalability with Erlang/OTP - O'Reilly Picks Allen- Tokio Charles- PodcastBootcamp.io Charles- Top End Devs Charles- Masters of Doom Charles- The Road Back to You Sascha- Exercism Contact Allen: Plangora  Plangora Limited Plangora – YouTube Plangora | Facebook Tech_Plangora Limited_Elixir | Instagram Twitter: Plangora ( @Plangora ) LinkedIn: Plangora – Web and Mobile Development Plangora – Reddit Flying High With Flutter Flying High With Flutter Flying High with Flutter – YouTube Flying High with Flutter | Facebook Flying High With Flutter | Instagram Twitter: Flying High with Flutter ( @fhwflutter ) Teach Me Code Teach Me Code Teach Me Code | Facebook TeachMeCode | Instagram Contact Charles: Devchat.tv DevChat.tv | Facebook Twitter: DevChat.tv ( @devchattv ) Contact Sascha: Sascha Wolf

Elixir Mix
Onboarding and Transitioning into Elixir - EMx 146

Elixir Mix

Play Episode Listen Later Sep 29, 2021 51:58


The Elixir Mix panel takes the helm to talk about helping onboard and transition new developers onto an Elixir team. They discuss helping developers who may not have an Elixir background. They also advise Chuck on how to make a career transition since he's considering a jump into an Elixir job from his current role as a Rails developer. Panel Allen WymaCharles Max WoodSascha Wolf Sponsors Dev Influencers AcceleratorLevel Up | Devchat.tvPodcastBootcamp.io Links Designing for Scalability with Erlang/OTPDesigning for Scalability with Erlang/OTP - O'Reilly Picks Allen- TokioCharles- PodcastBootcamp.ioCharles- Top End DevsCharles- Masters of DoomCharles- The Road Back to YouSascha- Exercism Contact Allen: Plangora  Plangora LimitedPlangora – YouTubePlangora | FacebookTech_Plangora Limited_Elixir | InstagramTwitter: Plangora ( @Plangora )LinkedIn: Plangora – Web and Mobile DevelopmentPlangora – Reddit Flying High With Flutter Flying High With FlutterFlying High with Flutter – YouTubeFlying High with Flutter | FacebookFlying High With Flutter | InstagramTwitter: Flying High with Flutter ( @fhwflutter ) Teach Me Code Teach Me CodeTeach Me Code | FacebookTeachMeCode | Instagram Contact Charles: Devchat.tvDevChat.tv | FacebookTwitter: DevChat.tv ( @devchattv ) Contact Sascha: Sascha Wolf

Thinking Elixir Podcast
63: SMS Texting in Nerves with Peter Ullrich

Thinking Elixir Podcast

Play Episode Listen Later Sep 7, 2021 43:33


We talk with Peter Ullrich about his experience sending SMS messages from a Raspberry Pi Zero using Nerves. We cover what went well, what didn't and get a glimpse into the current state of Nerves for a newbie when dealing with hardware. Peter also tried Livebook for Nerves and had a great experience with that. We discuss the challenges of hardware systems dealing with the “real world” but see how Elixir makes the process easier to model and think about. Elixir Community News - https://github.com/elixir-lang/ex_doc/pull/1386#issuecomment-905623723 (https://github.com/elixir-lang/ex_doc/pull/1386#issuecomment-905623723) – LiveBook support in ExDocs - https://hexdocs.pm/phoenix/1.6.0-rc.0/fly.html#goals (https://hexdocs.pm/phoenix/1.6.0-rc.0/fly.html#goals) – Fly.io deployment guide in Phoenix documentation - https://github.com/wojtekmach/mixinstallexamples/blob/main/oban.exs (https://github.com/wojtekmach/mix_install_examples/blob/main/oban.exs) – Wojtek Mach's Mix.install script using the Oban library and database tables - https://github.com/smartlogic/augur (https://github.com/smartlogic/augur) – SmartLogic open sourced Augur library for helping Elixir systems that send SMS messages - https://elixir-broadway.org/ (https://elixir-broadway.org/) – Broadway library has it's own website - https://twitter.com/mcrumm/status/1431316375893467137 (https://twitter.com/mcrumm/status/1431316375893467137) – Michael Crumm shares how live_session/3 are 2x-4x faster for him - https://twitter.com/atyborska93/status/1431670143483060230 (https://twitter.com/atyborska93/status/1431670143483060230) – Angelika Tyborska shares that Exercism v3 is up with a new Elixir track - https://thinkingelixir.com/podcast-episodes/050-exercism-io-and-elixir-with-angelika-tyborska/ (https://thinkingelixir.com/podcast-episodes/050-exercism-io-and-elixir-with-angelika-tyborska/) – Previous interview with Angelika Tyborska about the Elixir track in Exercism v3 - https://exercism.org/tracks/elixir/ (https://exercism.org/tracks/elixir/) – Excercism.io's Elixir track - https://twitter.com/voltonez/status/1432208014103220224 (https://twitter.com/voltonez/status/1432208014103220224) – Erlang updates needed for expiring root CA certificate support - https://blog.voltone.net/post/30 (https://blog.voltone.net/post/30) – Bram Verburg's detailed write up on the needed updates - https://elixir-lang.org/getting-started/introduction.html (https://elixir-lang.org/getting-started/introduction.html) – Elixir getting started docs - https://hexdocs.pm/elixir/Kernel.html (https://hexdocs.pm/elixir/Kernel.html) – Elixir's docs in HexDocs - https://elixirschool.com/en/ (https://elixirschool.com/en/) – Elixir School, good free resource for learning Elixir - https://thinkingelixir.com/available-courses/pattern-matching/ (https://thinkingelixir.com/available-courses/pattern-matching/) – ThinkingElixir free Pattern Matching course for learning Elixir Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.peterullrich.com/sending-text-messages-with-nerves (https://www.peterullrich.com/sending-text-messages-with-nerves) - https://www.peterullrich.com/using-livebook-with-nerves (https://www.peterullrich.com/using-livebook-with-nerves) - https://podcasts.apple.com/us/podcast/explain-blockchain/id1326636335 (https://podcasts.apple.com/us/podcast/explain-blockchain/id1326636335) - https://www.youtube.com/watch?v=bsyjSW46TDg (https://www.youtube.com/watch?v=bsyjSW46TDg) - https://www.youtube.com/watch?v=mrpQHZcy3CI&ab_channel=CraftHubEvents (https://www.youtube.com/watch?v=mrpQHZcy3CI&ab_channel=CraftHubEvents) - https://nerves.group/ (https://nerves.group/) - https://github.com/fhunleth/nerves_livebook/releases (https://github.com/fhunleth/nerves_livebook/releases) - https://github.com/fhunleth/nerves_livebook (https://github.com/fhunleth/nerves_livebook) Guest Information - https://twitter.com/PJUllrich (https://twitter.com/PJUllrich) – on Twitter - https://github.com/PJUllrich/ (https://github.com/PJUllrich/) – on Github - http://peterullrich.com/ (http://peterullrich.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)

The Rabbit Hole: The Definitive Developer's Podcast
218. Deep Practice & Becoming a better developer

The Rabbit Hole: The Definitive Developer's Podcast

Play Episode Listen Later Aug 10, 2021 21:55


Welcome back to The Rabbit Hole podcast! This week we're diving into the subject of deep practice and how to become a better developer. Dave and Michael reflect on how learning to play a musical instrument taught them important lessons about intentional practice and how they've applied those lessons to coding. Hear how test-driven development and pair programming can be effective methods for intentional practice, and how you can pick up valuable lessons by actively observing peers and reading code. There are also opportunities for small, everyday exercises that can improve your coding on programs like LeetCode and Exercism. Tune in today as we discuss deep practice, The Matrix, mindful learning, and plenty more!

Greater Than Code
237: Empathy is Critical with Andrea Goulet

Greater Than Code

Play Episode Listen Later Jun 2, 2021 55:10


01:13 - Andrea's Superpower: Distilling Complexity * Approaching Copywriting in a Programmatic Way * Word-land vs Abstract-land 09:00 - “Technical” vs “Non-Technical” * This or That Thinking 16:20 - Empathy is Critical * Communication Artifacts * Audience/User Impact * Programmer Aptitude Test (PAT) 33:00 - Reforming Hiring Practices and Systems * Core Values * Exercism.io (https://exercism.io/) * Retrospectives 39:28 - Performance Reviews * Continuous Feedback * Brave New Work by Aaron Dignan (https://www.bravenewwork.com/) * Team of Teams: New Rules of Engagement for a Complex World (https://www.amazon.com/Team-Teams-Rules-Engagement-Complex/dp/1591847486) * Continuous Improvement & Marginal Gains “Start where you are. Use what you have. Do what you can.” ~ Arthur Ashe Empathy In Tech (https://www.empathyintech.com/) Corgibytes (https://corgibytes.com/) Reflections: Mando: Empathy is being able to view and identify other perspectives. Jess: Help happens when you have empathy for individuals who aren't the great majority of people using the software. Casey: The best way to develop empathy for someone else is to get their feedback. Do it during an interview! Andrea: Diving deeper than code is valuable! This episode was brought to you by @therubyrep (https://twitter.com/therubyrep) of DevReps, LLC (http://www.devreps.com/). To pledge your support and to join our awesome Slack community, visit patreon.com/greaterthancode (https://www.patreon.com/greaterthancode) To make a one-time donation so that we can continue to bring you more content and transcripts like this, please do so at paypal.me/devreps (https://www.paypal.me/devreps). You will also get an invitation to our Slack community this way as well. Transcript: JESSICA: Good morning and welcome to Greater Than Code, Episode 237. I'm Jessica Kerr and I'm happy to be here today with my friend, Mando Escamilla! MANDO: Hey, Jess. Thanks. I am happy to be here with my friend, Casey Watts. CASEY: Hi, I'm Casey and we're all here with Andrea Goulet. Andrea is a sought-after keynote speaker for conferences around the world, empowering audiences to deepen their technical skills for understanding and communicating with others. She is best known for her work defining Empathy-Driven Development, a framework that helps software engineers anchor their decisions and deliverables on the perspectives of the people who will be impacted by what they create. Andrea is a co-founder of Corgibytes, a software consultancy that helps organizations pay down technical debt and modernize legacy systems. You can recognize her by the JavaScript tattoo on her wrist. Welcome, Andrea. ANDREA: Hi, welcome! Nice to be here. CASEY: We always like to start with a question, which I think you're prepared for, that is what is your superpower, Andrea, and how did you acquire it? ANDREA: Yeah! First of all, I just love that y'all ask this. I think it's just such a nice way to get to know different people. I was thinking about this because you sent it a little bit ago and I was thinking maybe empathy, given the work I do. But I don't actually think that's it. I feel like I'm constantly trying to learn more about empathy, but I do think that what my superpower is, is distilling complexity. So I went back and looked at what the thread is of all the recommendations I've got on LinkedIn and things like that. It's not something that I would necessarily say that I noticed, but it's something that other people have noticed about me. The idea of taking a really abstract and big, gnarly, complex topic, and being able to distill it down to its essence and then communicate either what the importance is, or what the impact is to other people. I think that's why I've gravitated towards big, gnarly things like legacy code. [chuckles] Because what motivates me is impact and how do we have the work that we do make as big of an impact as possible? So the way I got into software was really a twisty and windy road. I started out as a copywriter and I think that's where the distilling complexity comes down because I would sit with clients and learn all about their businesses. And then I would write typically, a website, or some kind of marketing material and they would say, “You said what was in my head and I couldn't say it.” JESSICA: Wow. ANDREA: And when I got into software, I had a friend of mine from high school, Scott, who's my co-founder at Corgibytes, he came up to me because I had been writing about my writing and he said, “You're not a writer, you're actually a programmer because the way that your brain works, you're thinking in terms of inputs and manipulating data and outputs, and that's exactly what a programmer does.” So then, he wanted to fix legacy code for a living. I didn't even know what that was at that point, thought it was a good thing and I found that my ability to both walk in and understand not just the syntax of what's going on, but the business challenges and how everything links together. With that, you can create a sense of cohesion on a team and getting different people to work together and different people to see each other's points of view, because when you're able to distill a perspective over here and say, “Okay, well, this is what this person's trying to say,” and still, this over here. “Okay, I think this is what this person's trying to say.” I feel like a lot of times I am kind of like a translator, but it's taken me a long time. I've been in software 12 years now and I still have massive imposter syndrome like, I don't belong because I'm not the fastest person on the keyboard. I really struggle with working memory. My visualization is really a struggle, but I do really great in an ensemble. When I started ensemble programming—sometimes it's referred to as mob programming—I was like, “I can do this. Oh my gosh, this makes sense and I belong.” I think just over the years, little things like hearing the joke – I was at a conference, Jess, I think this may have been ETE when you and I connected, but I heard a joke and it was, I think Phil Carlton had first said it and it was like, “There's only two hard problems in computer science, cache invalidation and naming things,” and then somebody else said, “Off-by-1 errors.” I remember I was like, “Y'all think naming things is hard?” Like, help me understand how that's hard because that's – JESSICA: [inaudible]? Oh my gosh, that's hard. ANDREA: Yeah, and to me, it just comes so naturally. I think that's kind of the thing is figuring out where is your trait, where's your skillset. I remember when I first started doing open source contributions, I haven't done those in a long time, but just going in and modifying the language on help messages and turning them from passive to active voice. They got accepted, it was on some high-profile projects, and it was like, I didn't really feel like I was even doing much and I still feel like, “Is that even a big deal?” But I think that's kind of the definition of a superpower a little bit is that – JESSICA: Yeah, it's easy for you. [laughs] ANDREA: You don't recognize that it's hard for other people. Yeah, and so it's neat now that it's like I'm starting to come into my own and leaning into that, and then helping other people see that the way that I approach naming things, the way I approach copywriting is actually in a very programmatic way. It's leaning on frameworks. It's leaning on patterns that I use over time. I know, Casey, you and I have talked last week about like when I first go to a conference like using open-ended questions versus closed-ended questions and these little kind of communication hacks that I've developed over the years. So now putting those together in a framework to help other people remember that when we're coding, we're not coding for a computer, we're coding through a computer for other people. The computer is just like a code is just a tool. It's a powerful tool. But a lot of times – CASEY: I have a question for you, Andrea. ANDREA: Yeah. CASEY: About that, I find myself switching gears between word land and abstract land. So if I'm coding and I'm not thinking of words, the naming is hard, but sometimes I can switch gears in a different head space. It's like a different me and then I'm naming things really well. Especially if I'm looking at someone else's code, I don't have to be an abstract land; they did that part already. Do you find yourself switching between the two? ANDREA: Oh, all the time. Yeah, and especially, too, when you're writing prose. There's two different kind of aspects of your brain. There's the creative conceptual side and then there's the analytical rational side and everybody has both. So it does require you to come out of the abstract side in that and then move into more of the analytical space, which is why I love pairing. I love coding as a group because then that way, it's like the mental model is shared and so, I can stay in my world of naming things really well, or I don't know that we need to be that precise if we try to – like, when I was in one group and they were trying to have a timing thing and it was like down to the millisecond and I was like, “Y'all, we don't need to be that precise. We just need to have this check once every 10 minutes,” and that saved like 6 hours of work. Just being able to say that thing and be the checkpoint. JESSICA: Yeah. Someone has to be super down in the details of what to type next and it helps to have someone else thinking about it at the broader perspective of why are we doing this? ANDREA: Yeah, and that's me, typically and I love that role, but it's very different than I think what goes through people's minds when they envision a software developer. JESSICA: Yeah, maybe they envisioned the things that software developers do that other people don't. Typing curly braces. ANDREA: Yeah. MANDO: I still think of that when I'm doing it. When I think of myself as a software developer, I think of myself as the person who hasn't gotten up from their desk in 5 hours and just hunched over, just blazing fast hacking on something that probably is kind of dumb. [laughter] But when I don't spend my day like that, I don't really feel exactly like I've been doing my job and it's something that I struggle with because I know that's not the job in its totality by any means and it doesn't mean that I'm not getting good work done. JESSICA: Not even close to most of the job. MANDO: Not even close to most of the job, you're exactly right. JESSICA: Like you said, if you're sitting there for 5 hours by yourself, hunched over your computer, you're probably hacking on something dumb. MANDO: Right. [laughter] JESSICA: We had gotten off on a tangent somewhere without someone to be like, “Why are we doing this again?” MANDO: Exactly, exactly. Yeah. ANDREA: Well, and I think that that has been a personal challenge of mine as well. I know there was a really flashbulb moment for me. Scott and I have been running our business together for a couple of years. We had gotten on our first podcast and he was telling our origin story and he used the phrase, “Andrea, she's the non-technical founder.” When I heard it, I was like, “How dare you? I have for 2 years been sitting right next to you,” and then he said, “Well, that's the term you use to describe yourself all the time. We had been in a sales meeting right before I recorded that podcast and that's literally the words you use to introduce yourself. So once you start calling yourself technical, I'll follow suit.” JESSICA: Wow. ANDREA: It really made me think and I think some of it is because whenever I go to conferences, I don't look like other people who code especially 12 years ago. I don't talk like the people who are typically stereotypical developers and the first question I would get asked, probably 25 to 40% of the time from people I met were, “Hi! Are you technical, or non-technical?” JESSICA: Really? ANDREA: Yeah. MANDO: Ugh. JESSICA: Huh. ANDREA: And that would be the first thing out of the gate. At the time, I didn't have the kind of mental awareness to go, “I'm at a technical conference. I think you can assume I'm technical.” The fact is I was scared to call myself technical and over the years, I'm just like, “What does that mean to be technical and why do we define people by you are either technical, or you have nothing?” Non-technical, you have zero technical skills, you don't belong. JESSICA: So after you had that conversation with Scott, did you switch to calling yourself technical? Did you change your language? ANDREA: It has been a journey. I became very conscious of not using non-technical. I'll sometimes then say like, “I struggle with syntax and I'm really, really good at these things.” When I phrase things that way, or “I have engineers who are so much better and have much deeper expertise in Docker and Kubernetes than I do. I'm really good at explaining the big picture and why this happens.” So it becomes, I think what we do in software is that because we're so used to thinking in binaries, because that's the way we need to make our code work—true/false, if/else, yes/no—and that pattern naturally extends itself into human relationships, too. Because I know that every single person who asked me that question in no way was trying to be rude, or shut me out. I know that the intention behind it was kind and trying to be inclusive. But from my perspective, when half the people walk up to you and go, “Do you belong here?” Then it's like, “I don't know. Do I belong here?” JESSICA: Yeah. ANDREA: So that's an example of how, if you're at a conference saying, “What brings you here?” That's very open-ended and then it gives everybody the chance to say what brings them here and there's no predefined, “Do you fit in this bucket, or that bucket? Are you part of us, or are you part of them?” JESSICA: It's open to surprise. ANDREA: Mm hm and I think that's something that I am really good at. That's my superpower is let's see the complexity and then let's see the patterns and let's figure out how we can all get good work done together. But you can't see the complexity unless you take a step back. JESSICA: Yeah, and yet Scott noticed that when you are thinking that way, you are thinking like a programmer. Because while software starts by getting us used to thinking in binaries—I should say programming. ANDREA: Yeah. JESSICA: It's just thinking of binaries, as soon as you get up to software and software systems, you have to think in complexity. ANDREA: Yeah. MANDO: And like you were saying, Andrea, I find myself nowadays better recognizing when I'm falling into that trap when I'm not talking about work stuff. When I find myself saying, “Well, it's this, or it's this.” It's like, “Is it really this, or this?” JESSICA: Are these the only options? ANDREA: Yeah. MANDO: Yeah. Do I have to eat Thai food, or pizza tonight, or could I just eat ice cream, or a salad, or…? [laughs] ANDREA: Yeah. MANDO: You know what I mean? It's a silly example, but I don't know, there's something about doing this for a while that I find that kind of this, or that thinking wiring itself into my brain. JESSICA: Yeah. ANDREA: Yeah. Well, and I think that that's normal and that's human. We operate on heuristics. There's the whole neurons that fire together wire together and if you're spending the majority of your time in this thought pattern, adopting something else can be a challenge. So to me, it's like trying to describe how the way I navigate the world in being able to name things well and being able to talk to new people, connect dots, see patterns that I rely on frameworks just as much as I do when I code and trying to figure out what are those things. What are those things? JESSICA: Yeah, because you don't have to import that top level file from the framework in order to use it. So it's not explicit that you're using it. ANDREA: Exactly. Yeah, exactly. So that's been my challenge is that as Scott is like, “Well, help me understand.” I'm like, “I, uh. I don't know. I do this.” That was where I nailed on empathy as really critical and it's been fascinating because when I first started about 5 years writing and talking about empathy in software, the first thing I noticed were all the patterns. I was like, “A really well-written commit message, that's empathy.” That is taking the time to document your rationale so that it's easier for somebody behind you. Refactoring a method so that it's easy to read, deleting the dead code so that it's less burdensome, even logging. Looking at logging in C versus Ruby, it's night and day. JESSICA: Help messages. ANDREA: Yeah. There's a little moment. MANDO: Non-happy path decisions in code. Guardrails. All that stuff. ANDREA: Yeah. So I started thinking in terms of communication artifacts. All of these little things that we're producing are just artifacts of our thinking and you can't produce a communication artifact unless you are considering a perspective. What I noticed, of the perspective, is that a lot of software developers had been trained to take was that of the compiler. I want to make the compiler happy. I want to make the code work. That's a very specific practice of perspective taking that is useful if you're imagining okay, we don't have to get rid of that and we need to add the recognition that the perspectives taking needs to go the compiler into who will be interacting with what you're creating and that is on both the other side of the UI, if there is one, or working on the code that you've written maybe six months from now and that can be your future self. And then also, who will be impacted by the work that you create, because not everybody who is impacted by the decisions that you make will be directly interacting with and when I'm writing content, or that is the framework is getting to know the audiences really well, doing good qualitative research. So that's kind of the difference between the open-ended versus closed-ended questions. Then being able to perspective change and then along the way, there are little communication hacks, but just thinking about every single thing that you produce—and no, I have not come across a communication artifact, or a thing that is produced while coding that is not somehow rooted in empathy. JESSICA: Because it's communication and you can't communicate – [overtalk] ANDREA: It's all communication. JESSICA: At all without knowing what is going to be received and how that will be interpreted. ANDREA: Yeah. Similar to test-driven development, where we're framing things in terms of unit tests and just thinking about the test before we write the code. In the same way, we're thinking about the perspective of other people—we can still think of the compiler—and anchoring our decisions on how it will impact other people. JESSICA: It's making the compiler happy. That's just table stakes. That's absolute minimum. ANDREA: Yeah. Well, it's been fascinating because this part of this project. So I'm writing a book now, which is super exciting and by far, the hardest thing I've ever done. But one of the things that, because I'm curious, I'm like, “Why? How did we get here? How did we get here where, by all objective measures, I should have been able to go into computer science without a problem and feel like –?” JESSICA: Think of yourself as technical without a problem. ANDREA: Yeah. Why do I still struggle and why did we extract empathy out of this? So looking at the history of it has been fascinating because as the computer science industry grew, there was a moment in the mid-60s. There was a test, like a survey, that went out to just under 1,400 people called the Canon Perry vocational test for computer programmers. It was vocational satisfaction, I think. But it was measuring the satisfaction of programmers and they were trying assess what does a satisfied programmer look like. There were many, many problems with the methodology of this, including the people who they didn't define who a programmer was, the people self-defined. So it's like, if you felt like you were programmer, then you were a programmer, but there was no objective. Like, this is what a programmer is prior to selecting the audience, the survey respondents and then when they evaluated the results, they only used professional men. They didn't include any professional women in their comparison study. So the women in the study, there are illustrations and the women are not presented as professionals, they are presented as sex objects in a research paper. The scientific programmers, they're the ones who get the girl and she's all swooning. The business programmers are very clearly stated as less than and they're shy. The girl is like, “I don't want you.” JESSICA: That have like comics, or something? ANDREA: It was comics, yeah. They had like comic illustrations in there. Okay, it's a survey, what's the big deal? Well, from 1955 through the mid-90s, there was an aptitude test from IBM called the Programmer Aptitude Test, the PAT. In there, Walter McNamara from IBM, who created it, went out, had empathy, and was like, “Okay, let's talk to our customers, what does a good programmer look like,” and determined that logical reasoning was the number one attribute. Okay, sounds good. But then he said, “Well, if logical reasoning is the most important attitude, then we need to create a timed 1-hour math test.” What's interesting to me is that in that, there is a logical fallacy in and of itself, called a non-sequitur, [chuckles] where it's like all humans are mammals, bingo a mammal. Therefore, bingo is a human. That's an example of a non-sequitur. That's what happened where it was determined logical reasoning is important to computer science and programming. All mathematics is logical reasoning. Therefore, mathematics is the only way to measure the capability that somebody has for logical reasoning. That, saying, “Okay, we don't care about communication skills. We don't care about empathy. We don't care about any of that. Just are you good at math?” And then the PAT's study—I've been diving into the bowels of the ACM and looking at primary resource documents for the past several months—and there was an internal memo where Charles McNamara referred to the Canon Perry study in 1967 and said, “The PAT was given to 700,000 people last year and next year, we should incorporate these findings into the PAT,” and the PAT became the de facto way to get into computer science. So these are decisions that were made long before me and so, what you end up getting then – and then also in 1968, there was what's called, there was a NATO conference on software engineering and they said, “We really need to bring rigor into computer science. We need to make this very rigorous.” Again, there were no men at this conference. It was about standards and Grace Hopper wasn't even invited, even though she was like – [overtalk] JESSICA: There were no women in the conference. ANDREA: There were no women. JESSICA: No non-men. ANDREA: No non-men, yes. So you start to see stereotypes getting built and one of the stereotypes became, if you look like this and you are good at math, then you are good at programming. I'm very good at logical reasoning, but I struggle to do a time capsule. I have ADHD and that is something that's very, very, very challenging for me. So that coupled with and then you get advertising where it's marketed, too. MANDO: Yeah. ANDREA: So we need to undo all of this. We can recognize, okay, we can refactor all of this, but it takes recognizing the complexity and how did it all come to be and then changing it one thing at a time. CASEY: A lot of what you've just been talking about makes me think about Dungeons and Dragons and Skyrim for a little nerdy segue. ANDREA: Yeah. CASEY: You have skill trees. You could be a really, really good warrior, very good at math, very good at wielding your sword, and then if you measure how good you are at combat by how big your fireball spell can be, how many you can shoot, how accurate you are, you're missing that whole skill tree of ability, of power that you have. ANDREA: Yeah. MANDO: What I find so fascinating is when I was going through the computer science program that I never finished and this was like a million years ago. When I was in college, there was a very specific logical reasoning class that you had to take as part of the CS program at UT. But it wasn't a math class, it was a philosophy class and I think that's pretty common that logistics studies fall under schools of philosophy, not the schools of mathematics. So it was really interesting to me that these dudes just completely missed the mark, right? [laughs] ANDREA: It is the definition of irony and not Alanis Morrissette kind of way, right? [chuckles] I think that's the thing it's like – and this isn't to say the Walter McNamara was a bad person like, we all make mistakes. But to me, again, this is about impact and if one, or two people can have the ability to create a test that impacts millions of people across generations to help them feel whether, or not they belong in even contributing to building software. Because I always felt like I was a user of software—I was always a superuser—but for some reason, I felt like the other side of the interface, the command line, it was like Oz. It was like that's where the wizards live and I'm not allowed there. It's like, how do we just tear down that curtain and say, “Y'all, there is no – no, this was all built on like false assumptions”? How do we have a retrospective and say, “When we can look at a variety of different perspectives, then we get such stronger products.” We get such stronger code. We minimize technical debt in addition to hopefully, staving off biases that get built into the software. I think it's very similar of human systems, very similar to software systems. It's like, how can we roll back? If we make a mistake and it impacts human systems, how can we fix that as fast as possible, rather than just letting things persist? JESSICA: When you're talking about who can be a good software developer, when you're talking about who is technical, who is valuable, you don't want rigor in that! ANDREA: Right!
 JESSICA: That's not appropriate. ANDREA: Yeah. JESSICA: You want open questions. ANDREA: Yeah, and that is exactly what happened, was people conflate rigor and data with accuracy. There's a bias towards if it's got numbers behind it, it must be real, but you can manipulate data just as much as you can manipulate other things. So the PAT then said, “Okay, well, if you can't pass the PAT, then we'll create all of these other types of tests, so you could be a console operator, or you could be a data analyst.” What's fascinating is when you go back, the thing that was at the very bottom of the Cannon Perry survey, in terms of valuable development activities, was software maintenance. JESSICA: And that's everything now. ANDREA: Yeah!
 JESSICA: Back then, they didn't have a lot of software. MANDO: Yeah. JESSICA: They didn't have open source libraries. If they needed something, they wrote it. ANDREA: But the stereotypes persist. JESSICA: Yeah. MANDO: 100%. ANDREA: The first evidence I found, again, was in 1967. There was a study of 12 people, all of whom were trainees at a company, which that would be a wild – they hadn't even – [overtalk] JESSICA: So this is like even less than interviewing your grad students. ANDREA: Well, yeah. JESSICA: Or your undergrads for your graduate research paper, yes. ANDREA: They measured how quickly someone could solve a problem and they ranked them, and then they made the claim that you can save 25 times—this is the first myth of the 25x developer. Well, it got published in the ACM and then IBM picked it up and then McKinsey picked it up, and then it's just, you get the myth of the full-stack unicorn who's going to come in and save everything! What's interesting is all of these things go back and I think they were formed out of good intention in terms of understanding our world and we understand now, exactly like you said, Jess. That's not the right way to go about it because then people who are really needed on software teams don't feel like they belong and it's like, “Well, do you belong?” JESSICA: That's an outsized impact for such a tiny study. ANDREA: Yeah. So that gets me thinking, what kinds of things am I doing that might have an outside impact? JESSICA: And can we make that impact positive? ANDREA: Yeah, and when we find out that it wasn't, can we learn from our mistakes? I think one of the things, too, is taking the idea of as people are coding. It's like, “Well, who's actually going to read this?” That's something I hear a lot. I used to feel that way about all tags. I'm like, “Who actually reads all tags?” But then my friend, Taylor, was in a car accident and lost his vision. and he was like, “I absolutely need all tags,” and I'll tell you, that changed everything for me. Because it went from this abstract, “I have to check this box. I have to type something in, and describe this photo” to “I care about my friend Taylor and how can I make this experience as best for him as possible?” That is empathy because in order to have empathy, you have to connect with a single individual. Empathy is – and actually, when you do form empathy for a group, you get polarization. So empathy cuts both ways. It can be both very positive, but also very – [overtalk] CASEY: [inaudible] on the individual goes a long way. So for our discussion here, I can share an individual I've been talking to about this kind of problem. I have a friend who's a woman trying to get her first software developer role and she has to study how to hack the coding interview for a lot of the places where she wants to work, which is literally studying algorithms that you probably won't use in the job. I had an interview a few years ago that was the Google style algorithms interview for a frontend role. Frontend developers don't write algorithms, generally. Not unless you're working on the core of the framework maybe. It was completely irrelevant. I rejected them. I think they rejected me back, too probably. [laughter] But I wouldn't work there because of the hiring process. But my friend, who is a woman in tech trying to get in, doesn't have that kind of leeway to project. She wants to get her first job whoever it is – [overtalk] MANDO: She wants a job, yeah. CASEY: That is willing to use the bias system like that and to hack that system to study it specifically how to get around it, which isn't really helping anyone. ANDREA: Yeah. CASEY: So how can we help reform the system so she doesn't have to do that kind of thing and so, people like her don't have to, to get into tech? I don't know, my boycotting that one company is a very small impact; how do we get a company's hiring practices to change is a hard problem. ANDREA: It is a very hard problem. I can share what we are doing in Corgibytes to try to make a difference. I think the first thing is that in our hiring process, we have core values mapped to them and these are offshoots of our main core values, one of which is communication is just as important as code. So we have that every single applicant will get a response and that seems so like, duh, but the number of people who are here who are just ghosted, submit an application and it goes out into the ether. That is, in my opinion, disrespectful. We have an asynchronous screening interview, so it's an application and it's take your time, fill it out, and it's questions like, “What's an article you found interesting and why?” and “What do you love about modernizing legacy code?” Some people need that time to think and just to formulate an answer and so, taking some of that pressure off, and then at the end of our – we have all of our questions mapped to our core values. I'm still trying to figure out how we can get away from more the dreaded technical interviews, but we don't use the whiteboard, but we also have a core value of anything that someone does for us, in terms of whether they show up for an interview, they will walk away with just as much benefit. They will have an artifact of learning something, or spec work is I think, immoral to some of these core things. So we use Exercism for us, so Katrina Owens, as a way of like, “Okay, show us a language that you're like really familiar with.” And then because with what we do, you just get tossed into if it's like, “Okay, let's pick Scala.” It's like you've never tried functional programming before, but then just, it's more of seeing the mindset. Because I think it's challenging because we tried getting rid of them all together and we did have some challenges when it came to then client upper-level goals and doing the job. So it's a balance, I think and then at the end of our interviews doing retrospectives telling the candidate, “Here's what you did really well in this interview, here's where it didn't quite land for me,” because I think interviewing is hard and like you said, Casey, especially now post-COVID, I think more and more people have the power to leave jobs. So I think the power, especially in software development, for people who have had at least their first position, they have a lot more power to walk out the door than they did before. So as an employer and as somebody who's creating these, that's what I'm doing and then if we get feedback and the whole idea with empathy is you're never going to be able to be perfect. Because you don't have the data for the perspective of every single person, but being open and listening and when you do make mistakes, owning up to them, and fixing them as fast as possible. If we all did that, we can make a lot of progress on a lot of fronts really fast. CASEY: I'm so glad your company has those good hiring practices. You're really thinking about it, how to do it in a supportive, ethical, and equitable way. I wonder, we probably don't have the answer here today, but how can we get more companies to do that? I think you sharing here might help several companies, if their leadership are listening. and that's awesome. Spreading the message, talking about it more—that's one thing. Glad we're doing that. MANDO: Yeah. The place that I work at, we're about to start interviewing some folks and I really like the idea of having a retrospective with the candidate after maybe a couple of days, or whenever after the interview and taking the time, taking the 30 minutes or whatever, to sit down and say, “If I'm going to take time to reach out to them anyway and say, ‘You're moving on to the next round,' or ‘We have an offer for you, or not,' then I should be willing to sit down with them and explain why.'” ANDREA: Well, I think the benefit goes both ways, actually. We do it right in our interviews. So we actually say the last 15 minutes, we're going to set aside on perspectives. MANDO: Oh wow, okay. ANDREA: So we do and that's something that we prep for ahead of time. We get feedback of what went well [chuckles] and what we can do better and what we can change. MANDO: Yeah. ANDREA: Because otherwise, as an employer, it's like, I have no idea. I'm just kind of going off into the ether, but then I can hear from other people's perspectives and it's like, okay and then we can change things. But that's an example of, we think of employer versus employee and it's like that's another dichotomy. It's like no, we're all trying to get good work done. JESSICA: Andrea, how do you do performance reviews? ANDREA: We're still trying to crack that, but there's definitely a lot of positive psychology involved and what we are trying to foster is the idea of continuous performance, or continuous feedback is what we call it. So we definitely don't do any kind of forced ranking and that's a branch of things that have contributed to challenges. We have one-on-ones, we check in with people, but a lot of it, I think is asking people what they want to be doing, genuinely. As a small company, we're like 25 people. I think it's easier in a small company, but part of it is – and we were constantly doing this with ourselves, too. My business partner was like, “I really want to try to be the CEO. I've always wanted to be the CEO.” So I stepped back actually during COVID. We focus on being a really responsive team and so, then that way, it's less about the roles. It's less about rigidity. There's a really great book in terms of operations called Brave New Work by Aaron Dignan. It has a lot of operational principles around this. Team of Teams is another really good one. But just thinking through like, what's the work that needs to be done, how can we organize around it, and then thinking of it in terms of more of responsibilities instead of roles. JESSICA: I want to think of it as a relationship. It's like, I'm not judging you as a developer, instead we're evaluating the relationship of you in this position, in this role at this company. ANDREA: Yeah. JESSICA: How is that serving the company? How is that serving you? ANDREA: Yes, and I think that's a big piece of it is – and also, recognizing the context is really important and trying to be as flexible as possible, but then also recognizing constraints. So there have been times where it's like, “This isn't working,” but trying to use radical candor as much as you can, that's something we've been working on. But trying to give feedback as early and as often as possible and making that a cultural norm as to the, “Oh, I get the 360 feedback at the end, twice a year,” like that. JESSICA: Yeah, I'm sorry, if you can't tell me anything within two weeks, don't bother. ANDREA: Yeah. But one example is like we've fostered this and as a leader, I want people who are going to tell me where I'm stepping in it and where I'm messing up. So I kind of use – [overtalk] JESSICA: Yeah, at least that retrospective at the end of the interview says that. ANDREA: Mm hm, but even with my staff, it's like – [overtalk] JESSICA: [inaudible] be able to say, “Hey, you didn't send me a Google Calendar invite,” and they'd be like, “Oh my gosh, we should totally be doing that.” Did anybody tell them that? No! ANDREA: Yeah, totally. So I don't claim to have the answers, but these are just little experiments that we're trying and I think we really lean on the idea of continuous improvement and marginal gains. Arthur Ash had a really great quote, “Start where you are. Use what you have. Do what you can.” I think that's the thing, the whole point of the empathy during development framework is that if you're a developer working on the backend writing a nice commit message, or giving quality feedback on a pull request, instead of just a “Thumbs up, looks good to me.” That's a small act of empathy that you can start doing right away. You don't need to run it by anybody, really, hopefully. If you do, that's a problem [chuckles] your manager and we've seen that. But there are small ways that you can be empowered and leaning into those small moments, doing it again and again, and then creating opportunities to listen. Because empathy, I think the other thing is that people tend to think that it's a psychic ability. You're either data, or your Deanna Troi. CASEY: Jamil Zaki, right? ANDREA: Yeah, the Roddenberry effect. Jamil Zaki, out in Stanford, coined that. I think that's the thing; I've always been told I'm an empath, but I don't think it's telepathy. I think it's just I've gotten really good at spotting patterns and facial recognitions as opposed to Sky. He can just glance and go, “Oh, you're missing a semicolon here.” That is the same skill, it's just in a different context. CASEY: I love that parallel. JESSICA: Yeah. CASEY: Recognizing small things in facial expressions is like noticing missing semicolons. M: Mm hm. [laughs] CASEY: That's so powerful. That's so vivid for me. MANDO: Yeah. Going back, that made what something that you said earlier, Andrea really click for me, which is that so many people who are professional software developers have this very well-developed sense of empathy for the compiler. [laughs] ANDREA: Yeah. MANDO: Right, so it's not that they're not empathetic. ANDREA: Yes! MANDO: They have learned over their career to be extremely empathetic, it's just for their computer. In the same way, you can learn to be empathetic towards your other teams, towards your DevOps group, towards the salespeople, towards anybody. ANDREA: The flip side of your non-technical is you're not good with people because Scott got this all the time. He's like, “You're good with machines, but you're not good with people.” When he told me that, I was like, “I've known you since we were 11, you're incredibly kind. I don't understand.” So in some ways, my early journey here, I didn't come with all the baggage and so, there is this, like, this industry is weird. [laughs] How can we unpack some of this stuff? Because I don't know, this feels a little odd. That's an example and I think it's exactly that it's cultural conditioning and it's from this, “You're good with math, but we don't want you to be good with people.” If you're good with people, that's actually a liability. That was one of the things that came out of the testing of the 60s, 70s, 80s, and early 90s. MANDO: I can't wait till this book of yours comes out because I'm so curious to read the basis of all these myths that we have unconsciously been perpetuating for years and I don't know why, but there is this myth, there are these myths. Like, if you're technical, you're not good with people and you're not – you know what I mean? It's like, I can't wait to read it. ANDREA: You can go to empathyintech.com. You can sign up for the newsletter and we don't email very often. But Casey actually helps me run a Discord channel, too, or Discord server. So there's folks where we're having these conversations and it doesn't matter what your role is at all. MANDO: Yeah. ANDREA: Just let's start talking to each other. JESSICA: Andrea, that's beautiful. Thank you. That makes this a great time to move to reflections. At the end of each episode, we each get to do a reflection of something that stood out to us and you get to go last. ANDREA: Awesome. MANDO: I can go first. I've got one. The idea that empathy is being able to view and identify other perspectives is one that is something that I'm going to take away from this episode. I spent a lot of my career as a software developer and spent another good chunk of my career as someone who worked in operations and DevOps and admin kind of stuff. There's this historic and perpetual tug of war between the two and a lot of my career as a systems administrator was spent sitting down and trying to explain to software engineers why they couldn't do this, or why this GraphQL query was causing the database to explode for 4 hours every night and we couldn't live like that anymore. Stuff like that. To my shame, often, I would default to [laughs] this idea that these software engineers are just idiots and that wasn't the case at all. Well, probably [laughs] not the case at all. Almost always it wasn't the case at all. Anyway, but the truth of the situation is probably much closer to the idea that their perspective was tied specifically to the compiler and to the feature that they're trying to implement for their product manager, for customer X, or whatever. And they didn't have either the resources, or the experience, or the expertise, or whatever that was required to add on the perspective of the backend systems that they were interacting with. So maybe in the future, a better way to address these kinds of situations would be to talk about things in terms of perspective and not idiocy, I guess, is the… ANDREA: Yeah, a really powerful question there is what's your biggest pain point and how can I help you alleviate it? It's a really great way to learn what somebody's perspective is to get on the same page. MANDO: Yeah, like a lot. JESSICA: Nice. I noticed the part about how a lot of the help happens when you have empathy for the individuals who aren't on a happy path, who aren't the great majority of the people using the software, or the requests that come through your software. It's like that parable, there's a hundred sheep and one of them goes astray and the shepherd is going to leave the ninety-nine—who are fine, they're on the happy path, they're good—and go help the one. Because some other day, it's going to be another sheep that's off the happy path and that one's going to need help and that's about it. MANDO: Yeah. Today you, tomorrow me, right? That's how all this works. CASEY: The thing I'd been picking up is about feedback. Like, the best way to develop empathy for someone else is to get feedback, to get their perspective somehow. I've done retros at the ends of meetings, all the meetings at work I ever do. I even do them at the end of a Pomodoro session. A 25-minute timer in the middle of a pairing day, I'll do them every Pomodoro. “Anything to check in on? No? Good. Okay.” As long as we do. But I've never thought to do it during the interview process. That is surprising to me. MANDO: Yeah. CASEY: I don't know if I can get away with it everywhere. The government might not like it if I did that to their formal process. [laughter] Maybe I can get away with, but it's something I'll think about trying. I would like feedback and they would like feedback—win-win. MANDO: Yeah, I've never done it either and it makes perfect sense. I have a portion, unfortunately, in my interviews where I say right at the beginning, “This is what's going to happen in the interview,” and I spend 5 minutes going through and explaining, we're going to talk about this, we're going to talk about that, or just normal signposting for the interview. It never once has occurred to me to at the end, say, “Okay, this is what we did. Why don't you give me some feedback on that and I give you some feedback about you?” That makes sense. ANDREA: Awesome. For me, I have been wanting to come on your show for a really long time. I was telling Casey. [chuckles] JESSICA: Ah! ANDREA: I was like, “I love the mission of expanding the idea of what coding is.” So I just feel very honored because for the longest time, I was like, “I wonder if I'm going to be cool enough one day to –” [laughs] JESSICA: Ah! We should have invited you a long time ago. ANDREA: Yeah. So there's a little bit of fangirling going on and I really appreciate the opportunity to just dive a little bit deep, reflect, and think. As somebody who doesn't mold, it's nice to get validation sometimes that the way I'm thinking is valuable to some people. So it gives me motivation to keep going. JESSICA: Yeah. It's nice when you spend a lot of energy, trying to care about what other people care about, to know that other people also care about this thing that you care about. ANDREA: Yeah. JESSICA: Thank you so much for joining us. ANDREA: Thank you for having me! MANDO: Thank you. ANDREA: The fastest way to reach out to me and make sure that I see it is actually to go to corgibytes.com. Corgi like the dog, bytes, B-Y-T-E-S, .com and send an email on the webform because then that way, it'll get pushed up to me. But I struggle with email a lot right now and I'm on Twitter sporadically and I'm also on – MANDO: That's good. The best way to do that. ANDREA: I am a longform writer. I'm actually really excited that I have a 100,000 words to explain myself. I do not operate well in the 140-character kind of world, but I'm on there and also, on LinkedIn. And then the book website is empathyintech.com and there's a link to the Discord channel and some deeper articles that I've written about exactly what empathy in tech is and what empathy driven development is. I'm writing it with my friend, Carmen Shirkey Collins, who is another copywriter who is now in tech over at Cisco, and it's been a joy to be on a journey with her because she's super smart and has great background in perspective, too. JESSICA: And if you want to work on meaningful, impactful legacy code in ensembles, check out Corgibytes. ANDREA: Yeah. JESSICA: And if you want to talk to all of us, you can join our Greater Than Code Slack by donating anything at all to our Greater Than Code Patreon at patreon.com/greaterthancode. Thank you, everyone and see you next time! Special Guest: Andrea Goulet.

Thinking Elixir Podcast
Exercism.io and Elixir with Angelika Tyborska

Thinking Elixir Podcast

Play Episode Listen Later Jun 1, 2021 54:26


We talk with Angelika Tyborska about the history of exercism.io, her involvement, the issues addressed in v2 and what's new and cool in the soon to be released v3. We cover the Elixir track, her work as a maintainer, the journey of a student and how people can help as mentors. We also hear about the "fun" she had creating a maze generator and more! Show Notes online - https://thinkingelixir.com/podcast-episodes/050-exercism-io-and-elixir-with-angelika-tyborska The post #050 Exercism.io and Elixir with Angelika Tyborska appeared first on Thinking Elixir.

Thinking Elixir Podcast
50: Exercism.io and Elixir with Angelika Tyborska

Thinking Elixir Podcast

Play Episode Listen Later Jun 1, 2021 54:26


We talk with Angelika Tyborska about the history of exercism.io, her involvement, the issues addressed in v2 and what's new and cool in the soon to be released v3. We cover the Elixir track, her work as a maintainer, the journey of a student and how people can help as mentors. We also hear about the "fun" she had creating a maze generator and more! Elixir Community News - https://elixir-lang.org/blog/2021/05/19/elixir-v1-12-0-released/ (https://elixir-lang.org/blog/2021/05/19/elixir-v1-12-0-released/) – Elixir 1.12 was released! - https://thinkingelixir.com/elixir-1-12-and-your-first-mix-install-script/ (https://thinkingelixir.com/elixir-1-12-and-your-first-mix-install-script/) – Mix.install/2 intro post with example. Setup Elixir 1.12 through asdf - https://twitter.com/hauleth/status/1394575966463315970 (https://twitter.com/hauleth/status/1394575966463315970) – Global logger metadata as part of OTP 24 - https://angelika.me/elixir-enum-cheatsheet (https://angelika.me/elixir-enum-cheatsheet) – Angelika Tyborska updated her nice Enum visual cheatsheet - https://github.com/elixir-lang/elixir/pull/10637 (https://github.com/elixir-lang/elixir/pull/10637) – Registry module supports the :compressed option - https://twitter.com/dashbit/status/1395138662850048003 (https://twitter.com/dashbit/status/1395138662850048003) – Livebook is on Hex.pm using mix escript.install hex livebook - https://erlef.org/blog/machine-learning/machine-learning-updates-may-2021 (https://erlef.org/blog/machine-learning/machine-learning-updates-may-2021) – The Machine Learning group in the EEF outlines their progress - https://github.com/erlang/otp/pull/4869 (https://github.com/erlang/otp/pull/4869) – Erlang JIT is coming to AArch64 platforms such as Apple's new M1-based Macs - https://github.com/elixir-nx/livebook/pull/287 (https://github.com/elixir-nx/livebook/pull/287) – Livebook gets support for graphing through VegaLite - https://vega.github.io/vega-lite/ (https://vega.github.io/vega-lite/) - https://smartlogic.io/about/community/elixir-wizards-conference/ (https://smartlogic.io/about/community/elixir-wizards-conference/) – SmartLogic/Elixir Wizards is hosting an Elixir conference! - https://twitter.com/chris_mccord/status/1396600570614632451 (https://twitter.com/chris_mccord/status/1396600570614632451) – Chris McCord's script to simulate poor network for websocket connections on osx Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://exercism.io/ (https://exercism.io/) - https://exercism.io/tracks/elixir (https://exercism.io/tracks/elixir) - https://steadyhq.com/en (https://steadyhq.com/en) - https://steadyhq.com/en/product (https://steadyhq.com/en/product) - https://exercism.io/about (https://exercism.io/about) - https://adventofcode.com/ (https://adventofcode.com/) - https://www.youtube.com/watch?v=GWEEPt8VvmU (https://www.youtube.com/watch?v=GWEEPt8VvmU) - http://www.mazesforprogrammers.com/ (http://www.mazesforprogrammers.com/) - https://github.com/angelikatyborska/mazes (https://github.com/angelikatyborska/mazes) - https://angelika.me/elixir-enum-cheatsheet/ (https://angelika.me/elixir-enum-cheatsheet/) - https://github.com/angelikatyborska/vnu-elixir (https://github.com/angelikatyborska/vnu-elixir) - https://github.com/neenjaw/ (https://github.com/neenjaw/) – Other Elixir track maintainer - Tim Austin - https://angelika.me/ (https://angelika.me/) - https://mazes.angelika.me/ (https://mazes.angelika.me/) – Cool LiveView maze generator Guest Information - https://twitter.com/atyborska93 (https://twitter.com/atyborska93) – on Twitter - https://github.com/angelikatyborska/ (https://github.com/angelikatyborska/) – on Github - https://angelika.me/ (https://angelika.me/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)

Make it a Pear!
Practice is the journey

Make it a Pear!

Play Episode Listen Later May 18, 2021 11:05


It's time to get your creative process together. In this episode we talk about the three basic pieces of creative practice according to Beth Pickens, author of "Your Art Will Save Your Live" and, more recently, "Make Your Art No Matter What." Even though the context for these is artists making art, we explain the solid connection with building for tech and what that means for you. The Writing Salon -- Where I worked on a novel that will never see the light of day, lol. Exercism.io -- Level up your coding skills through mentoring, feedback and revisions. Appear Works affiliate links for (support our work with a purchase): Your Art Will Save Your Life Make Your Art No Matter What

practice exercism beth pickens make your art no matter what
Sustain
Episode 75: Deb Nicholson on the OSI, the future of open source, and SeaGL

Sustain

Play Episode Listen Later Apr 23, 2021 33:50


Guest Deb Nicholson Panelists Eric Berry | Justin Dorfman | Alyssa Wright | Richard Littauer Show Notes Hello and welcome to Sustain! Today, we are incredibly privileged to have as our guest, Deb Nicholson, who is Interim General Manager and Interim Executive Director at the Open Source Initiative, as well as a founding organizer of the Seattle GNU/Linux Conference (SeaGL). Deb tells us how she founded SeaGL and what she did in legislature before open source. We learn about a blog post that Elastic wrote, how Deb feels about it, and how OSI is addressing it. Also, we learn how open source is looked at differently by the community and by lawyers, and a talk Deb did about all the different patent clauses in licenses. Find out what Deb is currently doing as the Interim General Manager at OSI and why being kind is so important to her. As well, if you haven’t seen the Seagulls video on YouTube, you have to watch it! Download this episode now to find out more! [00:02:23] Deb tells us the story of how she founded SeaGL, when the next conference will be, and how many people come to it. [00:05:39] Justin brings up a blog post that Elastic wrote recently and asks Deb what her feelings are about it and wonders how OSI is addressing it. Alyssa wonders if there was any direct conversation with somebody from Elastic. [00:09:20] Deb explains the two groups of people, the community and lawyers, and the differences between what they think open source means. [00:11:20] Eric asks Deb if Elastic deserves all the bad press and negative feelings. Deb also tells us what approach Elastic should have taken. [00:14:22] Alyssa asks Deb to speak more about lawyers sit in the community now and what lawyers and people with legal expertise can do to be a part of open source creation and sustainability. [00:16:40] Deb tells us what she did in legislature before open source. [00:17:40] Alyssa asks Deb how she found clarity around all these licenses, was she ever confused about how to navigate, and if she could help people understand and navigate through them. She mentions she did a talk about all the different patent clauses in licenses. [00:20:52] Deb explains how she ended up as the Interim General Manager at the OSI and what she’s currently doing there. [00:22:14] Find out why being kind so important to Deb. [00:25:13] Deb talks about the process of the Cryptographic Autonomous License. [00:26:54] Richard wonders Deb’s thoughts on setting best practices for open source in general, not just licensing, in particular other countries. [00:28:25] Find out where you can follow Deb on the Internet. Quotes [00:06:23] “Basically, we didn’t really think our business model through. We decided we were going to do one thing and then whoops, because we didn’t think it through, now we have to change.” [00:23:24] “It also means that when you go out and you talk to people about your mission you sound like a person that hasn’t had a conversation with someone about anything other than your work five years, because you kind of haven’t.” [00:24:35] “There might be other decisions I could affect, but like you end up sounding really out of touch and it’s not good for your organization and for promoting your mission if you never have perspective.” [00:24:44] “Unfortunately, Deb, you’re one of our guests, and this happens occasionally with our guests who are so eloquent that I can’t even imagine a question ‘cause you just wrapped everything up in such a nice bow that it’s like yes, that’s exactly the problem, that’s a really good point, I totally agree, we should all have more time off!” [00:25:05] “Take a vacation! Never forget! Even if it’s a staycation, because, you know, pandemic.” [00:25:36] “So we don’t draft licenses, that’s the thing we don’t do, but we do look at new licenses, and last year we approved the Cryptographic Autonomous License.” Spotlight [00:29:33] Alyssa’s spotlight is the launch of FundOSS. [00:30:38] Eric’s spotlight is Exercism. [00:31:43] Justin’s spotlights are “The Onion seagull beach interview,” and Katacoda-Interactive Learning and Training Platform we are using for Curiefense. [00:32:33] Richard’s spotlight is WaffleJS. [00:32:49] Deb’s spotlight is a project called Spritely. Links Deb Nicholson Twitter (https://twitter.com/baconandcoconut?lang=en) SeaGL.org (https://seagl.org/) Opensource.org (https://opensource.org/) Elastic- “Doubling Down on Open.” (https://www.elastic.co/blog/doubling-down-on-open) SEAGULLS (Stop it Now) – A Bad Lip Reading of The Empire Strikes Back-YouTube (https://www.youtube.com/watch?v=U9t-slLl30E) LibrePlanet 2021 (https://libreplanet.org/2021/) Open Source Initiative-The SSPL is Not an Open Source License (https://opensource.org/node/1099) Social Linux Expo SCaLE19x-March 2022 (https://www.socallinuxexpo.org/scale/19x) Mill City Triatholon (https://www.trisignup.com/Race/MA/Lowell/MillCityTriathlon) Podcast-SustainOSS-Episode 62 with Richard Fontana (https://podcast.sustainoss.org/62) Podcast-SustainOSS -Episode 23 with Josh Simmons (https://podcast.sustainoss.org/23) Podcast-SustainOSS-Episode 37 with Patrick Masson (https://podcast.sustainoss.org/37) “Don’t Fear the Patent Clause,” with Deb Nicholson-YouTube (https://www.youtube.com/watch?v=LqMdaKE8zkI) Cryptographic Autonomy License-GItHub (https://github.com/holochain/cryptographic-autonomy-license) FundOSS.org (https://fundoss.org/) Open Collective/Fund OSS (https://opencollective.com/fundoss) Exercism.io (https://exercism.io/) The Onion-Seagull beach interview (https://www.theonion.com/seagull-with-diarrhea-barely-makes-it-to-crowded-beach-1819574572) Katacoda (https://www.katacoda.com/) Curiefense (https://www.katacoda.com/curiefense) WaffleJS (https://wafflejs.com/) Spritely Project (https://spritelyproject.org/) Credits Produced by Richard Littauer (https://www.burntfen.com/) Edited by Paul M. Bahr at Peachtree Sound (https://www.peachtreesound.com/) Show notes by DeAnn Bahr at Peachtree Sound (https://www.peachtreesound.com/) Special Guest: Deb Nicholson.

Build and Deploy with Liz Moy
Jeremy Walker: Augmenting Programming Education with Automated Mentoring

Build and Deploy with Liz Moy

Play Episode Listen Later Oct 9, 2020 51:52


Jeremy is one of the co-founders of programming education not-for-profit Exercism.io, which offers a free open-source learning platform with thousands of exercises spread across over 50 language tracks — including automated and human mentoring. We talked about the importance of mentoring in the learning process and why he wants to write his own programming language (and everything in-between).

The Drunken UX Podcast
#69: Exercising Your Coding Muscles On Exercism.io w/ Jeremy Walker

The Drunken UX Podcast

Play Episode Listen Later Aug 17, 2020 59:48


How many times have we heard that your brain is a muscle, and you must exercise it just like your arms and legs? In the world of coding, whether you’re trying to pick up new...

Tôi Đi Code Dạo - Podcast dành cho dân IT Việt Nam - WAVES
Năm trang web cực hay ho để luyện thuật toán và kĩ năng lập trình - Code Cùng Code Dạo

Tôi Đi Code Dạo - Podcast dành cho dân IT Việt Nam - WAVES

Play Episode Listen Later Apr 1, 2020 7:48


Hãy tải ứng dụng Waves để cập nhật những tập podcast mới nhất và có những trải nghiệm miễn phí tuyệt vời nhất: iOS: https://apps.apple.com/gb/app/waves-podcast-player/id1492378044 Android: https://play.google.com/store/apps/details?id=com.waves8.app Hôm nay, mình sẽ giới thiệu cho các bạn 5 trang web cực hay ho để luyện thuật toán và kĩ năng lập trình nhé: 1. Hackerrank: https://www.hackerrank.com 2. Leetcode: https://leetcode.com 3. Geeksforgeeks: https://geeksforgeeks.org 4. Exercism: https://exercism.io 5. Daily Coding Problem: https://www.dailycodingproblem.comKênh podcast Tôi Đi Code Dạo được hợp tác sản xuất bởi Phạm Huy Hoàng và Waves. Các bạn có thể xem các video của Phạm Huy Hoàng tại đây: https://www.youtube.com/channel/UCdV9tn79v3ecSDpC1AjVKawWaves là một nền tảng âm thanh trực tuyến, chuyên cung cấp những audiobook và podcast dành riêng cho người Việt. Các bạn có thể nghe được tất cả các podcast nổi tiếng tại Việt Nam trên Waves. Hơn thế, bạn cũng có thể xây dựng chương trình podcast riêng cho mình. Nếu như bạn là một YouTuber và không muốn tên tuổi của mình chỉ xuất hiện trên YouTube mà còn có một kênh podcast của riêng mình, các bạn có thể gửi thư đến hello@waves8.com để được hỗ trợ nhé.Website: https://waves8.com/ Facebook: https://www.facebook.com/WavesVietnam/ Instagram: @wavesvietnam

Smart Software with SmartLogic
Devon Estes from Sketch on Benchee, Performance and Training

Smart Software with SmartLogic

Play Episode Listen Later Mar 12, 2020 48:34


Our guest today, Devon Estes, approached us about the possible opportunity for Elixir to optimize and build out the pandas data analysis and manipulation tool, sharing why he thinks it would be a valuable addition to the Elixir open source ecosystem. But Devon joins us to contribute to our ongoing discussion about performance and training in the Elixir world, sharing about his current work on the beta for Sketch Cloud, his previous Erlang consultancy role at one of the largest banks in Europe, and the massive responsibility he carried while working on the bottom line application. He continues to advise listeners on the considerations for optimizing Erlang performance and solving database-specific problems, and the memory constraints he comes up against in the Sketch Cloud application. Devon talks about Benchee, a benchmarking library created by his friend, and how the two of them have continued to develop this tool, including its performance testing capabilities and how they deconstructed the benchmarking steps to build out the library. He also talks more broadly about the importance of considering the data when distinguishing between facts and opinions in conversations about performance. Key Points From This Episode: What Devon believes would be a valuable addition to the Elixir open source ecosystem. Why optimizing and building out the pandas tool will be worth a company’s time and effort. Devon’s experience with pandas and Python, and recognizing the opportunity for Elixir. Working on the beta for Sketch’s Cloud that will allow real-time collaboration. Devon’s consultancy role at Klarna, one of the largest banks in Europe. The responsibility involved in working on the bottom-of-the-stack application at Klarna. Considerations for optimizing Erlang performance and why you should look at the tail. Solving the database performance problems – running queries and searches – at Klarna. The unique memory constraints of Sketch Cloud and the problem with receiving large files. More about Benchee, a benchmarking library, and all its performance testing capabilities. Deciding whether a function is responsible for other things when benchmarking. The time Devon spends on optimizing performance and the first two steps in the process. The profiling process of determining which function is slow and writing a benchmark for it. Distinguish between a fact and an opinion by considering the data (or lack thereof). Keeping in mind that truth is time-bound, and it also applies to benchmarking. Deconstructing the steps in the process of further developing Benchee. How Devon became a maintainer of the Elixir track for Exercism, and what the role involves. Links Mentioned in Today’s Episode: Devon Estes — http://www.devonestes.com Devon Estes on Twitter — https://twitter.com/devoncestes?lang=en Devon Estes on GitHub — https://github.com/devonestes pandas — https://pandas.pydata.org Python — https://www.python.org Sketch — https://www.sketch.com Klarna — https://www.klarna.com/international/ Erlang — https://www.erlang.org PostgreSQL — https://www.postgresql.org Ruby — https://www.ruby-lang.org/en/ Adopting Elixir — https://www.amazon.com/Adopting-Elixir-Production-Ben-Marx/dp/1680502522 Exercism — https://exercism.io JavaScript — https://www.javascript.com Benchee — https://github.com/bencheeorg SmartLogic — https://smartlogic.io/ Elixir — https://elixir-lang.org Elixir Wizards Podcast — https://podcast.smartlogic.io Update: What's Inside a Reduction? http://www.devonestes.com/inside-a-reduction Special Guest: Devon Estes.

Ghosts In The Valley
Jerry Ayres Paranormal Investigator

Ghosts In The Valley

Play Episode Listen Later Jan 28, 2020 45:02


Jerry Ayres is the lead investigator and founder of Supernatural Investigators of Minnesota. Jerry talks about the paranormal, Big Foot, Sasquatch, UFO's and Exercism. You ca reach Jerry and his team at www.siminnesota.com If you have a ghost story to share or anything paranormal related, you can contact me at cooley54@gmail.com

Creating useful people
Katrina Owen, ecosystem engineer at GitHub

Creating useful people

Play Episode Play 30 sec Highlight Listen Later Jun 8, 2019 41:51


Decision-making frameworks for a successful career and lifestyle.Katrina Owen is an ecosystem engineer at GitHub, the world’s leading software development platform. She accidently became a software developed whilst pursuing a degree in molecular biology! Katrina is also the creator of Exercism, a platform for code practice and programming mentorship that has helped over 200,000 people all over the world learn new programming languages. Katrina mainly works in programming languages Go and Ruby, and she’s a Ruby Hero, which is an award given out by Ruby to their top programmers. Katrina is committed to creating beautiful code and has co-written a book about this called 99 Bottles of OOP.In this episode we discuss Katrina’s life before and after the pivotal age of 25, her younger self’s approach to decision-making, how introverts become exhausted and putting lifestyle and routine at the centre of success. More from Katrina on her website.Support the show (https://www.amazon.co.uk/dp/0992691362)

Model View Conversation
Episode 19: Ways to Learn, Part II

Model View Conversation

Play Episode Listen Later May 27, 2019 51:50


The guys return to finish their discussion of the different ways you can engage in learning about programming. This time they delve into online courses, bootcamp and other concentrated learning environments, and the importance of building stuff on your own and with others to demonstrate mastery of concepts. Follow us on Twitter @mvcpodcast (https://www.twitter.com/mvcpodcast). Chapters 00:00 - Intro 00:21 - Online courses 07:14 - The illusion of mastery 12:36 - Bootcamp vs. online course 14:06 - Exercise sites 16:37 - Bootcamps 30:37 - Meetups and conferences 39:00 - Building your own stuff 43:33 - Building with others 51:06 - Outro Links Code Wars (https://www.codewars.com) Project Euler (https://projecteuler.net) Exercism (https://exercism.io)

RWpod - подкаст про мир Ruby и Web технологии

Добрый день уважаемые слушатели. В гостях RWpod Cafe сегодня Katrina Owen: Текстовая версия Could you briefly introduce yourself? What will your talk be about, exactly? Why this topic? You are a co-author of “99 Bottles of OOP”. Are there any plans for a new book? Exercism had started in 2013. Nowadays, after 6 years, do you have any high-level conclusion about it? After all this year with Exercism what did you learn about managing open source project? From your perspective, which skills are most important for the software developer? When working alone and when working with a team? If you did something that turned out to be the most expensive technical lesson you have learned? Do you have any “must read” list of books for a software developer? Why Kytrinyx? What is the background of the nickname? You have a Bachelor Degree in Molecular Biology. Does this knowledge help in your software development? What do you like to do in your free time? Blog Github Twitter 99 Bottles of OOP Exercism RubyC 2019

Elixir Mix
EMx 018: Devon Estes: “All In On Elixir”

Elixir Mix

Play Episode Listen Later Sep 11, 2018 54:40


Panel: Charles Max Wood Mark Ericksen Josh Adams Eric Berry Special Guest: Devon Estes In this episode of Elixir Mix, the panel talks to Devon Estes. He is an American programmer located in Berlin, Germany. Devon is coaching on Elixir, and his background is on Ruby Rails. Check-out today’s episode to hear how passionate Devon is about the Elixir program, and what he loves about it. Show Topics: 3:58 – Devon finds that the process of writing helps him find “bugs”. He tries to write once a month on various topics, such as what he has learned, and his freelancing work. 4:50 – One of the panelists says that he also writes, too, and how it helps him process what is going on. He treats it like a research paper, because he wants it to sound coherent. 5:43 – Devon used to work in PR and Marketing. What he learned from those fields is that: visibility creates opportunity. 7:19 – When you choose the technology, it’s about how easy previous resources to help support that if it’s the right tech. Finding Elixir developers is hard to find. Elixir ahs been that way for a while, but actually it is becoming the new and improved Ruby. You get the 10X productivity, but you aren’t held up by some factors. Have you ever had finding work in Elixir? 8:22 – Devon: Not in the last year-and-a-half. Being a freelancer, stay visible, because you are constantly looking for different projects, and so on. There are other countries out there where Elixir is more prominent than compared to the United States. Companies in San Francisco are having a hard time finding Elixir developers to work with them. 10:31 – How was your transition from Ruby to Elixir and your writing projects? How did you go down that path? 11:07 – Devon: The more I wrote in Elixir the more he liked the program. Ruby inspired Elixir, for sure. He likes how it’s comprehensive to him, and how productive he is with Elixir. For Devon, it fits well with how he writes code; and because he’s happy, his clients are happy, too. Elixir’s language fits well with his way of thinking and there are other benefits for Devon by working with Elixir. Devon likes feeling productive and it fulfills his needs. Finally, he also really enjoys the Elixir community! 16:51 – What do you not like about Elixir? 16:55 – Devon: He found his first thing he doesn’t love about Elixir, and he found it today, of all things! Listen to this timestamp to see what Devon shares. 20:47 – Question asked for Devon: How are other languages doing that, and what can we do to make that happen? 20:53 – Check-out Devon’s answer! 24:11 – Digital Ocean’s Mid-Roll Advertisement 24:48 – Devon continues his answer from 20:53. Programmers talk and, when more people are having certain experiences, the word is going to get out. The flexibility of the language is going to be great in the long run. Great sales pitch. 26:47 – Josh, you have a lot of experience of the years, pushing the eco-system, have you seen a pick-up from that or has it grown, how have you seen your involvement in these projects helped with the awareness... 27:19 – Josh: I don’t know how much of an influence I have, but it has doubled almost every year. Of course, this won’t happen every year, and at some time it will plateau. Elixir is rapidly growing now, though. 28:09 – Question to Devon: Let’s talk about your project, Fast Elixir. 28:16 – Devon talks about how he got involved with Fast Elixir and how it developed. 31:19 – Let’s talk about Benchy. 31:28 – Devon: We are very proud of it. Devon continues in detail about the before-mentioned question. 36:30 – Question to Devon – Let’s talk about reductions, so people can understand it better. 36:41 – Think of a reduction that it’s one thing the virtual thing does. It has a counter, and it does a certain number of things before it needs to take a break. That’s the most basic unit. One reduction is one instruction and it counts that. That’s how it manages its internal scheduler. 38:20 – Chuck: When you adopted Ruby did you feel the same way about it like you do about Elixir. Chuck says, “I totally get it...” It’s more a learning opportunity for Chuck. Have you found the next best thing? Or... 39:06 – Devon was an opera singer for a while, and studied at the Manhattan School of Music. Check out his full bio in LinkedIn, and other social media profiles. As Devon became an advanced programmer he started to develop his programming skills. He tried JavaScript, but the language didn’t appeal to him. The more he experienced in different programs, he found that the bigger picture for him boiled down to the community aspect for him. He could have fallen in-love with Clojure, but he’s not quite sure. Finally, it basically was the Elixir’s language and the community that he likes. 45:05 – It’s neat to see the progression that you went through. 45:25 – Let’s do picks! 45:30 – Code Badges' Advertisement! 46:11 – Picks! Links: Coder Job eBook by Charles Max Wood Elixir Code Badger with Charles Max Wood on Kickstarter! Devon Estes’ GitHub Devon Estes’ Twitter Devon Estes’ Website Devon Estes’ LinkedIn Devon Estes’ Refactoring Elixir – Lessons Learned from a Year on Exercism.lo Fast Elixir Ruby Rails Clojure Devon Estes’ Blog GitHub’s Elixir-Lang Exercism – Code Practice Elixir Sips: Learn Elixir With A Pro Devon Estes’ Heroku App Sponsors: Get a Coder Job Digital Ocean Code Badges Cache Fly Picks: Charles Lootcrate (once a month) Audible, Audio Book – “The ONE Thing” by Gary Keller Helps you focus on one thing to help you reach your goals. Mark Movie: (YouTube) Erlang: The Movie Retro Gaming – Original Nintendo Josh Follow-up on Mark’s pick (see above) – Posters / Harry Potter-Themed Tortoise Eric Legos! Funko POP Animation Bob’s Devon Toggl – Time-tracking Tool / It’s free! “Understanding Computation” by Tom Stuart Movie: Handmaiden

Devchat.tv Master Feed
EMx 018: Devon Estes: “All In On Elixir”

Devchat.tv Master Feed

Play Episode Listen Later Sep 11, 2018 54:40


Panel: Charles Max Wood Mark Ericksen Josh Adams Eric Berry Special Guest: Devon Estes In this episode of Elixir Mix, the panel talks to Devon Estes. He is an American programmer located in Berlin, Germany. Devon is coaching on Elixir, and his background is on Ruby Rails. Check-out today’s episode to hear how passionate Devon is about the Elixir program, and what he loves about it. Show Topics: 3:58 – Devon finds that the process of writing helps him find “bugs”. He tries to write once a month on various topics, such as what he has learned, and his freelancing work. 4:50 – One of the panelists says that he also writes, too, and how it helps him process what is going on. He treats it like a research paper, because he wants it to sound coherent. 5:43 – Devon used to work in PR and Marketing. What he learned from those fields is that: visibility creates opportunity. 7:19 – When you choose the technology, it’s about how easy previous resources to help support that if it’s the right tech. Finding Elixir developers is hard to find. Elixir ahs been that way for a while, but actually it is becoming the new and improved Ruby. You get the 10X productivity, but you aren’t held up by some factors. Have you ever had finding work in Elixir? 8:22 – Devon: Not in the last year-and-a-half. Being a freelancer, stay visible, because you are constantly looking for different projects, and so on. There are other countries out there where Elixir is more prominent than compared to the United States. Companies in San Francisco are having a hard time finding Elixir developers to work with them. 10:31 – How was your transition from Ruby to Elixir and your writing projects? How did you go down that path? 11:07 – Devon: The more I wrote in Elixir the more he liked the program. Ruby inspired Elixir, for sure. He likes how it’s comprehensive to him, and how productive he is with Elixir. For Devon, it fits well with how he writes code; and because he’s happy, his clients are happy, too. Elixir’s language fits well with his way of thinking and there are other benefits for Devon by working with Elixir. Devon likes feeling productive and it fulfills his needs. Finally, he also really enjoys the Elixir community! 16:51 – What do you not like about Elixir? 16:55 – Devon: He found his first thing he doesn’t love about Elixir, and he found it today, of all things! Listen to this timestamp to see what Devon shares. 20:47 – Question asked for Devon: How are other languages doing that, and what can we do to make that happen? 20:53 – Check-out Devon’s answer! 24:11 – Digital Ocean’s Mid-Roll Advertisement 24:48 – Devon continues his answer from 20:53. Programmers talk and, when more people are having certain experiences, the word is going to get out. The flexibility of the language is going to be great in the long run. Great sales pitch. 26:47 – Josh, you have a lot of experience of the years, pushing the eco-system, have you seen a pick-up from that or has it grown, how have you seen your involvement in these projects helped with the awareness... 27:19 – Josh: I don’t know how much of an influence I have, but it has doubled almost every year. Of course, this won’t happen every year, and at some time it will plateau. Elixir is rapidly growing now, though. 28:09 – Question to Devon: Let’s talk about your project, Fast Elixir. 28:16 – Devon talks about how he got involved with Fast Elixir and how it developed. 31:19 – Let’s talk about Benchy. 31:28 – Devon: We are very proud of it. Devon continues in detail about the before-mentioned question. 36:30 – Question to Devon – Let’s talk about reductions, so people can understand it better. 36:41 – Think of a reduction that it’s one thing the virtual thing does. It has a counter, and it does a certain number of things before it needs to take a break. That’s the most basic unit. One reduction is one instruction and it counts that. That’s how it manages its internal scheduler. 38:20 – Chuck: When you adopted Ruby did you feel the same way about it like you do about Elixir. Chuck says, “I totally get it...” It’s more a learning opportunity for Chuck. Have you found the next best thing? Or... 39:06 – Devon was an opera singer for a while, and studied at the Manhattan School of Music. Check out his full bio in LinkedIn, and other social media profiles. As Devon became an advanced programmer he started to develop his programming skills. He tried JavaScript, but the language didn’t appeal to him. The more he experienced in different programs, he found that the bigger picture for him boiled down to the community aspect for him. He could have fallen in-love with Clojure, but he’s not quite sure. Finally, it basically was the Elixir’s language and the community that he likes. 45:05 – It’s neat to see the progression that you went through. 45:25 – Let’s do picks! 45:30 – Code Badges' Advertisement! 46:11 – Picks! Links: Coder Job eBook by Charles Max Wood Elixir Code Badger with Charles Max Wood on Kickstarter! Devon Estes’ GitHub Devon Estes’ Twitter Devon Estes’ Website Devon Estes’ LinkedIn Devon Estes’ Refactoring Elixir – Lessons Learned from a Year on Exercism.lo Fast Elixir Ruby Rails Clojure Devon Estes’ Blog GitHub’s Elixir-Lang Exercism – Code Practice Elixir Sips: Learn Elixir With A Pro Devon Estes’ Heroku App Sponsors: Get a Coder Job Digital Ocean Code Badges Cache Fly Picks: Charles Lootcrate (once a month) Audible, Audio Book – “The ONE Thing” by Gary Keller Helps you focus on one thing to help you reach your goals. Mark Movie: (YouTube) Erlang: The Movie Retro Gaming – Original Nintendo Josh Follow-up on Mark’s pick (see above) – Posters / Harry Potter-Themed Tortoise Eric Legos! Funko POP Animation Bob’s Devon Toggl – Time-tracking Tool / It’s free! “Understanding Computation” by Tom Stuart Movie: Handmaiden

Tech Done Right
Episode 44: Learning Programming Languages and Strategies With Katrina Owen

Tech Done Right

Play Episode Listen Later Aug 22, 2018 42:47


Learning Programming Languages and Strategies With Katrina Owen Table XI is offering training for developers and product teams! For more info, email workshops@tablexi.com or go to http://www.tablexi.com/workshops Guest Katrina Owen (https://twitter.com/kytrinyx): Blog (http://www.kytrinyx.com/) | Katrina’s Talks (https://confreaks.tv/presenters/katrina-owen) Summary What's a good way to learn a new programming language that focuses on solving problems and not merely syntax? Katrina Owen is the creator of Exercism, a tool for getting beyond "hello world" in new programing languages. She is also the co-author of 99 Bottles of OOP, and the presenter of a number of outstanding technical talks. We start off by talking about Exercism, how it started, how it evolved and what it’s good at, and then we talk about how the process by which it evolved, and how Katrina learned to analyze the project more strategically, and how that strategic thinking has helped her in other parts of her life and career. Notes 02:14 - Exercism (https://exercism.io/) 03:37 - Solving Programming Language Learning 99 Bottles of OOP (https://www.sandimetz.com/99bottles/) Practical Object-Oriented Design: An Agile Primer Using Ruby (https://amzn.to/2nV55Mt) 06:15 - Redesigning Exercism: Conceptually and Logistically 17:41 - Exercism Language Communities Exercism Language List (https://exercism.io/#explore-languages) Elixir (https://elixir-lang.org) Delphi (https://www.embarcadero.com/products/delphi) CFML (https://helpx.adobe.com/coldfusion/get-started.html) Coq (https://coq.inria.fr) Ballerina (https://ballerina.io) Pharo (https://pharo.org) Haskell (https://www.haskell.org) 23:45 - Gaining Control of an Open Source Community/Project 27:37 - Strategy and Priority Good Strategy Bad Strategy: The Difference and Why It Matters (https://www.amazon.com/Good-Strategy-Bad-Difference-Matters/dp/0307886239) Mud Rooms, Red Letters, and Real Priorities (http://www.43folders.com/2009/04/28/priorities) Chad Fowler: Great Leaders Don’t Juggle Priorities (https://medium.com/@chadfowler/great-leaders-don-t-juggle-priorities-f83c74f37905) 32:54 - Strategy vs. Tactics Related Episodes Rubyists in Other Languages with James Edward Gray II and Steve Klabnik (http://www.techdoneright.io/43) Programming Languages and Communication With Kerri Miller (http://www.techdoneright.io/34) The Elm Programming Language with Corey Haines (http://www.techdoneright.io/17) Special Guest: Katrina Owen.

Changelog Master Feed
Rebuilding Exercism from the ground up (The Changelog #309)

Changelog Master Feed

Play Episode Listen Later Aug 8, 2018 73:46 Transcription Available


Adam and Jerod invite back Katrina Owen after years away focusing on Exercism—a 100% free platform for code practice and mentorship with over 2500 exercises and 48 different language tracks. They talk to Katrina about how the platform has changed, the direction it’s taken, the backstory on the recently launched version 2, and how she plans to turn Exercism into a sustainable business. Also, what happens if that doesn’t work?!

The Changelog
Rebuilding Exercism from the ground up

The Changelog

Play Episode Listen Later Aug 8, 2018 73:46 Transcription Available


Adam and Jerod invite back Katrina Owen after years away focusing on Exercism—a 100% free platform for code practice and mentorship with over 2500 exercises and 48 different language tracks. They talk to Katrina about how the platform has changed, the direction it’s taken, the backstory on the recently launched version 2, and how she plans to turn Exercism into a sustainable business. Also, what happens if that doesn’t work?!

Cross Cutting Concerns Podcast
Podcast 085 - ColdFusion Panel (LIVE!)

Cross Cutting Concerns Podcast

Play Episode Listen Later Jun 3, 2018 28:41


The first LIVE episode of Cross Cutting Concerns, recorded at the Into the Box conference with a panel of guests. This episode is sponsored by Smartsheet. The panel: Rakshith Naresh (Senior Product Manager at Adobe) is on Twitter. Mark Drew (CMD) is on Twitter Brad Wood (Ortus Solutions) is on Twitter and can be summoned "like Beetlejuice" by just saying "ColdFusion" on Twitter. Luis Majano (Ortus Solutions) is on Twitter. Show Notes: Coldbox CommandBox Event: ColdFusion Summit Shop.com was mentioned Layer 7 was mentioned, I believe that is part of a different company now. ColdFusion API Manager and ColdFusion Server Monitor were mentioned (along with Performance Monitoring Toolset) Book: Learn Modern ColdFusion (CFML) in 100 Minutes Training: Learn CF in a Week Exercism.io Course on CFML CFML Slack Team ColdFusion Community Portal ColdFusion Fiddle Try ColdFusion ForgeBox which is the "npm" of ColdFusion. A couple of the odd named packages were CommandBox Chuck Norris and DumbPassword CFDocs CFScript.me Want to be on the next episode? You can! All you need is the willingness to talk about something technical. Music is by Joe Ferg, check out more music on JoeFerg.com!

Spotlight
Exercism and 99 Bottles of OOP

Spotlight

Play Episode Listen Later Dec 9, 2016 26:09 Transcription Available


Welcome to the first Spotlight series recorded at OSCON London 2016. Jerod talked with Katrina Owen, an accomplished speaker, creator of the excellent coding practice and feedback site, Exercism.io, and the co-author of 99 Bottles of OOP. Have you ever heard the story of how Katrina went from anonymous developer to sharing a byline with Sandi Metz? She shared all the details during this face-to-face chat.

Changelog Master Feed
Exercism and 99 Bottles of OOP (Spotlight #2)

Changelog Master Feed

Play Episode Listen Later Dec 9, 2016 26:09 Transcription Available


Welcome to the first Spotlight series recorded at OSCON London 2016. Jerod talked with Katrina Owen, an accomplished speaker, creator of the excellent coding practice and feedback site, Exercism.io, and the co-author of 99 Bottles of OOP. Have you ever heard the story of how Katrina went from anonymous developer to sharing a byline with Sandi Metz? She shared all the details during this face-to-face chat.

The Frontside Podcast
044: Women in Tech and SheNomads with LaToya Allen

The Frontside Podcast

Play Episode Listen Later Oct 20, 2016 40:26


In this episode, LaToya Allen, developer at Big Cartel and founder of SheNomads talks about apprenticeship and mentoring, finding community while working remotely, how companies can be more inclusive for hiring women and people of diverse backgrounds in technology, and avoiding burnout and maintaining balance. LaToya Allen: @HashtagLaToya | latoya@shenomads.com Links: CodeNewbie Ep. 34: Newbie Story: LaToya Allen The SheNomads Podcast Garage Cowork (Polanco) Dear Tech Companies: Focus on Diversity, Not Foosball The SheNomads Job Board Women in Tech Wellness: Chicago Resources: Practical Object-Oriented Design in Ruby by Sandi Metz Exercism.io The CodeNewbie Twitter Chat Transcript: BRANDON: Hello everybody and welcome to Episode 44 of the Frontside Podcast. I'm your host Brandon Hays and I help run the Frontside. STEPHANIE: Hello, I'm Stephanie Riera and I am a developer at the Frontside. BRANDON: Awesome. And we have a special guest today, LaToya Allen. So you're a developer at Big Cartel, is that right? LATOYA: That is correct, yes. BRANDON: Cool. We wanted to talk a little with you today about your day job, your work with SheNomads, your recent blog post about inclusivity and how you balance all that stuff for people. We wanted to start, if we could, by having you introduce yourself for the listeners that don't already know you. LATOYA: Sure, my name is LaToya. I am a software developer at Big Cartel and I'm also the founder of SheNomads. BRANDON: Cool. We actually listen to your podcast and found out some cool stuff about you. One of the things is you used to tend bar. Would you be okay telling us a little bit about your story about how you got into software, what you did before that, and why you're doing this now? LATOYA: Absolutely. I was bartending in Chicago, trying to figure out what I wanted to do with the rest of my life because I knew that it wasn't staying up until 5 in the morning, making Martinis for folks even though it was fun and I do appreciate that time of my life. One day my yoga class got cancelled and I needed something to do. I ended up stumbling upon some coding tutorials and I really fell in love with it. I noticed that hours had gone by, I wasn't bored, I really felt engaged, and it didn't really feel like work to me. It felt like something that would be a cool hobby. I, like many people at that time, felt that you needed a college degree to become a software developer, so I really looked at it as more of a hobby. I started going to different meet-ups in the city and I discovered that wasn't true. And I was lucky enough to find people that are willing to help teach me when I was very early in my career. BRANDON: Cool. And I guess the rest is history now, right? You've had a couple of jobs since then and you went through an apprenticeship program and after the apprenticeship program, you're developing lots of different kinds of software. Are there any software projects you're working on now? I know I met you at Ember Conf but you're doing less of that now. Are there any software projects now that you're fun and exciting, like what languages are you using? LATOYA: At work, we are primarily a Rails app. I've been doing a lot of work in Rails, a little bit of JavaScript. I had the opportunity to learn Ember when I came on to Big Cartel. So, that was pretty cool. As far as side projects, I started an open-source project for SheNomads as a way to help teach folks how to do simple things like create a pull request in GitHub or just the basics of working with Rails. But SheNomads has become an entirely different thing since I started that, so I don't do any coding outside of work right now, unfortunately. [Laughs] STEPHANIE: How long was your apprenticeship? LATOYA: I was an apprentice at 8th Light in Chicago and I was there for one year as an apprentice. STEPHANIE: And is that where you learned Ember? LATOYA: No, when I left 8th Light, I landed a job working in FinTech for 6 months. And then after that, I went to Big Cartel and Big Cartel is actually where I learned Ember. STEPHANIE: What was your apprenticeship experience like? Do you have any advice or anything that you think really helped you along the way? LATOYA: I got to learn from some pretty great people such as Mike Ebert, Colin Jones, just off the top of my head. I learned from a ton of people when I was there. Ginny Hendry was also very helpful. Basically at 8th Light, they really focused on test-driven development and pair programming which test-driven development is a lot of fun and tests are great, that they're very in these days. I got to learn how to test-drive applications and languages such as Ruby, JavaScript, Clojure which is probably my favorite language that I'd never get to work in because it's not popular enough, I guess. I think I did a little bit of REST while I was there as well. And then I was working in frameworks such as Sinatra, Rails, and I worked in ClojureScript as well. STEPHANIE: Nice. I also wanted to ask if during this journey of becoming an engineer, were there any experiences that helped shape the way that you think today? And I'm asking this because I'm curious to find out where the 'She' in SheNomads comes from. And why not just make this a very general digital nomad type thing? Why was there a focus on being a woman? LATOYA: Because I am one. [Laughs] I'm a woman. I think that people tend to think in gender in terms of their own. So for me, it was just fair enough for all to come up with the name SheNomads. STEPHANIE: Gotcha! Obviously, there is a difference, it seems like, in becoming an engineer when it comes to being a woman. I've participated in a lot of events and usually I have women come up to me afterwards and talk to me. And they usually tell me their experiences and how they know that they haven't been participating. They know they haven't been going to hackathons and other events. And I asked them why and 90% of the time, their answer is they're just intimidated. They don't want to be the person raising their hand in a room full of guy developers and hoodies. They don't want to be seen as the amateur or the person that doesn't know. So, I wanted to see how your experience was if it was similar to that or if it was any different and see if there is anything you learned along the way. LATOYA: Look, we all know that tech has problems. I live at two different intersections in the majority of people that are in tech being I am both a woman and I am black. Being a woman – not just a woman, but being a woman of color in tech does come with its challenges. For me personally, I have never been one to shy away from raising my hand in a room or speaking up in a room. But I think that tech in a lot of ways did dole that part of my personality because I wasn't being listened to. I wasn't being considered. For example, there are plenty of times where I've been in a meeting, I've been showing my code and someone else takes credit for my work. And I just don't even bother to say anything because honestly, it's like, "What's the point?" At that point, you just find another job. Or I've been in situations where I say something to someone about the code or about a test or about a change that we should consider and then someone who happens to be male turns around and says basically the exact same thing. And while no one really reacted to what I said, people say, "Oh, that's such a great idea." I have also been in meetings where people don't even look me in the eye for the entire meeting which is very awkward when you're sitting in a room for an hour and you're the only woman in that room. And the person leading the meeting can't even bother to look you in the face. So I think that it's been an interesting journey. [Laughs] And don't get me wrong, there've definitely been a lot of positives with it. But to your question, those are some of the things that I've experienced and it certainly made me aware of how women or people who live at different intersections of the majority of folks in tech get treated and how we need to do better. STEPHANIE: Yeah. I think you and I are kind of outliers. I'm also a woman of color, I would consider, I'm a Latina. Nothing really stopped me from attending meet-ups and hackathons and I've always been very straightforward about what I know and what I don't know. So, that's never really been an issue for me but usually, I'd be probably one of two women out of a room of like 40 people. It's not very comforting. So that's why I'm wondering is there anything for women that aren't like ourselves, do you have any advice for women and for companies that want to be more inclusive, what can they do, how can they be more proactive or get over that fear or intimidation? LATOYA: Absolutely. So, one of the first things that I tell them to do when they are thinking about getting into tech is find communities that will be supportive of you because there weren't a lot of boot camps because Chicago was full of meet-ups. And because there were meet-ups like Chicago Women Developers, I was able to find that community [inaudible] and women were very forthright in sharing their experiences, both good and bad in tech. So, it definitely helped to prepare me a bit. [Laughs] But also when I had bad days, when I had times where I knew I wasn't being treated equally, it was easy to say, "You know what? I'm going to a meet-up after work because I can knock with you people." So, definitely finding a community. STEPHANIE: Sometimes, I feel like those negative experiences where you feel like you're not being respected or you're not being treated equally, at least for myself, that was like adding wood to the fire. That just made me want to succeed more. It made me want to become a developer. It just made me more passionate. I guess for other people, it can have the opposite effect. But I feel like the best revenge is to have them see you succeed. BRANDON: I wanted to ask kind of a follow-on question there about SheNomads. You talk about finding community being really important and you were lucky because you're in Chicago. But now, it seems like you're doing more travelling and there are other people that travel a lot. Is that where you found kind of a hole, the people that travel sort of nomadically? It can be difficult for those people to find a community. Is that where that comes from? Or what was the genesis of SheNomads? LATOYA: SheNomads started because when I landed the job at Bog Cartel, I knew – and I discussed this when I was interviewing with them as well, so it's very transparent. I knew for me working remote from home, that working remote from wherever I wanted home to be within reason as long as there's WiFi and espresso, I promise you I can work from there. [Laughs] So, I started my podcast actually because I had no idea how to work remotely. I had no idea how to pack a suitcase for three months and I didn't know how to find good co-working spaces. I didn't want to feel isolated while I was in the road. So, it kind of evolved. I started a Facebook group for it as well and that was very helpful because for example, I was in Tel Aviv, I was there for two weeks and I didn't know anyone and I really wanted to meet other women who worked in tech. And through the Facebook group, I was able to meet someone who ended up taking me to a co-working space that's sponsored by the government there with free food, free coffee, free WiFi where a lot of other people who happen to be digital nomads who work in tech were as well. For me, it ended up being this thing. It ended up being like an international community but that wasn't the intent when I started it. It's just like a lucky coincidence. BRANDON: And so now, you're putting a retreat together around that. Can you tell us a little bit about that? LATOYA: Yes. After I started the podcast, I started talking to them about their experiences. I knew that I wanted to really dive into it. I wanted to find a digital nomad retreat. But the thing is that the ones that I was coming across were very reflective as the tech industry as they are now. They're very young, people working for like 18-hour days and drinking beer for the rest of the time. And I looked at the attendees and it's like, "Okay, you're all men." [Laughs] And I didn't really want this thing for a week or two in a house full of drunk 22-year old dudes. It's just not for me. BRANDON: You don't want to stay in the front house, huh? LATOYA: Yeah. For me, I like my sleep, I like my yoga, I really like doing things like journaling and standing a long time. And I also enjoy what I do. So for me, I was like, "Okay, I want to be somewhere beautiful where I can have free WiFi, where I can practice yoga, and where I can talk to other people who want to work remotely but maybe want to explore a city." So I was working for Mexico City and I happen to have found the most beautiful house just south of the park. And I was speaking to one of my friends who was a yoga instructor and she said, "Yes, I will come. I will lead morning yoga. I will lead candlelight yoga at night. We could do some [inaudible] actions of people who are into it." And then I had been working in a co-working space in Mexico City and I told them about my idea. They offer to sponsor 30 hours for each attendee and that's Garage Cowork, it's in Polanco which is a gorgeous neighborhood in Mexico City. And then I used to work with a friend who's now the CTO of MealSharing.com. He said, "Hey, first of all I wish I could be at this retreat." But since it's women only, we talked about MealSharing.com sponsoring an authentic Mexican cooked meal for us. So, that's how they got involved. BRANDON: It sounds like things kind of fell together in a way that actually is going to create an experience that, I have to imagine, you're happy with the idea of. LATOYA: Absolutely. I'm very excited because if this already existed, someone else will be getting my money. But since it didn't, I just said let's make this happen and I feel very lucky that it all just kind of come together very organically. STEPHANIE: You recently had an article on Medium. I wanted to ask about that. What made you feel compelled to write this article about how companies approach what they write on their careers page? LATOYA: I had been talking to a friend who started tech a little after I did. And we had both attended the Sandi Metz POODR workshop together which is amazing. If anyone listening to this is a Ruby dove and you want to up your skills, I would highly recommend it. So we attended that workshop together, it was a great experience. I keep talking to women who are significantly underpaid, underappreciated, and are having all of these problems in tech. And so, I was just lying in bed on a Sunday night, working at careers pages and I was thinking about reasons that women leave tech because they keep coming in but it almost seems as if we're losing them too quickly. And I was thinking about these reasons why. I was looking at careers pages and it dawned on me that the careers pages of these companies were not very inviting and that I would not want to work on the companies based on those careers pages. Even though some of them, I knew people that worked at them and I knew that they were all about diversity and inclusion and they were paying women practically, if not the same, as what they're paying men. And I knew that they were positive work environments, so I knew that people were learning from them but the way the companies were presenting themselves was so different. So I thought, "If I was applying for jobs," and I'm not, I'm very happy at Big Cartel and I'm very happy with what I'm doing with SheNomads but if I was, I wouldn't apply at their company and this is why. And I just sat there that Sunday night in my bed, flipping through careers pages and I just noticed a common theme and it was that they weren't very inviting. They seemed to think that alcohol was a bigger selling point to the people they wanted to attract than things like maternity or paternity leave. Their pictures looked like they were trying to throw a party or something. I don't know. It was just – I was very surprised. STEPHANIE: Yeah, it seems to be the popular thing right now like this whole Silicon Valley vibe culture type thing. But it's interesting. I have two friends that are both recruiters for tech companies and mainly trying to find developers here in Austin. And last weekend, we were having the same conversation about how they don't like to admit it, but they have seen over ageism and just general discrimination. How they have seen countless times people that were definitely qualified for the position but because – I think one of their examples was a young lady but she was Indian. And this company that was looking, they were all white guys and they had rejected her because she wasn't "culture fit". But I find that very interesting because I think, as a company, you would actually benefit from having people of all kinds of backgrounds, someone who's 20 years old to someone who's in their 50's or 60's. They must have different sets of knowledge and experiences that could benefit the grander picture. LATOYA: You would think so, you think companies would think that way but unfortunately, a lot of people don't. For starters, if you are a person who isn't interested in working with women or people of color, you're going to look at a careers page in the opposite way that I would. You don't want to work with people over the age of 35, people with brown skin, people who identifies varying genders. Those careers pages are going to attract you. STEPHANIE: Right. LATOYA: Which is unfortunate but that's just the world that we live in right now, and I have had people say this to me as someone who is a woman and someone who is a person of color. But a lot of companies, unfortunately, once they have a base of all straight cisgendered males, for them it becomes a liability to bring in women or people that live at other intersections because they have to worry about things like the woman getting hit on because she's the only woman that these 30 or 40 men can look at all day which is ridiculous, I think. But at this point in time, sometimes they just say it's a culture fit thing when really this is a law-suing happen thing. BRANDON: I saw this rag regressive 1940's thing about a woman in the workplace. [Laughter] BRANDON: And it's both hilarious and really sad because that actually sort of regressive feeling has just kind of morphed into that law suit type of thing. It's the same exact thing of just like breaking that sort of mono-culture and people are fearful of it because they don't know what the consequences are going to be. That cost-benefit calculation doesn't happen because a lot of people in tech haven't experienced what a diverse workplace is and does and the benefits of bringing people from different backgrounds would care about different things. And so, I'm curious. We kind of talked a little bit and one of the things I want to ask you about we already kind of covered is why people don't do that. Why do people continue doing that if it's not that productive? I'm curious to see if there are things that you've seen companies do like what attracted you to Big Cartel and other companies that would be able to bring some people from different backgrounds? What are the things that companies do currently or you'd like to see them do that would make it more attractive and more inclusive? LATOYA: I think one thing right off the bat that I noticed about Big Cartel and one thing that I noticed about many companies in tech that I'm really excited about is that they put people first. And I think that when you operate from that standpoint, you're not going to have problems that come with creating a diverse or inclusive workspace. You're not going to have women wanting to leave because you're treating them like human beings. So, that's first and foremost. I think some companies really care about the people that work for them. They really care about their client base, their user base. So, for me personally, I always recommend that if people aren't happy at their current situations and they want to find something more inclusive, look for companies that put people first. That's the first thing. I think the benefits that they offer and the way that they talk about their benefits are really important. I have no intention of being a mother; there are lots of great mothers out there and it's a lot of work in the world's best [inaudible] in my mind, anyway. I also wouldn't ever interview with a company that didn't have a good maternity leave policy. It's one of the things that I look for upfront. So, even just putting your maternity leave policy and paternity leave, if you have it, on your careers page can be a really big seller. I think starting early on, once you have your core team in place, if you haven't already had women or people of color or someone who isn't like you, this may be a good time to stop and think about why that is and what you can do to pull in diverse candidates. And there's also reaching out to communities that do have them, like SheNomads is one example of many communities that exists. There are also bigger more established communities like Girl Develop It, for example. Reach out with them, host a couple of meet-ups at your space, if you have it. If you don't, figure out a way to work with them. BRANDON: Right. So you're saying if you make it a top-of-mind goal, you will find ways to reach out because there are people out there looking. LATOYA: Yeah. BRANDON: But they may just not be in your immediate vicinity. In my experience, that's the actual problem. The problem is that it's not in my proximity to see and know these people that are involved in these communities. And so, connecting into those communities naturally, organically, and through effort is a way that I've actually seen people grow that. That's how you can kind of go from saying 'I care about diversity' to actually growing a diverse and inclusive workplace. LATOYA: Absolutely. I think another thing that folks that can do is have a remote position. You get a remote culture going if it's something that you're comfortable with. I understand not everyone wants to work from home and not every company will do well having remote positions open. But if it's something you're open to, that is a great way to do it because you might be living in an area where all the people are like you. So, you're going to have trouble getting someone to drive in a car. So, there are two other ways that I was thinking that people can attract diverse candidates. I'm actually launching a Job Board for SheNomads. I got to the point -- it's actually once the article came out on Medium that a lot of people were emailing me wanting to know how they could find jobs and a lot of companies were emailing me wondering how they could find diverse candidates and like what they could do to be more welcoming to other communities. So I said, "You know what I'm going to do? I'm putting together a job board." BRANDON: So where is the job board? LATOYA: The job board you can find on SheNomads.com. BRANDON: Cool. There are a lot of things – and this is really what I wanted to drill into was the blog post helps kind of point at the problem, "Hey, your careers page is sending messages that are actively turning away people that you want working for you. You say you want a diverse workplace but it's so far down the list of your actual priorities, or at least whoever it is that's running your careers page, that you're actively turning people away that you don't even realize you're losing people through that funnel that are bouncing out before you even have a chance to meet them and know them and know what they can bring to you." And so, that's actually a really big deal and a big problem in tech. I also appreciate your jumping in and that we have some sort of concrete things a person can do. Get involved with GDI or with Women Who Code. We had a thing here in Austin and I ran the local Ember meet-up for several years and it's a lot of work and it was really challenging. One thing we noticed was that there were only two or so women, on the average, at a meet-up of 30 people. And I recognized it as a problem but I didn't feel like there was anything I could do about it. And so, I handed the reins of running the meet-up over to a group of people that included the women. And sure enough, the women were like, "You know, we might be able to do something about this." Stephanie actually got involved with this, and they held an event for women and it's changed the makeup of that meet-up significantly. You can have an impact on this stuff. You just, sometimes, have to step out and think differently about the problem. LATOYA: Yes. BRANDON: I'd like to shift gears a little bit and talk about – you're involved in so much stuff. Running SheNomads, running retreats, you have a full-time job, you're traveling a bunch and balancing all of that stuff, I have to imagine, is really tricky. And I'd like to dive into that and have you kind of talk about like do you ever get burned out? Do you feel like giving up? What do you do to manage that? Do you have preventative maintenance that you do? What is it that you do to try to keep all that together? LATOYA: One thing that I find very interesting is you asked me specifically about burn out because burn out is something that I recently experienced. I am not good at knowing that I'm setting myself up for burn out. I'm not even good at knowing that I'm in burn out until I'm there. For the most part, I think that I've gotten better as my tech career has evolved. So for example, when I first started, I was working a lot of hours. There were days when I had to be in the office at 7 in the morning because I was mentoring people who were in London even though I was in Chicago. So for me, there is no more of that. [Laughs] One thing that I really like about working at Big Cartel is that most of the team is on the West Coast, so I get to do things like sleep and if I want, I can go to the gym, I can run all of my errands before I even start my work days. Once I start my work day, all of I have to do is worry about work as opposed to waking up and not having time to do nice things for myself, not having time to run errands and I'm starting my day having all of these stuff on my mind. For me personally, working remotely allowed me to become a more balanced person as well. I don't like riding trains with crowded people. When I was working downtown, it would take me an hour to get to work every morning. If I have to go downtown in the middle of the day, it might take me like 20 minutes or half an hour just because there's not as many people running around. Also for me, I didn't particularly like going to the grocery store. At times, you can go to the grocery store if you have a 9 to 5 job. If I realize that I don't have anything for dinner, I can just tell my pair, "Hey, do you mind if we take a 20 minute break?" And then I can go to the grocery store and get whatever I want, knowing that I'm the only person at the grocery store. I mean, it gets a little bit to my inner introvert but I know myself well enough. Let's see here. Practicing yoga is something that's very important to me and taking walks as breaks is something that's very important to me. I think when you love what you do, it can be hard to take breaks. So, it's always nice to be pair programming with someone and have them say, "We haven't taken a break in a while." I find that when I work on my own, I don't take as many breaks. When I take a break, I pop my yoga mats always open. So, I'll do yoga for 10 minutes or take a nice little walk outside or just get away from my computer for a while. BRANDON: It sounds like working remotely kind of gave you the flexibility you need to implement your own self-care regimen, the one that works for you. LATOYA: Yes. And I would not have even thought to implement this regimen had it have not been for working remote, I think, because it's not as easy. It's bad enough being one woman amongst a hundred men but then you're that cliché woman with a pink yoga mat walking around the office trying to find some space. BRANDON: I actually did use to work in an office that had a yoga studio on site. LATOYA: That is so nice. BRANDON: Things like that do exist but I have to imagine that's about as uncommon as it gets. LATOYA: Absolutely. I had the idea of starting a meet up which I started in Chicago called Women in Tech Wellness. Basically, we get together and we practice yoga for an hour. And then after that, there's a little bit of networking. Luckily for me, Braintree is sponsoring the event which is so great because it allows us to keep it free. I think having free and low cost events in tech are really important because there are people that are trying to figure out how to break into this and if they have to spend $10 or $15 to go to a meet-up, they're not going to go. Also, it's nice to go to a meet-up where you might be stressed when you show up because you just left work but you know in an hour, you're going to be feeling really good. Plus the Braintree office in Chicago has this amazing atrium where we do the yoga. So when you're lying on your mat, you're looking straight up into the sky and you see plants and you see all of these amazing stuff. It's just a great place to do yoga. So, thank you Braintree. [Laughs] BRANDON: I think that's really cool. I have one question, though. Do you ever have the ironic circumstance of the things that you create to help you and other people find balance wind up actually contributing to your overall sense of being overwhelmed? LATOYA: Oh, absolutely. There's only 24 hours in a day and right now, I am all of SheNomads at SheNomads party of one. [Laughs] I would love to get to the point where I can afford to hire a couple of people just to help even if it's part time. So, absolutely. Doing a podcast is a lot of work, booking guests is a lot of work. I would say that organizing the meet-ups is fairly easy just because I'm lucky enough to have people that wanted to step in and help there. But yeah, I think having a few things on your plate other than work is always going to contribute to a little bit of imbalance. BRANDON: Stepping back and looking at the arc, you haven't been in tech for a million years but you've been in it long enough to start drawing some themes through it. If you look at your career like where it's been and approximately where it's going, are you starting to feel like there are some themes to the stuff that you do and some themes that are kind of common threads in it? LATOYA: I can tell you some themes in common threads. Yes, for my personal tech career. For me, I really care about code and I really care about people, so I'm glad that I was able to early on learn clean code and learn how to refactor and learn test-driven developments. First job I had at 8th Light taught me all those things. I think for me, that is a theme that will be throughout my career. Test-driven development, who knows, 10 years from now there could be a better way to write clean code, but for now, it's the best way I know how. And finding community, even though I am absolutely happy with where I'm working. Big Cartel does a great job at creating an inclusive space, but still I like being a part of a tech community. I know that's not for everyone but it's something that I think I will continue to do. BRANDON: From just my casual place of observation of seeing what you do, definitely finding and creating the communities that you want to see exist certainly seems to be a theme. And I think it's really cool that you do the SheNomads stuff. I think it's really cool that you run that podcast. For a person that hasn't been doing this for 15 years, I think it's really awesome that you found a community early on. It's something that certainly has accelerated my journey as a developer. I haven't been a developer forever, either. So I appreciate seeing you do all that stuff. I think it's a really good example for other people that getting involved can benefit everybody and you can have an impact in ways that are sort of uniquely yours. I mean, certainly the stuff that you do is sort of unique to you and your perspective and I think that's really cool because it winds up benefiting a lot of other people. LATOYA: Thank you. I wish I would have said that as my answer. [Laughter] BRANDON: It's sometimes easier to see from the outside in, even as a casual observer. STEPHANIE: I did want to make a comment about balance. That's something that's very important for me. It's something that I've been trying to implement in my daily life. I recently started going to the gym and I try to work out either early in the morning or in the afternoon after work. Sometimes, I realize that even when you try to do something, you still don't accomplish what you're trying to do like keeping that balance. I started this about two months ago. And last week, I realized that I was not in balance at all. I spent Monday, Tuesday, and Wednesday really focused on trying to learn certain things. I was going over Clojure actions and trying to destructure and get rid of components and change the actions from where they originally were. I'm a junior developer, so I feel like if you are an apprentice, it's really hard to not be in this state of overdrive of like you really want to accomplish things. You really want to learn as much as you can and just be a sponge and absorb everything. But if you're spending eight hours, give or take, going over these things, at the end of the day, I just feel sometimes my brain is just like it's done. I can't even formulate sentences. I can't function. I just get home and I want to keep working on this but I just literally can't. I think on Wednesday, I just had a horrible headache and I got home and I was like, "I'm just going to lay down for a little bit." Laying down turned into a 3-hour nap and I will go [inaudible] 8:00 and I felt so much better. And then on Thursday, when I came in, everything just made sense to me. All of the problems and everything that didn't make sense before made sense. And I hadn't reviewed, I hadn't done anything, all I did was I got a nap. But I feel like there's definitely this struggle when you are wanting to achieve and prove yourself and to get to this next level, it's really important to try to remind yourself to give yourself breaks even during the work day because if you can't continue, if you're at this point of mental fatigue, it doesn't matter how much longer you're sitting in front of the computer, trying to read about it in the documentation, it's just not going to do anything. So, I wanted to ask if perhaps you ever had those moments of frustration especially in the beginning as you're trying to learn all of these difficult concepts. LATOYA: For me, yes. I love taking naps. I consider myself a professional. Luckily, Big Cartel is very flexible, so if I feel like I need a nap instead of lunch, I might take a 2-hour lunch break because I'm taking a nap. And for me, there's just something about resetting my brain through sleep that allows me to be more productive in a way that's just walking away from my computer and doing something else. Also, I spent two months this summer working abroad. So, I worked from the UK, Israel, Spain, Portugal, and Norway. So I worked abroad for two months and because of the time difference, I would wake up in the morning and work for three hours and then I would have all day to do whatever I wanted which primarily meant being a tourist in some of the most beautiful places, I've been very lucky to place my eyes upon. And then I would do another three or four hours pair programming at night and I think that I was able to get more done and I had a greater sense of clarity because I had such a big break. I was only working for three or four hours and that's it and you're taking three or four break because no one else is awake yet. It's almost as if you're working two separate days. I think I would like to go back sometime soon, actually, and do that again because I'm not getting up at three in the morning here to work for three hours and then take a break. STEPHANIE: Definitely. And that makes sense. It makes sense to stimulate your brain in a different way. Looking at the beautiful buildings and reading about the history and walking around and being outside. Even just a 30-minute break can just be just so wonderful and be like a refresher for the brain. Nice. Before we go, I wanted to ask if you have any shout outs. LATOYA: I do. I will give you three resources that I tell everyone who's a junior developer, where they should look in to break into tech and what they should look for. Number one, I kind of already mentioned a little bit, but Sandi Metz has a great book called POODR. She also has a POODR workshop. If you can go to that, I highly recommend it. I know that she offers scholarships for that as well, so you can apply. Number two would Katrina Owens' Exercism. It's a great way to learn how to code. It's also an open-source project. So not only can you go to exercism.io and pick a programming language and work with people on teams to learn how to code. But if you want to contribute to the open-source project, you can. And the third thing would be the CodeNewbie twitter chat. I love it. I really need to get my stuff together and be there on Wednesday nights. I believe it's Wednesday at 8 or 9 Central – don't quote me on that. But those are the big three things I like to shout out, even though you only asked for one. [Laughs] STEPHANIE: That's perfectly fine. I was going to ask you anyway if there were any open-source projects or programs that you are involved in. LATOYA: Yes, I have been involved in exercism in the past. I think I might have mentioned this, but I tried doing open-source project with SheNomads but I would need someone who's like at least a mid-level developer to come in and help out all of the juniors and the people that are trying to get started to learn how to code because my time is very thin these days and I'm trying to maintain some level of balance. STEPHANIE: Right. And that's a huge challenge too. So, lots of time management and just time is a resource itself. BRANDON: There are a lot of mid-level developers out there that are looking for, "Hey, how can I contribute to open-source?" So, it sounds like you have a project that if people out there are looking for a way to contribute to something meaningful, then you have stuff that you could certainly use help on. LATOYA: Absolutely. If you want to contribute, you can email me or tweet me, find me on Facebook, do whatever, and I will happily add you as a contributor to the project. BRANDON: That actually is the last question I want to ask. How do people get a hold of you to volunteer for this or ask additional questions or find out more about the retreat? LATOYA: The three best ways are number one, you can go to SheNomads.com and if you wanted to find out about the retreat or the job board, there are contact forms there. Number two, I am always on Twitter. You can tweet me at either accounts. My personal account is @HashtagLaToya and then I have a SheNomads account, so it's @SheNomads for that. And then the third way is email. My email is LaToya@SheNomads.com and I always am up for answering any questions you may have. BRANDON: Awesome. LaToya, thank you so much for coming. I really appreciate you sharing your experiences with us and you've certainly learned some unique things. I think your take on self-care actually is really sharp and something that people don't think were talked about enough. And it probably [inaudible] as a developer in lot of ways and I think people can learn a lot from that. I wanted to thank everybody else that's listening to this. I'm Brandon Hays. I'm on Twitter also @tehviking. We are @thefrontside on Twitter. And Stephanie, you are also on Twitter, is that right? STEPHANIE: Of course. I'm Stephanie Riera and I'm @stefriera. And thank you so much, LaToya. It was a pleasure talking to you. BRANDON: Absolutely. Thanks everybody and thank you, LaToya. We will see you all next time.

Go Time
Programming Practices, Exercism, Open Source

Go Time

Play Episode Listen Later Oct 6, 2016 76:15 Transcription Available


Katrina Owen joined the show to explore ideas about open source, code review, learning to program, becoming a savvy programmer, mentoring, projects she’s working on, and also her very prominent and amazing code learning tool Exercism.

Go Time
Programming Practices, Exercism, Open Source

Go Time

Play Episode Listen Later Oct 6, 2016 76:15


Katrina Owen joined the show to explore ideas about open source, code review, learning to program, becoming a savvy programmer, mentoring, projects she’s working on, and also her very prominent and amazing code learning tool Exercism.

Changelog Master Feed
Programming Practices, Exercism, Open Source (Go Time #19)

Changelog Master Feed

Play Episode Listen Later Oct 6, 2016 76:15 Transcription Available


Katrina Owen joined the show to explore ideas about open source, code review, learning to program, becoming a savvy programmer, mentoring, projects she’s working on, and also her very prominent and amazing code learning tool Exercism.

Functional Geekery
Functional Geekery Episode 59 – Eric Bailey

Functional Geekery

Play Episode Listen Later Jul 19, 2016 59:13


In this episode I talk with Eric Bailey. We talk his entry into functional programming; work with Scheme, Clojure, Haskell, and LFE; getting into the LFE community; interop story with other BEAM languages; Exercism.io; and much more.

The Bike Shed
65: Free as in Puppy (Katrina Owen)

The Bike Shed

Play Episode Listen Later May 25, 2016 45:52


While at RailsConf, we talk with Katrina Owen about finding metaphors for software development, the successes and mistakes of Exercism.io, and the benefits of providing code reviews. Katrina Owen Katrina's conference talks Make the change easy, then make the easy change Skunk Works by Nickolas Means Factory, Workshop, Stage by Sarah Mei The Product Design Sprint Exercism.io Exercism GitHub Organization

Test & Code - Python Testing & Development
17: The Travis Foundation

Test & Code - Python Testing & Development

Play Episode Listen Later Apr 11, 2016 26:37


The Travis Foundation. Interview with Laura Gaetano Links and things we talked about: Travis Foundation (http://foundation.travis-ci.org) Open Source Grants (http://foundation.travis-ci.org/grants/) The Foundation's support of Katrina Owen from exercism.io (http://foundation.travis-ci.org/2016/01/25/exercism/) Exercism.io (http://Exercism.io) Rails Girls summer of code (http://railsgirlssummerofcode.org/campaign/) Diversity Tickets (http://diversitytickets.org) Conference support Speakerinnen (http://speakerinnen.org) Prompt (http://mhprompt.org/)

Conversas em Código
Ep. 2 - Wax On Wax Off

Conversas em Código

Play Episode Listen Later Feb 1, 2016 35:29


Shownotes Exercism Code Kata Jim Weirich, Gilded Rose Corey Haynes, Roman Numerals Mob programming Ruby Koans The Changelog, Exercism.io with Katrina Owen Codewars HackerRank Project Euler Puzzlenode Advent of Code js1k vimgolf Quine ioccc Code Jam A.I. Challenge Robocode Star Fighters

Kodsnack
Kodsnack 137 - Mitt dagliga problem

Kodsnack

Play Episode Listen Later Jan 5, 2016 45:11


Programmeringsövningar och tips till nybörjare på programmering. Fredrik och Kristoffer snackar att koppla bort på semestern och mer om övningar för programmerare. Vi funderar över upprepningens värde för lärandet och undrar om inte hela utvecklarvärlden byggt upp en missriktad rädsla för upprepning. Har ni fler förslag på bra dagliga problem? Fortsätt skicka in dem! Ludvig Gislason hörde av sig med två tips: “Hackerrank har gjort lite sport av det och där finns tävlingar, ranking osv men framförallt har de en stor drös problem att lösa och stöd för att du laddar upp dina lösningar till dem i en mängd olika språk. För mig som gillar att knacka kod lite som andra tycker om att spela tvspel var det här upptäckandet en riktigt trevlig överraskning. Jag upptäckte sidan genom en inspelad livesession på youtube av en användare som kallar sig SnapDragon. Exercism.io har ett antal problemset utformade som test suites i ett 20-tal språk som du ska få gröna. De har byggt ett CLI-verktyg runt tjänsten för att hantera problem och lösningar där du authar via github. Användare kan sedan “nitpicka” varandras lösningar och komma med förslag så att man kan iterera över sin lösning och submitta eventuella förbättringar. Jag har bara gjort ett par stycken men jag gillar verkligen initiativet och bredden." Fredrik återupptäcker charmen med dataimport - i PHP dessutom. Hur många procent av all kod som skrivs handlar om import och export (och lite massage på vägen) av data? Har det bidragit till uppskattningen av funktionell programmering? Blir alla problem mer lätthanterade av att omformuleras som datamanipulering? Som andra huvudämne snackar vi utifrån lyssnares frågor om utmaningarna kring att komma igång med programmering. Det viktiga är inte vilket språk eller vilka verktyg man väljer utan att man börjar göra saker. Kommer man på att något inte passar en upptäcker man det med tiden, och då går det utmärkt att växla till något annat språk eller andra verktyg. Vi undrar om Javascript är ett bra språk att börja med, för att det är populärt och användbart men kanske ännu mer för att allt man behöver för att börja är en webbläsare och kanske ett textredigeringsprogram och båda delarna redan finns på varenda dator, och konstaterar att vi tyvärr inte har några tips på bra nybörjarböcker. Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @tobiashieta, @isallmaroon och @bjoreman på Twitter, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Länkar Advent of code Kodsnacks Github-repo för Advent of code-lösningar Kodsnack 136 - avsnittet där Kristoffer efterlyste dagliga övningar för programmerare Kodkator Project Euler Hackerrank - tips från Ludvig Gislason Exercism - tips från Ludvig Gislason Breakout Ecmascript 2015 En liten sida på Kodsnack för kod - inte bara Advent of code Melin - Joacim Melin Björeman // Melin Macpro Exempelskriptet för import av markdownfiler till Wordpress Varför folk som bryr sig om språk inte gillar PHP PHP-dokumentationen Kodcentrum Scratch Peek och poke Squeak Professional Javascript, av Nicholas Zakas. Fredrik hade tydligen första upplagan, den andra var den som började få för mycket att omfamna Javascript the good parts André Lamothe SICP - Structure and interpretation of computer programs The little schemer Metaprogrammering Gerald Sussman Richard Feynman Debug 76 med Melton och Ganatra Titlar Jag kan inte riktigt koppla bort det Daglig övning för programmering Man går alltid vidare till nästa sak Repetitionen som är kärnan i att lära sig Mitt dagliga problem Innan det kan bli ett dagligt problem Ren datamanipulering är ju ganska kul När jag använde PHP så var det väldigt länge sedan Stack overflow i dokumentationen Vad jag tror är ett bra sätt att börja Vem är det som vill börja programmera? En helt annan panik i rösten Tankar som man helst bara skjuter åt sidan Både roligt och begripligt Vilka verktyg ska jag köpa?

Concepts In Code
Ep 5: There's a Protocol for That

Concepts In Code

Play Episode Listen Later Aug 27, 2015 38:17


Exercism.io Marcus Zarra's Core Data Stack Guy English's Blog Post Brent Simmons' Blog Post Wooji Juice Blog Post Realm.io  

CppCast
Exercism.io and Refactoring with Richard Thomson

CppCast

Play Episode Listen Later Jun 24, 2015 71:55


Richard Thomson is a passionate software craftsman.  He has been writing C programs since 1980, C++ programs since 1993 and practicing test-driven development since 2006.  For 10 years, Richard was a Microsoft MVP for Direct3D, Microsoft's native C++ API for 3D graphics. His book on Direct3D is available as a free download. Prior to that, Richard was a technical reviewer of the OpenGL 1.0 specification. He is the director of the Computer Graphics Museum in Salt Lake City, Utah and currently works at DAZ 3D writing 3D modeling software in C++. Recently, Richard has added the C++ language track to exercism.io and has been working on adding refactoring tools to the clang tool suite. News C++11/14/17 Features In VS 2015 RTM Futures for C++11 at Facebook A Conclusion to Accelerating Your Build with Clang Live Webinar: A Tour of Modern C++ Richard Thomson @legalizeadulthd Richard Thomson's blog Richard Thomson's Github Links Utah C++ Users Group Create your own Refactoring Tool in Clang CppCon 2014: Matt Hargett "Common-sense acceleration of your MLOC build"  

Für's Protokoll
Training

Für's Protokoll

Play Episode Listen Later Feb 26, 2015 8:53


Thu, 26 Feb 2015 19:17:27 +0000 https://www.protokollcast.de/12-training c60ef8130df9250edc1b207a27ca2acb Exercsim, Superfish Nach einem kleinen Ausfall durch Krankheit kommt Folge 12 mit einem Hinweis auf Exercism daher und schaut kopfschüttelnd auf Lenovo. Die Links für diese Sendung: NK036 - Merry X-Mas - Nerdkunde exercism.io Katrina Owen E4E Developer Conf 2014 - Overkill by Katrina Owen - YouTube Bob by mkalmes in Objective-C Lenovo Is Breaking HTTPS Security on its Recent Laptops | Electronic Frontier Foundation Superfish, Komodia, PrivDog vulnerability test The World’s Email Encryption Software Relies on One Guy, Who is Going Broke - ProPublica 12 full Exercsim, Superfish no Marc Kalmes

Teahour
#35 - 和魏伦谈远程团队和远程工作

Teahour

Play Episode Listen Later Oct 20, 2013 101:38


本期由 Kevin Wang 主持,邀请到了魏伦, Bindo Labs 的 CTO 来谈远程团队的建设和远程工作的体会. 魏伦的联系方式: Blog Weibo Bindo Labs Fengche.co Redmine Trello Jira Toggl Planning Poker Intridea Campfire Rails Jobbers Tealeaf Academy 爱燃烧 比赛控 Exercism 寿司之神 Concentrate Special Guest: 魏伦.

The Changelog
Exercism.io and Crowd-Sourced Code Reviews

The Changelog

Play Episode Listen Later Oct 16, 2013 56:09 Transcription Available


Adam and Jerod talk with Katrina Owen about Exercism.io - an open source platform for crowd-sourced code reviews on daily practice problems. Practice problems are available in Ruby, Elixir, JavaScript, Python, Haskell, and Clojure, and other languages are in the pipeline.

Changelog Master Feed
Exercism.io and Crowd-Sourced Code Reviews (The Changelog #108)

Changelog Master Feed

Play Episode Listen Later Oct 16, 2013 56:09 Transcription Available


Adam and Jerod talk with Katrina Owen about Exercism.io - an open source platform for crowd-sourced code reviews on daily practice problems. Practice problems are available in Ruby, Elixir, JavaScript, Python, Haskell, and Clojure, and other languages are in the pipeline.