Featured Posts

ExtJS, Spring MVC 3 e Hibernate 3.5: Exemplo de um... Este tutorial demonstra como implementar um CRUD Grid (Create, Read, Update, Delete) usando ExtJS, Spring MVC 3 e Hibernate 3.5 O que geralmente queremos fazer com os dados Create (Criar) - (Insert) Read...

Readmore

ExtJS plugin: PagingToolbarResizer Ei pessoal, Este é o meu primeiro plugin em ExtJS. Apesar de não ser algo complicado, estou muito feliz e é um grande feito para mim! Bem, chega e introduções e vamos ao que realmente interessa. O...

Readmore

8++ perguntas para @loiane - por @hlegius Tempos atrás o Helio me enviou um questionário para eu responder, uma espécie de "entrevista". E agora ele publicou no blog dele! :) São minhas opiniões pessoais, e isso não quer dizer que estou...

Readmore

Carreira em TI: Currículo em Inglês Uma das grandes dificuldades para as pessoas da área de TI é, muitas vezes, escrever um bom currículo em inglês. E ter um currículo em inglês, é essencial, já que inglês é tão importante quanto...

Readmore

Entrevista para o Jornal A Tribuna Jan/2010: Profissões... Na última de semana de janeiro tive a honra de conceder mais uma entrevista para o jornal A Tribuna - vendido no Espírito Santo, meu estado natal - sobre mercado de trabalho na área de TI. A reportagem...

Readmore

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

Posted by Loiane | Posted in programação | Posted on 07-10-2009

2

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 diversar empresas/instituições que de vem 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!

Pra terminar, o Filipi fez essa apresentação para motivar o pessoal que ia participar da Maratona. Quero agradecer a ele pela referência! ;)

Boa sorte e bons códigos!

:)

  • Share/Bookmark

Posts Similares

Comments (2)

Boa! Eu também participo do TopCoder.
Por falar nisso, o Bruno Ribas tem uma apresentação sobre a Maratona também.

Amoooo, Amooooo, Amoooooooo o teu blog!!!!

Vc é MARAAA!!!
bjo

Write a comment