As pessoas me aconselham a "encontrar um emprego fazendo algo em que você seja bom", mas a verdade é que eu não acredito que sou bom com nada além de apenas escrever código. Eu não acho que posso criar ou estruturar um programa.
Não me interpretem mal, eu não sou o tipo de programador que não pode escrever um programa de efervescência; Sou mais o tipo de programador que não pode fazer muito além de fazer o trabalho. Não é que eu tenha uma atitude "faça o mínimo"; é que estou dolorosamente ciente das minhas limitações como programador.
Por exemplo, implementar um algoritmo de classificação rápida é algo que eu poderia fazer apenas com a memorização mecânica (ou seja, se algum dia encontrar motivação para passar uma boa parte do meu dia tentando comprometer todo o algoritmo na memória e não apenas como "umm, entendo, isso faz sentido, eu posso ver a lógica ...").
Quando se trata de estruturar e projetar um aplicativo, sinto-me igualmente desamparado. Como sou incapaz de encontrar a resposta certa no início, faço apenas uma sentença, da qual nove em cada dez vezes me arrependo mais tarde.
Ainda consigo obter promoções e elogios de meus colegas de trabalho, para que outros não compartilhem necessariamente minhas opiniões. Objetivamente, porém, eu simplesmente não tenho a capacidade de aprendizado nem o simples poder cerebral de aspirar realisticamente a ser algo mais do que um programador 'ligeiramente acima da média'.
Eu me pergunto se realmente tenho um dever ético de abrir espaço para pessoas mais talentosas e encontrar outro tipo de trabalho, mesmo que eu esteja bastante confiante de que não encontraria outro papel para o qual estou mais qualificado. Minha pergunta então é "Os programadores comuns têm um lugar em uma equipe?"
Respostas:
Pelo contrário, acho que as pessoas que obtêm uma alta pontuação na matriz de competência do programador (ou qualquer medida semelhante) têm o dever ético de não serem esnobes elitistas.
Ted Neward escreveu recentemente um blog fantástico, que acho relevante aqui. Aqui está minha citação favorita:
Pelo que vale a pena, apenas o primeiro desses dois personagens agonizaria com suas próprias capacidades da maneira que você tem.
fonte
Não você não. Na verdade, você tem o dever ético de cuidar de si e de seus dependentes. Não há escassez de empregos para desenvolvedores talentosos e não há motivo para colocar os interesses de pessoas que provavelmente nem conhece à frente.
De fato, este site está cheio de perguntas dos empregadores sobre como encontrar desenvolvedores qualificados. Seu empregador pode legitimamente se sentir sortudo por tê-lo.
fonte
Você não tem nenhuma obrigação ética de se destacar no seu trabalho, apenas para fazer o que acha que está sendo pago para fazer. Você pode estar melhor fazendo outra coisa relacionada aos computadores? O trabalho SDET é provavelmente algo com o qual você se sentiria super confortável, já que a melhor maneira de mostrar brilhantismo como SDET é mostrar por que o código de outras pessoas é defeituoso. Isso lhe dará uma visão de quão bom você realmente é, e também tirará o peso de "Sou bom o suficiente" de seus ombros.
Enquanto eu lia isso, eu queria ter certeza de que estava claro: a maioria dos codificadores é terrível. Você está sendo muito duro consigo mesmo e, ao trabalhar como SDET, receberá um tapa na cara com o quão mais qualificado você pode ser para fazer o seu trabalho do que pensa. Confie em mim, isso mudou minha vida. ;)
fonte
Lendo o seu post, fiquei pensando que essa pessoa tem o que é realmente necessário para ser um ótimo programador.
Você diz que está dolorosamente consciente de suas limitações.
Quanto mais uma pessoa é capaz em seu campo, mais humilde e consciente de suas próprias limitações ela geralmente é. Grande parte do domínio de qualquer ofício é admitir o quão pouco você realmente sabe - e trabalhar com isso. Também irá mantê-lo faminto por melhorias e não estagnado. Use-o.
Você começa errado e se arrepende 9 vezes em 10.
É chamado de conhecer o espaço do problema. Isso é algo que leva anos e anos de domínio (e, para ser sincero, não sei se você deve dominá-lo - se você faz a chamada "certa" desde o início - como você sabe que é a certa?). Para obter uma boa solução, geralmente são necessárias algumas tentativas fracassadas. Existem muitas pesquisas atuais sobre como aprendemos melhor com os erros cometidos. Você só precisa fazer isso em um ambiente seguro e favorável. Certifique-se de que você esteja nesse ambiente e prosperará.
Você faz as coisas.
Isso é ouro puro, tanto dos membros da equipe que esperam o que você entrega quanto para os gerentes. Você está se lembrando do ponto mais importante em qualquer projeto de software - se você não entregar, ninguém será pago.
Pode ser difícil mudar de idéia - mas todos os pontos que você listou eu vejo como sinais de já terem progredido muito longe.
fonte
Não.
Os maus carpinteiros não deixam de trabalhar com carpinteiros, apenas admitem que não são os melhores carpinteiros que já viveram, enquanto tentam submissamente espremer as cadeiras mundanas do dia-a-dia, que se dão muito bem por pura repetição. Existem muitos burros por aí, então, na verdade, precisamos de carpinteiros comuns, porque todos os primadonna ficam entediados em fazer cadeiras baratas e querem mostrar seus talentos através de estruturas mais impressionantes, como mesas de apoio.
Não é uma questão de ética, mas aumentar o seu melhor e ser feliz por ser o melhor que você pode ser.
fonte
Eu realmente posso me relacionar com isso. Eu me senti como um programador medíocre toda a minha vida e sempre olhei para pessoas que são melhores que eu. E para ser sincero, muitos programadores são melhores que eu. Mas ainda assim, como você, recebo elogios pelo meu trabalho E, como você, deixo meus clientes e meu chefe felizes E até fui promovido a engenheiro de software sênior, portanto devemos fazer ALGO certo. Embora eu seja bem-sucedido no trabalho, ainda sei que existem programadores juniores talentosos que são melhores em abstrair problemas e escrever código para lidar com esses problemas de uma maneira mais elegante e abstrata. É extremamente importante que nos concentremos no que PODEMOS fazer e nos louvemos por isso. E é muito mais importante mudar a maneira como encaramos o que alcançamos do que tentar se tornar um "bom" programador (ou arquiteto, amigo ou patinador no gelo,
Há algumas coisas que simplesmente não estão ao nosso alcance. Eu sonhava em ser capaz de montar um projeto extremamente complexo com um zilhão de novas tecnologias e um zilhão de complexos e belos padrões de programação em um dia como o meu muito elogiado colega Mark pode. Mas eu não posso. E continuarei focando no que posso fazer e fazer isso da melhor maneira possível e me respeitando por isso. E acho que você deveria tentar fazer o mesmo. Você pode começar dizendo a si mesmo que ser um programador e ser elogiado e pago pelo seu trabalho é uma conquista e tanto.
fonte