Friday, March 30, 2012

Como melhorar sua habilidade de programação e resolução de problemas

Uma pessoa que trabalha com desenvolvimento sempre escuta que a melhor formar de melhorar suas habilidades de programação é colocando a mão na massa. O mesmo acontece com aqueles que estão começando a aprender uma nova linguagem, quando perguntam: “Agora que já sei fazer o básico, qual é o próximo passo?”. E a resposta dessa pergunta é sempre algo do tipo: “desenvolve um pequeno projeto para você praticar, assim você pega as manhas da linguagem mais fácil”.

Uma resposta semelhante é dada para quem procura melhorar seus skills de resolução de problemas (ou lógica de programação, neste caso). Afinal, o que adianta uma pessoa saber uma linguagem de programação se não sabe o que e como usar as técnicas certas para a resolução de um determinado problema. E o foco aqui não é qual framework usar, e sim como usar a lógica para resolver o problema.

Ok, eu já sei que é praticar. No mundo da programação, os problemas não se resumem em telas de cadastro e alguns selects no banco de dados. Os problemas estão muito além desse trivial. Não é à toa que ainda temos problemas que não possuem uma solução conhecida.

Uma boa forma de praticar a resolução de problemas não triviais é através das competições de programação. Essas competições trazem problemas em que a solução envolve grafos, busca e ordenação de dados, matemática, simulação, etc. E acreditem, melhora e MUITO a habilidade de programar e resolver problemas, além de ser um ótimo hobby e ser relaxante (não, isso não é coisa de nerd, e se você está nessa área, amar programar e achar isso relaxante é o mínimo né?).

Atualmente, estou praticando esses problemas como hobby, no UVA e TopCoder. É bem interessante quando você lê um problema, acha que é bem fácil de resolver, e quando termina o algoritmo, você toma um “Wrong Answer” do judge, e fica se matando para conseguir acertar.

É uma ótima maneira de expandir os horizontes e aumentar o conhecimento de algoritmos diversos.

Aí você pergunta: Mas pra que eu vou fazer isso? Isso deve ser coisa de nerd que não tem o que fazer! Google, Microsoft e IBM estão sempre de olho nas pessoas que gostam desses desafios. E também são essas empresas que patrocinam as competições. No final diversos ex-competidores acabam como funcionários dessas empresas.

A própria Google tem sua competição, o Google Code Jam. Conheço algumas pessoas que ganharam a competição e hoje estão trabalhando lá.

E você também pode ganhar um dinheiro extra com essas competições. O TopCoder sempre tem competições periodicamente, tanto de desenvolvimento de componentes, quanto competições de resolução de pequenos problemas. E o prêmio é em dólar! rs Além de diversas empresas/instituições que de vez em quando patrocinam as competições em busca de talentos, entre elas NASA, Facebook, Nike, etc.

E se você ainda é estudante, você também tem a oportunidade de participar da Maratona de Programação. Aqui no Brasil tem o apoio da SBC (Sociedade Brasileira de Computação), mas é de nível mundial, apoiado pela ACM (Association for Computing Machinery – uma das ‘socidades’/grupo de computação mais respeitado no mundo). Já tive a oportunidade de representar a minha faculdade numa final brasileira, e realmente, não tem preço! É muito legal! :)

Depois de todo esse texto, ainda acha que é bobagem? TUDO se resume a OPORTUNIDADE. Seu futuro emprego pode ter origem em uma dessas competições!

Boa sorte e bons códigos!

Post de referência: http://wp.me/pCF9v-gr

Bacharel em Ciência da Computação, trabalha como Engenheira de Software Sr em uma instituição financeira em projetos internacionais, em São Paulo. Já trabalhou na IBM como IT Specialist e líder de equipe para projetos internacionais. Possui 6+ anos de experiência em Java EE. Expertise em Java, atuando como JUG Leader no CampinasJUG e coordenadora do ESJUG, além de co-fundadora do JDuchessBR, grupos de usuários java. Expertise em Ext JS, um framework JavaScript, sobre qual escreveu um livro em inglês (Ext JS 4 First Look) lançado mundialmente pela Packt Publishing. Nas horas vagas escreve artigos técnicos e sobre carreira em TI nos blogs http://loiane.com e http://loianegroner.com. No blog também é possível encontrar cursos online gratuitos sobre produtos Sencha.

Veja perfil e 29 post(s)

0 comments:

Post a Comment