Quer ser desenvolvedor e não sabe onde começar?

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

Recentemente escrevi um artigo sobre certificação MCP e recebi diversas mensagens de pessoas que estão começando ou estão querendo começar a trabalhar na área de informática. A maioria interessada na área de desenvolvimento – então vamos falar um pouco sobre como começar uma carreira na área de desenvolvimento de software.

Analisando a velocidade com que as mudanças na área da informática acontecem, é fácil deduzir que a tecnologia de ontem já não serve para hoje. Isso vale também para técnicas de programação e desenvolvimento. Há 20 anos, a maioria dos programas eram escritos para ambientes não gráfico (ex. DOS) e o Clipper era a linguagem do momento.

Há 10 anos o paradigma já havia mudado e a sensação era a programação estruturada orientada a eventos com o Visual Basic e com o Delphi, linguagens que tiveram sua participação reduzida no mercado de lá para cá. Hoje em dia, há procura por Java e o ambiente .NET, com orientação a objetos e frameworks que fazem muito trabalho pesado pelo programador.

Mas como dominar estas tecnologias para conseguir um bom emprego e decolar sua carreira na área de desenvolvimento?

Como disse anteriormente, as novas tecnologias já trazem muita codificação pronta, ou seja, fazem uma boa parte do trabalho pelo programador. Se por um lado isto é muito bacana pois melhora a produtividade no ambiente de desenvolvimento, por outro lado faz com que muitos programadores desconheçam os processos básicos de funcionamento de um CPU (unidade central de processamento) e o laço de mensagens de um ambiente multitarefas como o Windows.

Estes conhecimentos são necessários caso você queira fazer a diferença no mercado. Portanto, se você quer iniciar sua carreira na área de desenvolvimento, puxe o freio de mão, diminua a ansiedade por já começar programando e inicie pelo básico, que é a lógica de programação. Talvez você ache tedioso no começo, mas se for direto para a codificação terá muita dificuldade em resolver problemas simples de lógica e não conseguirá interpor problemas simples com algoritmos simples.

O ideal para quem quer começar a programar é esquecer que existem linguagens de programação e, antes de mais nada, aprender lógica. Quem domina bem a lógica consegue programar em qualquer linguagem, seja ela JAVA, Basic, C, etc… Todas as linguagens são bem semelhantes, possuem os mesmos conceitos, só muda a sintaxe.

Durante o aprendizado de lógica, você perceberá que será importante utilizar uma linguagem de programação como apoio. Evite iniciar fazendo sistemas com banco de dados ou para ambiente gráfico, se você quer uma opção gratuita, pode fazer o download do Visual Studio Express no site da Microsoft. Não importa a linguagem (VB ou C#), utilize a opção “console application” apenas para codificar aquilo que está aprendendo com a lógica de programação. Não se preocupe neste momento em criar classes ou métodos, preocupe-se em entender os laços (do while / case / switch / if then else ) e aproveite para conhecer um pouco sobre índices.

Assim que se sentir seguro com a lógica de programação, dê uma investida maior na linguagem de programação escolhida. Aprenda como funciona o laço de mensagens do Windows, os eventos e as propriedades dos objetos que a linguagem disponibiliza.

Na primeira etapa, não se preocupe em criar programas que utilizem banco de dados, dê uma grande investida no ambiente de programação e nos componentes básico como caixas de texto, labels e controle de imagens. Pratique bastante os eventos do sistema como movimento do mouse, mudança no foco, tecla pressionada, etc.

Neste momento é hora de lançar o seu primeiro desafio pessoal. Que tal aproveitar que você já conhece lógica de programação, já domina os principais eventos do sistema e conhece os principais objetos para fazer o seu primeiro programa?

Nada melhor do que a prática para se chegar a perfeição. Com o desafio pessoal você irá notar que muitas novidades irão surgir, novos desafios de lógica, a necessidade de conhecer mais a fundo alguns eventos do sistema, etc. Um bom desafio para começar, ainda sem utilizar banco de dados, é fazer um programa que resolva algum cálculo matemático dado a entrada de alguns números (parece simples, mas se você não tratar uma divisão por zero o programa terá um “bug” e não funcionará).

Assim que concluir o seu primeiro desafio, comece a estudar orientação a objetos. Esta é uma das tarefas mais complexas do mundo do desenvolvimento e também irá o preparar para quando for dar um salto na sua carreira passando de programador para analista de sistemas.

A maioria dos programadores no mundo de hoje trabalha com orientação a objetos, mas se investigarmos a lógica existente nos objetos criados, percebemos que muitos não extraem deste conceito aquilo que ele pode oferecer. Por exemplo, você notará que uma classe deve ter uma responsabilidade muito bem definida e não pode, de maneira alguma, extrapolar a sua responsabilidade, fazendo aquilo que outra classe deveria fazer. Tudo bem, a linguagem de programação deixa fazer, mas foge ao conceito da utilização de classes, portanto o uso de um bom livro irá auxiliar enormemente nesta etapa. Um programador que conheça bem orientação a objetos terá um grande diferencial no mercado, portanto dê bastante atenção a este item.

É durante esta etapa que você deve começar também a estudar banco de dados. Neste primeiro momento, preocupe-se em saber criar tabelas, fazer consultas e alterações nas tabelas, utilizar chaves primárias e estrangeiras e campos auto numeráveis. Explore ao máximo os recursos oferecidos pelo ambiente de desenvolvimento que você está utilizando. Quase todos oferecem diversas classes prontas para trabalhar com banco de dados.

Crie consultas, telas de cadastro, alteração, exclusão (se estiver utilizando o .NET, experimente utilizar os DataGrids e verifique item a item as suas propriedades e o que faz cada uma delas mas não deixe de montar telas de cadastro e consultas manuais, você irá entender melhor o funcionamento interno dos DataGrids).

Já domina uma boa parte sobre banco de dados e outra boa parte sobre orientação a objetos? Então agora é hora de lançar o seu segundo e maior desafio pessoal até agora! Que tal aproveitar que você já domina bem a ferramenta e fazer um programa completo? Pense em algum programa que possa auxiliar as pessoas no seu dia-a-dia, pense em fazê-lo como freeware e divulgá-lo na internet. Sites como o Superdownloads fazem este trabalho de divulgação por você!

Será um excelente portfolio para colocar no seu currículo caso ainda não possua experiência alguma no mercado. Se ainda não sabe o que fazer, por que não fazer um controle de orçamento doméstico? Ou um programa que auxilia as pessoas a montar a sua lista de compras de supermercado? Ou mesmo uma agenda de compromisso?

Agora que você já conhece alguma coisa sobre os conceitos de programação e já inclusive desenvolve alguns programas, é hora de montar um currículo e ir a caça de um bom emprego. Boa sorte! [Webinsider]

.

Avatar de Renato Ucha

Renato Ucha é formado em administração de empresas, especializado em gestão de projetos. Possui vasta experiência na área, além de dar palestras e escrever sobre o assunto.

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

21 respostas

  1. Cara… eu não sei nada sobre desenvolvimento.
    Mas o seu texto me motivou muuuito…. espero poder ler o seu livro em breve. Irei começar agr mesmo a me preparar.
    Muito obrigado!

  2. Excelente artigo!!acabou me ajudando muito,gostaria de saber se existem alguns passos diferentes para quem deseja desenvolver pra web qual tecnologia estudar etc.

  3. Esse artigo foi de grande esclarecimento para mim. estava estudando totalmente errado, indo primeiro atrás de certificação e focando pouco no básico. vou seguir essas orientações.
    Obrigado Renato

  4. Boa noite.

    Esse texto era o que eu procurava a dias. Sou da área jurídica e tenho como hoby, informática. Nas horas de folga e finais de semana. sempre aprendo o que é possivel, pela internet. tenho um sonho ou obsessão. Pretendo desenvolver um software em uma área especifica do conhecimento relativo à minha atividade, contudo, não é fácil. é complexa e
    meticulosa. já pensei em encomendar a um profissional, contudo daria o ouro ao concorrente e talvez não ficasse do jeito que idealizo em minhas abstrações. Por isso, leve o tempo que levar, mas eu farei o meu Software. Esse texto me deu uma boa orientada. obrigado.

  5. Sempre tive um sonho em ser grande desenvolvido de software, mais tenho tido baixas por falta de incentivo. Concordo plenamente que faculdade não é que nos capacita em termo de sermos oque realmente queremos ser mais sim pra garantir um titulo ai sim. Gostei imenso os conselho que nos foram proposto agora é hora de jogar duro e conseguir alcançar os objectivo que cada um propõe. Pessoal valeu um grande abraço!

  6. Boa tarde a todos..

    Sou estudante de Sistema da Informação , estou no 1° periodo e já estou estudando linguagem java e C++ por minha conta.estou muito ansioso para desenvolver software o que devo fazer nessa situação..

  7. Sou estudante de gestão de sistema de informação, e atuo como suporte técnico mas meu desejo mesmo é programar para plataformas móveis.

    Tenho uma grande dúvida, que poderia ser um bom complemento pra esse texto se ela for respondida.

    E se o objetivo do profissional não for arranjar um bom emprego mas sim ter o seu próprio empreendimento?

    Esse é o meu objetivo, e gostaria de ter recomendações ao nível desta mas para empreender seu próprio negócio.

  8. Renato, muito bom!
    As dicas são excelentes, e você citou coisas muito importantes para um bom começo nesta área.

    Sou estudante de TI e atualmente trabalho com suporte mas pretendo migrar para a área de desenvolvimento.

    Enquanto a questão da faculdade, eu acredito que existem muitos autodidatas que dão um banho em muitos graduados. Mas a faculdade é um meio importante para um profissional, eu vejo um curso de graduação (principalmente em TI) apenas como uma introdução aos estudos, o papel da faculdade é dá ao proffissional uma base de tudo para que este possa escolher o melhor caminho para ele e se especializar. Digamos que ela não é a atividade fim e se a atividade meio. Cabe ao estudante segui adiante e se especializar, seja com pós, certificações, mestrado, doutorado… ou como autodidata. Acredito que o estudante deve ser sempre autodidata e não deve se limitar somente ao que aprende no meio acadêmico. Não tenham pensamentos mediocres, um profissional deve buscar o curso superior e ser sempre autodidata.

  9. Muito bom o artigo, realmente a ansiedade é um problema para quem está começando.

    Quanto à discussão sobre faculdade/autodidata, acho que dá para consiliar as coisas. A faculdade para mim apenas esclareceu muita coisa, principalemnte no início, quando não sabia nem por onde começar. Mas a instituição só abre caminhos, você deve continuar por si mesmo.

  10. Não se engane! Mesmo com todo conhecimento sendo autodidata, as empresas pensam no futuro e no futuro isso será o diferencial. Acredito que foi nessa situação que Rafael colocou a Faculdade.
    Não é que a pessoa vai ser mais ou menos criativa (ou qualquer outra competência). Mas na hora de escolher quem vai liderá um equipe a graduação, poderá (com certeza) ser o diferencial.
    Todos nós de alguma forma no ramo de Desenvolvimento de software somos autodidatas, mas os titulos (certificações, graduações, especializações, mestrado, doutorado, etc) serão o nosso diferencial para um crescimento profissional.
    Digo isso de experiência propria. Sempre trabalhei na área, mas só depois da Graduação e inicio da Especialização comecei a ser valorizado de fato.

  11. A faculdade não é única fonte de aprendizado para
    programação, é comprando bons livros e analizandos
    codigos de programas prontos, é que se aprende a
    programar, se alguem conhece uma forma melhor de
    aprender programação

  12. Ola!

    Gostei deste artigo, gostaria ter esta luz alguns anos atraz. Vejo que alguns acham que faculdade não é importante, concordo que na área de informática realmente não é necessário, mas hoje as empresas estão cada vez mais competitivas, e pra ter mais qualidade e credibilidade em seus produtos, precisa-se ter profissionais com boas qualificaçães, sendo assim graduação hoje é essencial, para que possamos competir no mercado.

  13. Ao Rafael,

    Discordo plenamente da obrigatoriedade de um diploma de curso superior para exercer a profissão.

    Frequentei diversas instituições públicas e privadas de ensino superior e presenciei as mais absurdas aberrações, tanto na competência do corpo docente, quanto ainda pior do discente.

    (O senso comum diz que não se deve fazer generalizações. Mas, se assim for, então o quê fazemos com as leis da Medicina, Física, Química, Matemática ? Dado o amplo uso de generalizações em todas as áreas do conhecimento ?)

    Sou autodidata por opção, trabalho com Software Livre/Código Aberto desde 1996/97 e concordo plenamente com a afirmação de que qualificação não determina competência — frase esta do ex-presidente da SBC, Silvio Meira.

    Li a grande maioria dos clássicos de Ciência de Computação, por conta própria e seria capaz de apostar que um contingente muito alto de ex-alunos de cursos relacionados e/ou co-relacionados, não fez o mesmo, apenas ouviu falar.

    Não acredito que todos tenham a capacidade de serem autodidatas verdadeiros, aqueles que compreendem a teoria e empreendem a prática.

    O único motivo para frequentar uma faculdade na área é, infelizmente, a obrigatoriedade que uma lei retrógrada nos imporá em um futuro próximo.

    []´s

    LVR

  14. Bela matéria, é extremamente importante conhecer o básico para passar ao complexo, principalmente para não desanimar, você deu uns toques interessante para a galera que está começando.

  15. Ótimo artigo! Estava preocupada e anciosa em ter pleno dominío em programação ,quando tocou em pontos básicos e importantes.
    Não pare poderá ajudar outras pessoas
    obrigada pelo toque valeuuuu.

  16. Ô Renato, bom artigo.

    Só gostaria de lembrar que o conhecimento do Inglês é tão importante quanto as qualificações técnicas. Afinal, os melhores livros e tutoriais ainda são em inglês. Sem falar que os softwares para desenvolvimento, assim como suas mensagens são em inglês.

    Para quem se anima com as fórmulas mágicas de aprendizado que alguns livros tentam trazer, recomendo a leitura do texto riquíssimo chamado Teach Yourself Programming in Ten Years (http://norvig.com/21-days.html).

    Para quem ainda não se garante no inglês, tem um link para a tradução em português na coluna da direita.

    Para quem acha que o autor não sabe do que está falando, veja as credenciais dele em http://www.norvig.com na caixinha à direita, com as informações de contato.


    []s.
    Vinicius Assef.

  17. Muito bom o texto. Mas concordo com o comentário do amigo Rafael, não devemos esquecer que para exercer este tipo de atividade, é imprescindível uma faculdade na área de tecnologia, independente de existir ou não uma associação de classes para fiscalizar o trabalho dos profissionais nas empresas de software. Senão, acabaremos por voltar na época dos dentistas práticos. Você confiaria? Eu não…

  18. Discordo do Rafael, não acho que uma faculdade qualifique uma pessoa, não acho que ela seja essencial. Aliás, dou mais valor ao conhecimento conseguido de forma autodidata. E só para constar: já fiz faculdade de ciência da computação e fui um ótimo aluno.

  19. Não podemos esquecer que para aqueles que pensam em ir longe nas carreiras de desenvolvedor de software e analista de sistemas uma faculdade é indispensável, pois logo nós desenvolvedores teremos um sindicato que irá fiscalizar se as empresas estão utilizando os serviços de unicamente profissionais qualificados.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *