Como em toda e qualquer profissão, sempre existem, e vão existir, os bons, médios e péssimos profissionais. Sobre ser bom ou "normal" em nossa área, não há segredo, é estudar o máximo possível, pelo máximo possível de fontes, arregaçar as mangas e começar a programar.
Mas sobre os péssimos programadores e hábitos que estes tem, pouco se fala ou se comenta à respeito, e é bem fácil perceber algumas características que fazem deles ruins, e é sobre isto que falaremos nesse artigo.
Como ser um péssimo programador
Vamos procurar falar de características que você deve, à todo custo, evitar. Algumas notamos em outras pessoas, mas algumas falhas todos tiveram em algum momento e suaram muito para notar que eram falhas e defeitos, visando melhorar.
Por isso, vamos tentar encurtar seu caminho, lhe dar boas dicas e orientar à todos sobre coisas erradas e péssimos hábitos que você deve evitar.
Nosso objetivo não é menosprezar, humilhar ou apontar o dedo para os outros, e sim tentar passar a experiência de quem está um pouquinho adiante daqueles que estão começando.
Pessoas ignorantes não aprendem com seus erros. As experientes são as que aprenderam com seus erros, mas as pessoas espertas são as que aprendem com seus erros e aprendem com o dos outros, assim erram menos. Por isso, não espere pra errar, tente ver o problema e erro dos outros, assim vai encurtar seu caminho para o sucesso.
Programadores de vídeo-aula
Em seguida criaram cursos em faculdades, então mestre e doutores de Matemática e Engenharia passaram a ter acesso a este tipo de conhecimento.
Mas para encurtar a história, hoje em dia temos acesso à todas essas informações em qualquer faculdade, cursos técnicos, livros, textos na internet e nelas, as vídeo-aulas.
Sim, são maravilhosas. Imagina aprender com professores, sem cursar de maneira presencial? Aprender Java ou C, só de calção e tomando um suco em casa? Ver um profissional usando uma ferramenta altamente complexa, ver um hacker derrubando um site ou um programador de games criando um jogo?
Isso tudo é ótimo, mas como um complemento.
Aprender a programar por vídeo-aulas somente é o que de pior você pode fazer. É bom para ver, depois de ler um livro, um artigo ou uma aula. Mas o principal: é bom depois de tentar programar.
Programar se aprende tentando, pensando como fazer, errando, criando e lendo muito. É realmente fantástico assistir uma aula de computação do MIT ou Harvard, mas ver todas elas um milhão de vezes nunca te fará ser um bom programador como os estudantes destas instituições.
Mas estudar por todos os livros que eles estudam, tentar fazer todos os programas que eles tentaram, ver essas aulas e passar nas provas que eles passam, aí sim, fará você um dos melhores programadores. Resumindo: use o máximo de fontes de estudo. Por exemplo, quantos livros de programação já tem?
Programadores de código pronto
Alguns, cambaleando e rastejando, aprendem muito mal a programar e criar algumas coisas, e passam para o próximo péssimo hábito, que é usar tudo pronto.Isso é bem comum, por exemplo, em desenvolvimento web, de sites, blogs e ferramentas para internet. É fácil achar em fóruns ou sites de código pronto pessoas que querem fazer algo e simplesmente copiam o código e colam em seus projetos.
Procure sempre entender o que está fazendo e usando. Você pode até ter seu problema resolvido, mas quando precisar alterar, evoluir ou tirar algo, não vai ter a mínima noção do que fazer, como fazer e onde fazer, simplesmente porque você não sabe o código que meteu em seu sistema. Depois o sistema fica vulnerável, é invadido ou o código conflita com outro trecho de código, e simplesmente não se sabe o que aconteceu.
Em grandes projetos, ninguém cria sempre 100% do código, mas é altamente recomendável saber de tudo que está usando: o que é, para que serve, como funciona e que situações usar aquilo.
Por isso, procure sempre ter controle total sobre seus projetos e mantenha a comunicação com seus colegas de trabalho.
Programadores que não fazem lição de casa
Se eu puder citar o tipo de profissional (na verdade, eu nem chamaria de profissional) que mais é incompetente e estará fadado ao fracasso, é aquele que vai pesquisar a solução de sua tarefa de casa no Google ou perguntar em fóruns coisas do tipo "Alguém resolve pra mim?", "Preciso fazer esse trabalho pra entregar amanhã, quem tem o código pronto?".Típico "programador" chorão |
Veja bem, tirar uma dúvida, perguntar onde está errando ou perguntar o que deve estudar para atingir um objetivo, são coisas totalmente corretas e louváveis. O que critico aqui é quem quer tudo pronto, o código da tarefinha de casa, que pedem para fazer algo e não entende nada. Esse tipo de profissional não vai a lugar nenhum, e infelizmente existem aos montes, em fóruns como o do Clube do Hardware e grupos do Facebook.
Programador que não lê
Quando pensam em programação, geralmente vêm a mente das pessoas a imagem de hackers, de máscaras, roupa escura, em um ambiente tridimensional, se desviando do FBI ou então jovens criando jogos, como se isso fosse sinônimo de jogar.Adquira o hábito da leitura |
A grande verdade é que programadores com um mínimo de competência irão ler, todos os dias, para o resto de suas vidas. Programação evolui, sistemas e liguagens também, e os programas então, nem se fala. Aliás, tudo ligado à computação muda diariamente, e com isso seu estudo também.
Bons programadores são aqueles que começaram a estudar por vontade própria, vão para a faculdade/curso porque querem aprender aquilo, que vão trabalhar naquele ramo e nas horas vagas irão se dedicar aos seus projetos pessoais, auxiliar algum projeto livre e o principal, irão sempre continuar a ler, estudar e se informar. Essa é a realidade.
Mais um dos problemas das pessoas que gostam de estudar somente por vídeo-aula, é que eles acabam por perder (ou nem adquirir) o importante e obrigatório hábito da leitura. Por isso, compre livro, leia artigos, visite sites de programação diariamente, coloque um fórum como sua página inicial e leia diariamente sobre sua profissão e coisas de seu interesse.
Programador xiita
"PHP comanda", "C é a linguagem mais usada", "Mercado de trabalho e dinheiro? Java!", "Com JavaScript e HTML faço, invado e quebro qualquer sistema", "Programador de verdade é só o que sabe Assembly, o resto é moda", "Cobol e Delphi morreram", "Pra quê perder tempo com isso? Em Python eu faço em 10min", esses são só alguns exemplos de atrocidades que iremos ouvir por aí.Vamos ser bem claros e diretos: dizer que uma linguagem é a melhor é o que de mais idiota você pode fazer. Quer dar seu atestado que é leigo e ignorante? Diga que tal linguagem é superior à outra.
Como explicamos nos artigos iniciais desta seção, Comece a Programar, cada linguagem é mais indicada para cada tipo de situação e absolutamente NENHUMA é indicada para tudo.
Conhece a Fanpage GNU/Linux Xiitas? É hilária |
É tão comum que chega a ser normal. Normal para iniciantes. Não pega bem ser um leigo depois de anos de estudo e trabalhando na área. Por isso, puxe pela memória aquele fórum ou blog que você frequentava, para xingar programadores de outras linguagens. Talvez você tenha deixado seu nome e informações lá, e se seu chefe ou futuro empregador ver isso vai saber o quão infantil você foi, e ainda pode ser.
E pode ter certeza, nos dias de hoje, sempre que você for buscar um emprego, a empresa vai buscar e puxar todos seus dados na internet. Irão ver o que anda comentando, suas opiniões e o que curte nas redes sociais. Se for um daqueles que acham que só uma ferramenta ou linguagem é a melhor, pode se dar mal, pois isso acaba deixando uma pista sobre sua profissionalidade.
Programa em Assembly para microprocessadores ? Bacana, você não deve gostar de PHP, mas com certeza usa sites e redes sociais criadas por programadores de tal linguagem. Aliás, a tecnologia está tão popular hoje em dia por conta desses profissionais que lidam diretamente com o público.
Quer criar sites, ser Webdesigner, passar longe dos bits e não faz a mínima questão de aprender C ou Assembly? Normal, você faz parte da maioria. Mas respeite quem gosta, afinal, seu computador, celular e todo tipo de tecnologia foram criados por eles.
Notaram o quão "noob" é dizer que linguagem X é melhor que Y?
Notou? Então pare de fazer isso.
Programador unilateral
Linguagem de programação é como religião ou time de futebol, as pessoas vão amar umas e repudiar outras. Isso é extremamente normal, mas se quiser ser um bom programador, saiba respeitar os outros.Porém, embora no decorrer de nossas vidas possamos escolher linguagens e ferramentas, é totalmente indicado abrir seus horizontes, estudar coisas diferentes e se atualizar.
Olhe pare os lados, veja novos caminhos |
Sempre usou Windows e tá bem nele? Sinto muito, você pode até estar bem, mas está limitado. Instale um Ubuntu, por exemplo. É simples, fácil, você instala em 15min com um pendrive e vai abrir seus horizontes como poucas coisas na vida. Você irá notar sua evolução.
Provavelmente se já usa Linux já usou Windows. Mas ja criou .bat? Sabe aqueles scripts em Shell, que fazem tudo no Linux? Pois é, já fez algo parecido no Windows, com Batch? É bem interessante. E que tal juntar uma grana e comprar um MacOS ? Ou Fazer um Hackintosh? E FreeBSD, que tal colocar naquela máquina antiga, só para testar, ver como é?
Gosta de HTML, JavaScript e CSS? Quer saber um segredo pra evoluir? Estude C. Entender como funciona um computador, como seu sistema operacional foi programado e ter uma visão diferente da que está habituado vai te fazer crescer de uma maneira que nem imagina.
Já programa em C, C++ e Java? Mas você sabe de verdade o que acontece dentro de sua máquina? Com os registradores, memória e bits? O que de fato acontece quando você usa uma função, um looping for, while ou teste condicional? Dê uma pesquisada em Assembly, a sensação é a mesma que Neo deve ter sentido ao sair da Matrix.
Então é Engenheiro, cria hardwares e sistemas microprocessados complexos? Lindo, não?
E o Akinator, já acessou? Já imaginou como ele foi criado?
E aquele site, que muda quando você entra pelo computador, celular ou tablet? Que magia é essa?
E o Facebook, como que raios um sistema é usado por milhões de pessoas, AO MESMO TEMPO? Como esse Banco de Dados aguenta enviar tanta informação? Aliás, você sabe o que é um BD? Ou como o Google criptografa sua conta ou como os hackers invadem sites? Pois que tal estudar PHP e JavaScript, nas horas livres? Você vai se surpreender.
Não se limite. Tire algum momento da sua vida para testar outras áreas. Isso vai abrir sua mente, te deixar mais criativo e com melhor raciocínio. Saber como algo funciona vai te fazer um profissional melhor.
Programadores mecânicos e preguiçosos
Você, com preguiça |
Com o tempo e prática de programação, acabamos aprendendo várias ideias, algoritmos, técnicas e costumes que passam a fazer parte de nossas vidas. Programar certas coisas passa a ser uma tarefa mecânica. Muitas vezes vamos codificando, escrevendo, rodando, testando e comitando (fazendo update do seu código no projeto da empresa, por exemplo). Vira uma rotina.
Porém, uma das coisas mais lindas e instigantes no mundo da programação é quando você, geralmente no início dos estudos/carreira, vê um problema, quebra a cabeça e consegue resolver. Geralmente faz uma gambiarra e usa centenas de linhas de códigos. Depois vai ver a solução do livro, do professor ou colega, e vê que ele fez algo melhor, de maneira mais eficiente, elegante e usando apenas 20 linhas.
Bate uma tristeza e sensação de "como não pensei nisso antes? Como sou burro!".
Mas acredite, é extremamente normal, e aos poucos você vai melhorando.
E o que está por trás deste processo é o que há de mais belo na programação: a criatividade. A capacidade criar, inventar alguma coisa. Mesmo que seja um código simples, mas fazer uma coisa de maneira bonita, simples e funcional é lindo.
Não é à toa que muitos consideram a programação uma verdadeira arte.
Então fica esta nossa última dica para você: não se acomode. Busque sempre novas coisas para fazer, tentar de uma maneira diferente, sair do óbvio. Uma das coisas que gosto de fazer para melhorar minha inteligência, capacidade de concentração, raciocínio e criatividade, é acessar o Project Euler, que é um site voltado para resolver problemas de matemáticas usando programação. Você pode usar a linguagem que quiser, ferramenta que quiser e da maneira que quiser. Ele só te passar um problema e pede a resposta. É incrível resolver um problema do mundo real usando programação. Mais incrível ainda é compartilhar sua solução e estudar a dos outros, é uma evolução nítida na sua capacidade de programas.
Por fim, deixo a dica do que considero de mais belo em programação. A verdadeira obra prima da computação: o Kernel do Linux. Como todos sabem, o Linux é um sistema de código aberto, que é evoluído com a ajuda de milhões de pessoa ao redor do mundo, de maneira voluntária.
E adivinha o que temos quando reunimos a genialidade e criatividade de várias pessoas? Sim, milhões de linhas de código, das mais eficientes e funcionais possíveis. Hoje em dia o código é tão grande, que poucas pessoas tem total domínio dele.
Mas nem precisa, basta escolher uma área de seu interesse e estudar, quem sabe contribuir (gerenciamento de memória, drivers, processador, velocidade, internet, gráficos e uma infinidade de coisas. Para citar uma exemplo: certa vez houve um bug no kernel, que fazia o Linux consumir muita energia e fazia as baterias de notebook durar pouco. Isso foi resolvido no código. Imagina que coisa magnífica, você gerenciar o uso de energia de uma máquina, apenas no código). Você vai ver as mais belas ideias sendo colocadas em prática.
Tire uma hora de sua semana, tente criar um novo projeto, um novo game, estudar o Kernel ou entrar em um projeto de código livre, aprendendo com novas pessoas, novas ideias e compartilhando o que sabe. É um aprendizado para o resto da vida.
Indico o Linux Kernel Newbies para começar.
26 comentários:
Muito obrigado por escrever esse artigo, é muito esclarecedor!
Vejo esses exemplos quase diariamente!
Muito Bom!!!!
Muito bom esse artigo. É inspirador!
Fiquei feliz em constatar que minha atitude em relação a TI é muito parecida com o que é sugerido no texto. :)
May the force be with you.
Muito bom esse blog merece respeito e sua excelência no assunto e muito bom parabéns a o autor.
Adorei!o blog, as dicas, a forma como foi escrito!muito bom cara! realmente inspirador!
Muito bom gostei! Talvez agora eu consigo entender mais de programação!
Continue assim
Muito bem escrito! Parabéns pela sua iniciativa, pessoas como você sempre fazem a diferença!
Alguém sabe porque o site http://projecteuler.net/ está fora de ar?
Oh noes fui descrito,
Tenho que mudar esses habitos...
Muito obrigado, não sabia que estava indo no caminho totalmente errado !
Obrigado pelo post :D
muito bom meeeeeeeeeeeeeeeeesmo cara!
Muito bom mesmo!
Como dizia um de meus amigos, Programar é pensar
Muito obrigado, estou voltando aos estudos agora, e estas informações foram muito úteis pra me ajudar a evitar tais erros no início. Já salvei os links, as dicas, e vou acompanhá-las pouco a pouco.
Ótimo post, o achei por acaso e comecei a lê-lo sem muitas expectativas, mas acabei aprendendo coisas interessantes nele. Muito bom, obrigado por compartilhar.
Bem interessante, grato por você compartilhar essas informações.
ótimo artigo camarada, tenho bastante conhecimento em C, mais irei aprofundar mais ainda e escolhi o seu site para estudar.
Brother teu site e muito bom cara, muitos assuntos inovadores tá de parabéns. Obrigado por compartilhar esse conhecimento.
Forte abraço.
Excelente artigo. Muito esclarecedor e motivador.
Achei muito legal o artigo, já programo a um tempo, é do meu ponto de vista antes de aprender uma linguagens é seus macetes a primeira coisa que se deve aprender é logica, pois a logica e a essência da coisa toda, depois disso vc começa a pegar uma linguagem e isso torna ate mais fácil o aprendizado.
Um Otimo Artigo, Tenho muitos livros sobre programação e estudo de tudo um pouco, até pensava que erá exagero meu, mas lendo este artigo agora me inspirou a ir mais alem.
Estou pensando em começar a aprender programação, e seus conselhos são tudo que qualquer iniciante precisa, valeu mesmo! Parabéns!
Karaka cê é foda melhor exemplo "maçã ou sapato"
Parabéns excelente já se passou alguns anos mas este artigo me ajudou a abrir os horizontes e ver que eu estava estagnado e obsecado por uns poucos bocados de conhecimento mas na verdade nos sempre precisamos buscar maos e mais e nunca se saciar de conhecimento.
Tenho duas perguntas, primeiro,
você acha que é uma boa prática de estudo ver vídeo aulas e em seguida resolver exercícios ?
E outra pergunta, você acha que é bom tentar saber mais de uma linguagem ? E se eu esquecer de alguma coisa relacionada ao código é normal ter de rever conteúdo mesmo já trabalhando com isso ?
Faltou algo básico: INGLÊS
Postar um comentário