{"id":292,"date":"2009-03-01T17:38:24","date_gmt":"2009-03-01T20:38:24","guid":{"rendered":"https:\/\/devkico.itexto.com.br\/?p=292"},"modified":"2009-03-02T08:20:01","modified_gmt":"2009-03-02T11:20:01","slug":"armadilhas-para-desenvolvedores-ou-o-que-o-tornara-mais-um-idiota","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=292","title":{"rendered":"Armadilhas para desenvolvedores (ou, o que o tornar\u00e1 mais um idiota)"},"content":{"rendered":"<p><a href=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-293\" title=\"mouse_trap\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg\" alt=\"\" width=\"360\" height=\"240\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg 360w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/mouse_trap-300x200.jpg 300w\" sizes=\"(max-width: 360px) 100vw, 360px\" \/><\/a>Com o passar do tempo, ficam n\u00edtidas para mim algumas situa\u00e7\u00f5es nas quais desenvolvedores\u00a0 talentosos (ou n\u00e3o) entram e das quais saem completamente idiotas (rar\u00edssimas vezes com algum tipo de salva\u00e7\u00e3o). Chamo estas situa\u00e7\u00f5es de &#8220;armadilhas para desenvolvedores&#8221; e, a partir deste post, pretendo expor algumas das que presenciei ou virei a me deparar a partir de ent\u00e3o (sintam-se abertos a me contarem as suas).<\/p>\n<p>A palavra &#8220;armadilha&#8221; foi selecionada a dedo. Isto porque todas as situa\u00e7\u00f5es que irei mencionar aqui possuem uma caracter\u00edstica em comum: apresentam um ambiente ou objeto aparentemente confort\u00e1vel e desej\u00e1vel que, uma vez penetrado ou obtido, mostra-se incr\u00edvelmente cruel.<\/p>\n<h2><span style=\"color: #ff0000;\"><strong>Armadilha #1: Determinismo lingu\u00edstico<\/strong><\/span><\/h2>\n<p>\u00c9 o meu <a href=\"https:\/\/devkico.itexto.com.br\/?p=172\" target=\"_blank\">pior pesadelo<\/a> sem sombra de d\u00favidas. Para aqueles que n\u00e3o o conhecem, o determinismo linguistico consiste na hip\u00f3tese segundo a qual a nossa percep\u00e7\u00e3o do mundo \u00e9 definida por nossa linguagem. Exemplo cl\u00e1ssico: os esquim\u00f3s. Estes conseguem distinguir n tons diferentes de branco, cada um com seu pr\u00f3prio nome, ao passo que n\u00f3s, brasileiros, basicamente conseguimos distinguir apenas o branco e o cinza. Em contra-partida, conhecemos n tipos diferentes de bananas (nanica, caturra, serra d&#8217;\u00e1gua&#8230;), ao passo que um esquim\u00f3 s\u00f3 consegue distinguir de cara um tipo de banana.<\/p>\n<p>Como isto se aplicaria a um desenvolvedor? Simples: aquele que s\u00f3 utiliza o mesmo ambiente de desenvolvimento\/linguagem normalmente tem uma dificuldade monumental em aprender qualquer outro. Exemplo cl\u00e1ssico: o pessoal que trabalha com ambientes RAD como Visual Basic ou Delphi (mais espec\u00edficamente, os amontoadores de componentes (h\u00e1 pessoas absurdamente competentes trabalhando Delphi e VB)). Ao tentarem aprender outra linguagem como Java, por exemplo, a primeira coisa que tentam fazer consiste em aplicar exatamente as mesmas t\u00e9cnicas que utilizavam at\u00e9 ent\u00e3o neste novo ambiente. Resultado: fracasso total. \u00c9 poss\u00edvel diagnosticar algu\u00e9m que tenha caido nesta armadilha ao ouvir alguma das frases abaixo:<\/p>\n<ul>\n<li><span style=\"color: #ff0000;\">&#8220;Linguagem\/Ambiente X \u00e9 um LIXO!&#8221;<\/span><br \/>\nO sujeito est\u00e1 tentando aplicar t\u00e9cnicas espec\u00edficas de um ambiente\/linguagem em outro. Como n\u00e3o ir\u00e3o funcionar, consequentemente, v\u00ea a culpa NO ambiente\/linguagem, e n\u00e3o em si mesmo.<\/li>\n<li><span style=\"color: #ff0000;\">&#8220;Sou muito mais produtivo na linguagem\/ambiente X. Se estivesse trabalhando nele, o trabalho j\u00e1 estaria pronto!&#8221;<\/span><br \/>\nO problema se torna n\u00edtido. O sujeito basicamente confirma que realmente s\u00f3 consegue trabalhar em um ambiente\/linguagem.<\/li>\n<li><span style=\"color: #ff0000;\">&#8220;Linguagens de programa\u00e7\u00e3o s\u00e3o todas iguais. S\u00f3 varia a sintaxe&#8230;&#8221;<\/span><br \/>\nAham&#8230; Se fosse verdade, s\u00f3 existiria UMA linguagem de programa\u00e7\u00e3o (a que o sujeito conhece, prov\u00e1velmente)<\/li>\n<\/ul>\n<p>Um aspecto interessante de quem caiu nesta armadilha consiste em uma certa arrog\u00e2ncia. Culpam a linguagem\/ambiente por todos os problemas que est\u00e3o enfrentando e se esquecem de que o mesmo ambiente\/linguagem foi utilizado com sucesso incont\u00e1veis vezes em projetos do mesmo ou maior porte do que aquele no qual o indiv\u00edduo se encontra em dificuldades.<\/p>\n<p>Na realidade, o determinismo lingu\u00edstico fica exposto ao perceber o modo como o sujeito inicia sua produ\u00e7\u00e3o no novo ambiente. Muitas vezes nem sequer chega a estud\u00e1-lo direito. Simplesmente cata a primeira IDE que encontra e come\u00e7a a trabalhar exatamente como fazia no ambiente\/linguagem com o qual estava habituado.<\/p>\n<h2><span style=\"color: #ff0000;\">Armadilha #2: software = banco de dados relacional<br \/>\n<\/span><\/h2>\n<p>O sujeito n\u00e3o acredita que exista desenvolvimento al\u00e9m do CRUD. Como detectar algu\u00e9m que tenha caido nesta armadilha? Simples: mencione qualquer tipo de estrutura de dados diferente de tabela ou \u00edndice. Se disser que conhece, v\u00e1 al\u00e9m: pe\u00e7a para que lhe descreva o funcionamento (<span style=\"color: #ff0000;\"><strong>alerta: criar\u00e1 inimigos com isto<\/strong><\/span>). Ou, pior ainda, pergunte ao indiv\u00edduo se ele consegue programar algo sem um banco de dados relacional por tr\u00e1s.<\/p>\n<p>O que ocorre nesta situa\u00e7\u00e3o: o sujeito trabalha em um ambiente no qual a esmagadora maioria das demandas consista apenas na cria\u00e7\u00e3o de aplica\u00e7\u00f5es que armazenem e busquem informa\u00e7\u00f5es presentes em bancos de dados (apenas CRUD). No m\u00e1ximo, um relat\u00f3rio ou outro mais complexo, envolvendo somat\u00f3rios e agrupamentos. O que se percebe \u00e9 a armadilha #1, ou seja, o determinismo lingu\u00edstico. A diferen\u00e7a \u00e9 que este \u00e9 O caso mais comum da armadilha E o que tamb\u00e9m causa os maiores preju\u00edzos.<\/p>\n<p>Como o resultado de uma consulta SQL \u00e9 imediato, o sujeito acredita que seu trabalho terminou na cria\u00e7\u00e3o dos formul\u00e1rios de exposi\u00e7\u00e3o e cadastro. No entanto, a partir do momento em que o problema se tornar mais complexo a coisa muda de figura.<\/p>\n<p>O mais fascinante desta armadilha consiste no fato da <em>v\u00edtima <\/em>conseguir fazer coisas incr\u00edveis com SQL, por\u00e9m falhar miser\u00e1velmente quando precisar de qualquer coisa que v\u00e1 al\u00e9m desta.<\/p>\n<p>Neste caso, no entanto, h\u00e1 uma bomba rel\u00f3gio ativada: est\u00e1 provado que os SGBDs relacionais n\u00e3o escalam bem em ambientes paralelizados (mais sobre isto <a href=\"http:\/\/www.readwriteweb.com\/archives\/is_the_relational_database_doomed.php\" target=\"_blank\">aqui<\/a>, <a href=\"http:\/\/www.infoq.com\/news\/2009\/02\/Relational-DB-Cloud\" target=\"_blank\">aqui<\/a> e <a href=\"http:\/\/en.blog.improveit.com.br\/articles\/2008\/11\/16\/databases-dont-scale-yet\" target=\"_blank\">aqui<\/a>(terceiro link particularmente interessante, por apresentar o CouchDB)). Como o n\u00famero de processadores por computdor est\u00e1 aumentando, e o clock de cada um destes tende a diminuir e cloud computing est\u00e1 crescendo MUITO, veremos problemas imensos de performance nos pr\u00f3ximos anos cuja origem se encontra justamente neste tipo de profissional que acredita no mito de que uma aplica\u00e7\u00e3o \u00e9 composta por um banco de dados relacional apenas.<\/p>\n<p>Este tipo de indiv\u00edduo se esquece de algo b\u00e1sico: <span style=\"color: #ff0000;\"><strong>os dados s\u00e3o o resultado de um processamento, e n\u00e3o o contr\u00e1rio!<\/strong><\/span><\/p>\n<h2><span style=\"color: #ff0000;\">Armadilha #3: ambientes de desenvolvimento RAD<\/span><\/h2>\n<p>O sujeito aprende a programar em um ambiente RAD e se at\u00e9m a este. O utiliza para criar um CRUD simples, sempre utilizando a mesma linguagem (99% das vezes VB, Delphi e Visual Studio). Resultado: armadilhas #1 e #2 engatilhadas com um agravante: <span style=\"color: #ff0000;\"><em>a ilus\u00e3o de que desenvolvimento de sistemas \u00e9 uma tarefa simples<\/em><\/span>.<\/p>\n<p>N\u00e3o tenho nada contra estes ambientes (sendo assim, por favor, n\u00e3o me ataquem), por\u00e9m tenho contra o seu mal uso. O maior problema aqui ocorre quando se esquece que um ambiente como VB ou Delphi deve ser usado apenas para facilitar a execu\u00e7\u00e3o de tarefas repetitivas e tediosas, como por exemplo a cria\u00e7\u00e3o de um formul\u00e1rio, e que estas tarefas repetitivas e tediosas s\u00e3o apenas uma PEQUENA parte do processo de desenvolvimento, e n\u00e3o o seu todo.<\/p>\n<p>O que se observa \u00e9 basicamente o contr\u00e1rio: o indiv\u00edduo passa HORAS (ou DIAS) buscando componentes terceirizados para finalizar as tarefas que n\u00e3o envolvam CRUD, os incorporam em seus &#8220;sistemas&#8221; porcamente e se esquecem de outros elementos que tamb\u00e9m deveriam estar presentes no processo, como por exemplo seguran\u00e7a, escalabilidade, usabilidade e, mais importante ainda: c\u00f3digo de qualidade, que seja f\u00e1cil de ser mantido e compreendido.<\/p>\n<p>Quer detectar algu\u00e9m com este problema? Simples: remova deste indiv\u00edduo a sua IDE.<\/p>\n<h2><span style=\"color: #ff0000;\">Armadilha #4: portugu\u00eas \u00e9 seu \u00fanico idioma<\/span><\/h2>\n<p>Parece impens\u00e1vel, mas a quantidade de &#8220;programadores&#8221; que ignora completamente o ingl\u00eas \u00e9 alarmante. Como consequencia, tem de se virar apenas com o que existe publicado em portugu\u00eas. Dado que a qualidade \u00e9 muito inferior \u00e0 que \u00e9 produzida no exterior, o sujeito acaba se tornando limitado com o passar do tempo.<\/p>\n<p>Claro, as coisas est\u00e3o melhorando aqui no Brasil, por\u00e9m, por mais que melhorem, dif\u00edcilmente se igualar\u00e3o \u00e0 publica\u00e7\u00e3o atualmente produzida em ingl\u00eas. Mesmo porque at\u00e9 os pa\u00edses no qual o ingl\u00eas n\u00e3o \u00e9 o idioma oficial costumam publicar conte\u00fado para nossa \u00e1rea em&#8230; ingl\u00eas.<\/p>\n<h2><span style=\"color: #ff0000;\">Armadilha #5: pregui\u00e7a de ler<\/span><\/h2>\n<p>O sujeito acredita que n\u00e3o precisa ler para se tornar um bom profissional. Resultado? Programadores analfabetos. J\u00e1 escrevi sobre isto <a href=\"https:\/\/devkico.itexto.com.br\/?p=253\" target=\"_blank\">aqui<\/a>, sendo assim, n\u00e3o irei me alongar muito sobre o assunto.<\/p>\n<h2><span style=\"color: #ff0000;\">Armadilha #6: medo da mudan\u00e7a<\/span><\/h2>\n<p>O indiv\u00edduo pira a cada mudan\u00e7a que ocorre em seu ambiente de trabalho. Mudou um pouco a especifica\u00e7\u00e3o? Boom! Crise, o sujeito pensa em pular do \u00faltimo andar do pr\u00e9dio em que trabalha. Chamo este tipo de profissional de <strong>&#8220;desenvolvedor autista&#8221;<\/strong>.<\/p>\n<p>O desenvolvedor autista n\u00e3o consegue ver que a mudan\u00e7a \u00e9 a principal raz\u00e3o pela qual recebe seu dinheiro todo m\u00eas. Que se estas cessarem, seu trabalho automaticamente torna-se desnecess\u00e1rio e, pior ainda, nega o b\u00e1sico da realidade: tudo muda. No s\u00e9culo V a.C Her\u00e1clito j\u00e1 dizia: <a href=\"http:\/\/optionality.net\/heraclitus\/\">panta rei<\/a> (tudo muda). Se as coisas mudam na natureza, por que n\u00e3o muariam no seu trabalho? Ser\u00e1 poss\u00edvel que 2500 anos depois, as pessoas ainda n\u00e3o conseguem aceitar este fato???<\/p>\n<p>A origem do problema consiste na cren\u00e7a de que o desenvolvimento de sistemas \u00e9 uma ci\u00eancia exata. No\u00e7\u00e3o esta completamente equivocada, se levarmos em considera\u00e7\u00e3o o fato de que nosso trabalho consiste em modelar no ambiente digital um problema que ocorre no mundo f\u00edsico. Problema este que normalmente \u00e9 criado por seres humanos que, como todos sabemos (com excess\u00e3o do desenvolvedor altista), mudam de opini\u00e3o o tempo inteiro!<\/p>\n<p>Como identificar algu\u00e9m com este problema? Varia do n\u00edvel: nos casos extremos, basta mudar a posi\u00e7\u00e3o do seu mouse.<\/p>\n<h2><span style=\"color: #ff0000;\">Conclus\u00e3o<\/span><\/h2>\n<p>Estas s\u00e3o as principais armadilhas que j\u00e1 presenciei. Ap\u00f3s analis\u00e1-las, algu\u00e9m poderia me fazer alguns questionamentos, como os a seguir:<\/p>\n<p><em><strong>Por que n\u00e3o foram mencionadas armadilhas de gerenciamento?<\/strong><\/em><\/p>\n<p>Simples: por que se algu\u00e9m quer gerenciar uma equipe de desenvolvimento, voc\u00ea tem de saber o que est\u00e1 gerenciando, ou seja: tem de pelo menos uma vez na vida ter programado ou pelo menos tentado. Caso n\u00e3o tenha se mostrado um bom programador, ao menos deveria saber como reconhecer um.<\/p>\n<p><em><strong>Como eu evito estas armadilhas?<\/strong><\/em><\/p>\n<p>Basicamente evitando a primeira, ou seja, reconhecendo a diversidade e o fato de que desenvolvimento de sistemas \u00e9 uma atividade complexa, que requer estudo constante e que poucos conseguem lev\u00e1-la a cabo com sucesso, ou seja: diminuindo a arrog\u00e2ncia.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Com o passar do tempo, ficam n\u00edtidas para mim algumas situa\u00e7\u00f5es nas quais desenvolvedores\u00a0 talentosos (ou n\u00e3o) entram e das quais saem completamente idiotas (rar\u00edssimas vezes com algum tipo de salva\u00e7\u00e3o). Chamo estas situa\u00e7\u00f5es de &#8220;armadilhas para desenvolvedores&#8221; e, a partir deste post, pretendo expor algumas das que presenciei ou virei a me deparar a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[35,36],"tags":[],"class_list":["post-292","post","type-post","status-publish","format-standard","hentry","category-armadilhas","category-desenvolvimento-de-software"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Armadilhas para desenvolvedores (ou, o que o tornar\u00e1 mais um idiota) - \/dev\/Kico<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkico.itexto.com.br\/?p=292\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Armadilhas para desenvolvedores (ou, o que o tornar\u00e1 mais um idiota) - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"Com o passar do tempo, ficam n\u00edtidas para mim algumas situa\u00e7\u00f5es nas quais desenvolvedores\u00a0 talentosos (ou n\u00e3o) entram e das quais saem completamente idiotas (rar\u00edssimas vezes com algum tipo de salva\u00e7\u00e3o). Chamo estas situa\u00e7\u00f5es de &#8220;armadilhas para desenvolvedores&#8221; e, a partir deste post, pretendo expor algumas das que presenciei ou virei a me deparar a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=292\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2009-03-01T20:38:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2009-03-02T11:20:01+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.itexto.net\/devkico\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=292\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=292\",\"name\":\"Armadilhas para desenvolvedores (ou, o que o tornar\u00e1 mais um idiota) - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=292#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=292#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg\",\"datePublished\":\"2009-03-01T20:38:24+00:00\",\"dateModified\":\"2009-03-02T11:20:01+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=292#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=292\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=292#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=292#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Armadilhas para desenvolvedores (ou, o que o tornar\u00e1 mais um idiota)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Armadilhas para desenvolvedores (ou, o que o tornar\u00e1 mais um idiota) - \/dev\/Kico","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:\/\/devkico.itexto.com.br\/?p=292","og_locale":"pt_BR","og_type":"article","og_title":"Armadilhas para desenvolvedores (ou, o que o tornar\u00e1 mais um idiota) - \/dev\/Kico","og_description":"Com o passar do tempo, ficam n\u00edtidas para mim algumas situa\u00e7\u00f5es nas quais desenvolvedores\u00a0 talentosos (ou n\u00e3o) entram e das quais saem completamente idiotas (rar\u00edssimas vezes com algum tipo de salva\u00e7\u00e3o). Chamo estas situa\u00e7\u00f5es de &#8220;armadilhas para desenvolvedores&#8221; e, a partir deste post, pretendo expor algumas das que presenciei ou virei a me deparar a [&hellip;]","og_url":"https:\/\/devkico.itexto.com.br\/?p=292","og_site_name":"\/dev\/Kico","article_published_time":"2009-03-01T20:38:24+00:00","article_modified_time":"2009-03-02T11:20:01+00:00","og_image":[{"url":"http:\/\/www.itexto.net\/devkico\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg"}],"author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=292","url":"https:\/\/devkico.itexto.com.br\/?p=292","name":"Armadilhas para desenvolvedores (ou, o que o tornar\u00e1 mais um idiota) - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=292#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=292#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg","datePublished":"2009-03-01T20:38:24+00:00","dateModified":"2009-03-02T11:20:01+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=292#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=292"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=292#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/mouse_trap.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=292#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"Armadilhas para desenvolvedores (ou, o que o tornar\u00e1 mais um idiota)"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/292"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=292"}],"version-history":[{"count":4,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/292\/revisions"}],"predecessor-version":[{"id":297,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/292\/revisions\/297"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}