{"id":34845,"date":"2025-11-03T11:52:53","date_gmt":"2025-11-03T14:52:53","guid":{"rendered":"https:\/\/building.nu.com\/?p=34845"},"modified":"2025-11-03T11:53:44","modified_gmt":"2025-11-03T14:53:44","slug":"programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup","status":"publish","type":"post","link":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/","title":{"rendered":"Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">No Nu Engineering Meetup #15, a programa\u00e7\u00e3o funcional saiu do r\u00f3tulo de nicho e virou pr\u00e1tica concreta. <strong>Alberto Souza<\/strong>, Engenheiro de Software no Nubank e criador do ecossistema Dev + Eficiente, abriu a noite conectando paradigmas a decis\u00f5es de design do dia a dia.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Rafael Ferreira<\/strong>, Programador Python S\u00eanior, educador na Rocketseat e fundador da iniciativa Programador Lhama, apresentou uma vis\u00e3o de arquitetura funcional que nasce na teoria e desemboca em c\u00f3digo test\u00e1vel e previs\u00edvel. <strong>Marcelo Arbore<\/strong>, Diretor de Engenharia na Oracle Brasil com mais de quinze anos de experi\u00eancia em nuvem h\u00edbrida e distribu\u00edda, trouxe um experimento unindo Clojure, Datomic e Oracle 23AI para busca vetorial e aplica\u00e7\u00f5es com dados multimodelo.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este post organiza as principais ideias e costura o tema com d\u00favidas recorrentes de quem olha para o Nubank e pensa que n\u00e3o se encaixaria por n\u00e3o conhecer linguagens funcionais.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Antes de tudo, uma boa pergunta<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Essa pergunta aparece com frequ\u00eancia em entrevistas, eventos e coment\u00e1rios de blog: &#8220;preciso saber Clojure para trabalhar no Nubank?&#8221;. A resposta \u00e9 t\u00e3o direta quanto a pergunta. N\u00e3o. O que buscamos \u00e9 curiosidade, fundamentos s\u00f3lidos e vontade de aprender.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A linguagem \u00e9 uma ferramenta a servi\u00e7o dos princ\u00edpios de engenharia que valorizamos. Essa discuss\u00e3o j\u00e1 apareceu em conversas com a comunidade, como na entrevista que Alex Miller deu ao Hammock Podcast.&nbsp; L\u00e1, ele falou de jornadas de aprendizado e posicionou as escolhas de linguagem como meios, n\u00e3o fins. Voc\u00ea pode explorar essa conversa <a href=\"https:\/\/building.nu.com\/pt-br\/codigo-em-uma-jornada-no-podcast-the-hammock-uma-conversa-com-alex-miller\/\">aqui<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que \u00e9 programa\u00e7\u00e3o funcional e por que ela importa<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A programa\u00e7\u00e3o funcional \u00e9 uma abordagem que favorece estruturas imut\u00e1veis, fun\u00e7\u00f5es puras e composi\u00e7\u00e3o previs\u00edvel. Com ela, temos mais clareza sobre o que muda e onde muda.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em termos pr\u00e1ticos, isso significa que as transforma\u00e7\u00f5es de dados retornam novos valores em vez de atualizar vari\u00e1veis no lugar; que efeitos colaterais ficam concentrados; e que o caminho dos dados pode ser lido como um pipeline.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma introdu\u00e7\u00e3o acess\u00edvel a esse modo de pensar est\u00e1 no texto <a href=\"https:\/\/building.nu.com\/pt-br\/programacao-funcional-com-clojure-por-que-e-como-o-nubank-usa-e-escala-tao-bem\/\">Functional programming with Clojure<\/a>, que mostra como princ\u00edpios se traduzem em decis\u00f5es de design que facilitam teste, paralelismo e manuten\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como isso se traduz em Clojure no Nubank<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Clojure \u00e9 a nossa linguagem principal em muitos sistemas. A escolha dialoga com a \u00eanfase em imutabilidade e com o uso de bancos orientados a hist\u00f3rico, como o Datomic.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Essa hist\u00f3ria j\u00e1 foi contada por aqui em <a href=\"https:\/\/building.nu.com\/pt-br\/a-jornada-do-clojure-no-nubank-um-olhar-para-o-futuro\/\">Clojure\u2019s journey at Nubank<\/a>, onde detalhamos raz\u00f5es t\u00e9cnicas e culturais para adotar o ecossistema. A decis\u00e3o n\u00e3o cria um clube exclusivo. Ela cria um ambiente que incentiva foco em regras de neg\u00f3cio, clareza de efeitos e experimenta\u00e7\u00e3o respons\u00e1vel.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para quem quer mergulhar nos bastidores, <a href=\"https:\/\/building.nu.com\/pt-br\/clojure-faz-15-a-webserie-do-nubank-explora-as-origens-e-o-futuro-desta-linguagem-de-programacao\/\">a s\u00e9rie especial Clojure turns 15<\/a> registra debates sobre evolu\u00e7\u00f5es da linguagem e seu impacto no nosso dia a dia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Chegar sem saber Clojure \u00e9 poss\u00edvel<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Muita gente que entrou no Nubank nunca havia programado em Clojure. Alberto Souza, durante sua fala, contou como aprendeu do zero e como princ\u00edpios funcionais passaram a influenciar seu c\u00f3digo em outras linguagens.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A mensagem central \u00e9 libertadora. Paradigmas n\u00e3o s\u00e3o dogmas, eles s\u00e3o lentes. Voc\u00ea pode levar imutabilidade, coes\u00e3o e fun\u00e7\u00f5es puras para Java, Python e JavaScript, do mesmo jeito que traz conceitos de coes\u00e3o e modelagem orientada a dom\u00ednio para o Clojure.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No Hammock Podcast, exploramos essa jornada pessoal e t\u00e9cnica no epis\u00f3dio <a href=\"https:\/\/building.nu.com\/pt-br\/the-hammock-episodio-3-codigo-clojure-datomic-e-desenvolvimento-pessoal\/\">Journeys in Code: Clojure, Datomic e crescimento pessoal<\/a>. A conclus\u00e3o \u00e9 que aprender a linguagem vem com o contexto certo, com pares por perto e com problemas interessantes para resolver.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Do quadro branco ao c\u00f3digo em produ\u00e7\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As tr\u00eas apresenta\u00e7\u00f5es do meetup mostram como a teoria se traduz em pr\u00e1tica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alberto destacou como a imutabilidade simplifica a depura\u00e7\u00e3o e reduz bugs ao concentrar muta\u00e7\u00f5es em pontos \u00fanicos do fluxo. Rafael apresentou padr\u00f5es de arquitetura funcional em Python, como o \u201cservice handle\u201d e o \u201ctagless final\u201d, que isolam efeitos e mant\u00eam a previsibilidade do sistema.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E Marcelo, por sua vez, demonstrou um experimento unindo Clojure, Datomic e Oracle 23AI para construir um servi\u00e7o de busca vetorial com embeddings, uma prova de que o paradigma funcional pode coexistir com tecnologias modernas de dados e IA.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Essas abordagens refletem uma filosofia de engenharia orientada \u00e0 simplicidade e clareza. Cada decis\u00e3o, da fun\u00e7\u00e3o pura ao pipeline declarativo, \u00e9 pensada para manter o sistema compreens\u00edvel a longo prazo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Aprendizado como parte do trabalho<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Quando dizemos que n\u00e3o \u00e9 preciso conhecer Clojure para participar dos <a href=\"https:\/\/building.nu.com\/pt-br\/onboarding-da-engenharia-no-nubank\/\">nossos processos seletivos<\/a>, falamos tamb\u00e9m sobre como apoiamos o aprendizado desde o primeiro dia. O onboarding t\u00e9cnico \u00e9 estruturado para isso: combinar contexto de produto, pares experientes e um ambiente seguro para fazer perguntas, explorar e errar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ao longo das primeiras semanas, quem entra tem contato com conceitos do ecossistema funcional e aprende na pr\u00e1tica, por meio de pair programming, revis\u00f5es de c\u00f3digo e mentorias. A curva de aprendizado existe e \u00e9 compartilhada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que muda na pr\u00e1tica<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Trabalhar em um ambiente orientado \u00e0 programa\u00e7\u00e3o funcional n\u00e3o \u00e9 apenas mudar a sintaxe, mas transformar a forma de pensar.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Previsibilidade:<\/strong> estados s\u00e3o controlados, e bugs de concorr\u00eancia diminuem drasticamente.<\/li>\n\n\n\n<li><strong>Testabilidade:<\/strong> fun\u00e7\u00f5es puras facilitam automa\u00e7\u00e3o e testes de unidade.<\/li>\n\n\n\n<li><strong>Legibilidade:<\/strong> pipelines declarativos tornam fluxos de dados mais claros.<\/li>\n\n\n\n<li><strong>Evolu\u00e7\u00e3o:<\/strong> coes\u00e3o deliberada reduz impacto de mudan\u00e7as no longo prazo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Esses princ\u00edpios atravessam linguagens e paradigmas e explicam por que a engenharia funcional \u00e9 uma mentalidade que molda o jeito de construir produtos no Nubank.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A programa\u00e7\u00e3o funcional \u00e9 um convite a pensar de forma mais clara sobre dados, efeitos e evolu\u00e7\u00e3o de sistemas. No Nubank, criamos um ambiente que estimula aprendizado cont\u00ednuo, colabora\u00e7\u00e3o e experimenta\u00e7\u00e3o segura. Se voc\u00ea se identifica com essa maneira de construir, este \u00e9 um \u00f3timo ponto de partida para a sua jornada.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/BR6Y8nnMkFg?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=pt-BR&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Como tr\u00eas olhares complementares mostraram a for\u00e7a da imutabilidade, de fun\u00e7\u00f5es puras e de pipelines declarativos em problemas reais<\/p>\n","protected":false},"author":178110103,"featured_media":34838,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2497,2586],"tags":[2599,2541,2560,2540,2498],"class_list":["post-34845","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering-pt-br","category-software-engineering-pt-br","tag-engineering-culture-pt-br","tag-inteligencia-artificial","tag-large-language-models-pt-br","tag-machine-learning-pt-br","tag-software-engineering-pt-br"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup - Building Nubank<\/title>\n<meta name=\"description\" content=\"Como tr\u00eas olhares complementares mostraram a for\u00e7a da imutabilidade, de fun\u00e7\u00f5es puras e de pipelines declarativos em problemas reais\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"Como tr\u00eas olhares complementares mostraram a for\u00e7a da imutabilidade, de fun\u00e7\u00f5es puras e de pipelines declarativos em problemas reais\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-03T14:52:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-03T14:53:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/11\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1098\" \/>\n\t<meta property=\"og:image:height\" content=\"739\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nubank Editorial\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nubank Editorial\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/\"},\"author\":{\"name\":\"Nubank Editorial\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"headline\":\"Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup\",\"datePublished\":\"2025-11-03T14:52:53+00:00\",\"dateModified\":\"2025-11-03T14:53:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/\"},\"wordCount\":1049,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1\",\"keywords\":[\"Engineering culture\",\"Intelig\u00eancia Artificial\",\"large language models\",\"machine learning\",\"Software engineering\"],\"articleSection\":[\"Engineering\",\"Software Engineering\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/\",\"url\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/\",\"name\":\"Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1\",\"datePublished\":\"2025-11-03T14:52:53+00:00\",\"dateModified\":\"2025-11-03T14:53:44+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\"},\"description\":\"Como tr\u00eas olhares complementares mostraram a for\u00e7a da imutabilidade, de fun\u00e7\u00f5es puras e de pipelines declarativos em problemas reais\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1\",\"width\":1098,\"height\":739},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/#website\",\"url\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/\",\"name\":\"Building Nubank\",\"description\":\"We make the extraordinary happen\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/#\\\/schema\\\/person\\\/462f4f5a8d4ec3ccbc3d661dde00f0a4\",\"name\":\"Nubank Editorial\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g\",\"caption\":\"Nubank Editorial\"},\"url\":\"https:\\\/\\\/building.nu.com\\\/pt-br\\\/author\\\/editorial\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup - Building Nubank","description":"Como tr\u00eas olhares complementares mostraram a for\u00e7a da imutabilidade, de fun\u00e7\u00f5es puras e de pipelines declarativos em problemas reais","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/","og_locale":"pt_BR","og_type":"article","og_title":"Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup - Building Nubank","og_description":"Como tr\u00eas olhares complementares mostraram a for\u00e7a da imutabilidade, de fun\u00e7\u00f5es puras e de pipelines declarativos em problemas reais","og_url":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/","og_site_name":"Building Nubank","article_published_time":"2025-11-03T14:52:53+00:00","article_modified_time":"2025-11-03T14:53:44+00:00","og_image":[{"width":1098,"height":739,"url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/11\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1","type":"image\/png"}],"author":"Nubank Editorial","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Nubank Editorial","Est. tempo de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/#article","isPartOf":{"@id":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/"},"author":{"name":"Nubank Editorial","@id":"https:\/\/building.nu.com\/pt-br\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"headline":"Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup","datePublished":"2025-11-03T14:52:53+00:00","dateModified":"2025-11-03T14:53:44+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/"},"wordCount":1049,"commentCount":0,"image":{"@id":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/11\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1","keywords":["Engineering culture","Intelig\u00eancia Artificial","large language models","machine learning","Software engineering"],"articleSection":["Engineering","Software Engineering"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/","url":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/","name":"Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup - Building Nubank","isPartOf":{"@id":"https:\/\/building.nu.com\/pt-br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/#primaryimage"},"image":{"@id":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/11\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1","datePublished":"2025-11-03T14:52:53+00:00","dateModified":"2025-11-03T14:53:44+00:00","author":{"@id":"https:\/\/building.nu.com\/pt-br\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4"},"description":"Como tr\u00eas olhares complementares mostraram a for\u00e7a da imutabilidade, de fun\u00e7\u00f5es puras e de pipelines declarativos em problemas reais","breadcrumb":{"@id":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/11\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/11\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1","width":1098,"height":739},{"@type":"BreadcrumbList","@id":"https:\/\/building.nu.com\/pt-br\/programacao-funcional-sem-misterio-o-que-aprendemos-no-nu-engineering-meetup\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nu.com\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Programa\u00e7\u00e3o funcional, sem mist\u00e9rio: o que aprendemos no Nu Engineering Meetup"}]},{"@type":"WebSite","@id":"https:\/\/building.nu.com\/pt-br\/#website","url":"https:\/\/building.nu.com\/pt-br\/","name":"Building Nubank","description":"We make the extraordinary happen","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/building.nu.com\/pt-br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/building.nu.com\/pt-br\/#\/schema\/person\/462f4f5a8d4ec3ccbc3d661dde00f0a4","name":"Nubank Editorial","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8c056170dc75ffd365b306a0ac7bea4e51d1cdab52a0c84e6ba0a42f7e2f4633?s=96&d=identicon&r=g","caption":"Nubank Editorial"},"url":"https:\/\/building.nu.com\/pt-br\/author\/editorial\/"}]}},"jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-941","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2025\/11\/screenshot_2025-10-29_at_17.01.26.png?fit=1098%2C739&ssl=1","_links":{"self":[{"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/posts\/34845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/users\/178110103"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/comments?post=34845"}],"version-history":[{"count":2,"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/posts\/34845\/revisions"}],"predecessor-version":[{"id":34849,"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/posts\/34845\/revisions\/34849"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/media\/34838"}],"wp:attachment":[{"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/media?parent=34845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/categories?post=34845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nu.com\/pt-br\/wp-json\/wp\/v2\/tags?post=34845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}