A empresa Internet Group do Brasil LTDA, fundada em
janeiro de 2000, foi um dos primeiros provedores gratuitos a surgir
no país. Adotando diversas estratégias de marketing e investindo
em uma campanha publicitária ambiciosa, o iG se tornou o maior provedor
de acesso e conteúdo gratuito do país. Ao contrário
dos diversos outros provedores gratuitos que foram fechando um a um, o iG
conseguiu sobreviver às crises sofridas pelas empresas pontocom, sabendo
se adaptar aos tempos de vacas magras e evoluir dentro do ramo da Internet.
Uma das medidas tomadas pelo iG foi a venda de toda a sua infra-estrutura
de acesso (linhas telefônicas, servidores, cabos de conexão
com a rede pública de telefonia, entre outros equipamentos) para a
operadora Telemar, resultando uma melhoria na qualidade do acesso à
Internet. Da mesma forma, a empresa investiu bastante na área
de conteúdo dos sites, tendo como destaque os sites
Morango
,
Babado
,
Último Segundo
e
Chic
. O iG ainda conta com alguns tipos de serviços pagos, que se resume
ao site de entretenimento adulto
RedSex
e os serviços de banda larga
Super iG
e
iG3
, que utilizam as tecnologias ADSL e RDSI, respectivamente. Além disso,
em julho de 2001, o iG comprou o hpG, serviço que hospeda gratuitamente
786000 sites pessoais em português, visando atrair mais o acesso às
páginas da empresa.
Desde julho do ano de 2001, o iG tem apresentado lucro, um resultado bastante
positivo para uma empresa pontocom que está a menos de dois anos no
mercado. Adicionado a isso, segundo um relatório do mês de outubro de 2001
elaborado pelo Jupiter Media Metrix, um instituto especializado em determinar
audiência na Internet, o iG assumiu a liderança de audiência
da rede brasileira, superando o UOL, seu maior concorrente. Em outra medição
feita pelo Ibope eRatings, o resultado indica que há empate técnico entre
esses dois provedores.
No futuro, o iG pretende aumentar a sua lucratividade no mercado e manter
a liderança na Internet brasileira, ampliando seus investimentos em
publicidade e serviços que aumente a popularidade da empresa.
4. Atividades Realizadas
Durante o meu estágio no iG, eu participei de
vários projetos. A seguir, descreverei um cronograma com as
principais atividades exercidas desde meu ingresso na empresa.
- Serviços Gratuitos
O primeiro sistema que trabalhei corresponde ao de serviços
gratuitos. Esses serviços englobam o sistema de cadastro do usuário
pela Internet, tanto para criação de e-mails como para a definição
do perfil do usuário. Além disso, existe o sistema de atendimento
online, onde o usuário pode modificar seus dados cadastrais, alterar
ou lembrar a senha de acesso, criar e-mails adicionais e outras funcionalidades.
No começo, para acostumar com a tecnologia utilizada
no sistema (PHP, HTML, PL/SQL), minhas atividades se resumiam a arrumar
erros e criar pequenas modificações e novas funcionalidades
no sistema já criado.
- Parceiros
O iG promove um tipo de parceria com outros sites (Lancenet,
Radio Hits, Árvore da Vida) que tem como objetivo atrair outros
públicos ao iG. Para isso, parte do conteúdo desses sites
parceiros se restringe a usuários cadastrados no iG. Dessa forma, é
necessário uma interação feita entre o iG e seus parceiros tanto para a
autenticação como para troca de dados cadastrais do usuário.
Participei da criação do sistema de cadastro
de usuário no iG realizado pela Lancenet, um de seus parceiros. Esse
processo fez com que eu me aprofundasse mais no entendimento do sistema de
cadastro do iG, principalmente na programação de PHP, HTML
e javascript.
Outra atividade feita por mim consistia no envio de
e-mail para todos os usuários da empresa Medical Services, outro parceiro
do iG, contendo a newsletter com assuntos principais do Último Segundo.
Esse procedimento, feito em Perl, fez com que eu conhecesse melhor o acesso
ao banco de dados e da geração de Newsletter do iG.
Além disso, também fui responsável
pela criação do sistema de cadastro de usuário no iG
realizado pela Stellas Barros, mais um parceiro da empresa. Essa atividade
foi interessante, pois durante a sua implementação, precisei
estar me comunicando com um representante do parceiro localizado nos Estados
Unidos. Este estava implementando a comunicação de troca de
dados cadastrais do lado americano, precisando fazer constantes testes para
nos certificar o funcionamento do sistema. Dessa forma, além de treinar
meu inglês, obtive conhecimentos sobre a tecnologia XML, utilizada para troca de
dados entre o iG e a Stella Barros.
- Vignette
Eu obtive uma rápida passagem na equipe
do Vignette. Depois que dois funcionários dessa equipe saíram
da empresa, meu supervisor solicitou que eu e um outro funcionário
do Desenvolvimento integrassem a equipe Vignette. Essa mudança era
necessária pois a página principal do iG precisava ser remodelada,
e o deadline para essa mudança de layout estava próximo. Apesar
de ter ficado pouco tempo na equipe (em torno de 3 semanas), foi interessante
para mim conhecer o software Vignette e o sistema que essa equipe utiliza
para manter o conteúdo dinâmico. Basicamente eles desenvolvem uma
aplicação utilizando o Vignette para que o departamento que
edita o conteúdo (Último Segundo, homepage principal, etc)
necessite apenas digitar a notícia ou mensagem no espaço
desejado, jogando em seguida no ar. A minha participação na
elaboração da nova estrutura da homepage consistiu em apenas
alterar algumas partes desse sistema criado, limitando-se a conhecer melhor o
software.
- Gerenciamento de Tarefas
Logo após essa rápida passagem pelo
Vignette, meu supervisor me solicitou a elaboração de uma ferramenta
para o controle das atividades dos funcionários do departamento de
Desenvolvimento. Pessoalmente, esse foi o projeto que eu mais tive responsabilidade
para fazer, uma vez que as especificações permitiam diferentes
formas de implementação. Basicamente eu tinha como seria a
estrutura da ferramenta no banco de dados e quais as funcionalidades
desejadas. Toda a parte de criação de layout e fluxo deveriam
ser decidido por mim. Dessa forma, procurei utilizar o mesmo sistema do cadastro,
feito em PHP, HTML e PL/SQL.
Pela primeira vez comecei a programar em PL/SQL,
precisando criar todas as funções, procedures e triggers utilizados
pelo sistema. Esse processo me beneficiou bastante, pois pude ter maior contato
com o banco de dados do iG. Além disso, o sistema era totalmente independente
do que já tinha sido feito pelo desenvolvimento, não existindo vínculo
com o que já existia.
Um dos meus maiores erros foi não
ter planejado direito como implementar o sistema. Basicamente a cada dia
eu ia criando as procedures em PL/SQL que eu achava que o sistema ia utilizar
e programando os PHP e HTML para cada funcionalidade de uma vez. No entanto,
muitas vezes eu via que tal funcionalidade não estava boa, tendo que
recriar tudo novamente.
Outro erro que percebi foi não ter feito
um cronograma do projeto, uma vez que não havia sido estipulado um
prazo. Dessa forma, não controlei direito o tempo de produção.
O projeto acabou se estendendo, na minha opinião, mais do que devia.
O sistema levou um mês para ser concluído.
No entanto, ele acabou não sendo ainda utilizado, pois o departamento
de Tecnologia, que cuida da administração dos servidores, pretende
integrar futuramente um sistema criado por eles com este elaborado. A implementação
do sistema seria bem mais complexa, precisando uma reformulação
no esquema já existente, o que acabou se tornando um projeto futuro.
- Super iG
O Super iG, em determinado momento, passou
a ser o principal serviço pago do iG. Foi feito um grande investimento
em publicidade para divulgar o serviço. Dessa forma, foi solicitado
a reformulação de todo o processo de cadastro da assinatura
Super iG. Esse projeto acabou definindo uma sub-equipe formado por eu e mais
três funcionários do Desenvolvimento que passou a atuar exclusivamente
dedicado aos serviços pagos.
O primeiro passo do projeto foi reestruturar
todo o fluxo de assinatura do Super iG, reprogramando os PHP, HTML e principalmente
as procedures e funções em PL/SQL. Também foi criado
um sistema de vendas de assinatura Super iG utilizado pelos atendentes de
vendas do serviço pago. Um atendimento online exclusivo do serviço
Super iG também foi elaborado no intuito de diferenciar o produto.
A ferramenta de suporte, criada para dar suporte aos usuários utilizado
pelos atendentes obteve várias funcionalidades imcrementadas para
melhor atendimento ao usuário.
Por se tratar de um projeto maior, composto de diversas atividades
que deveriam ser feitas em um curto espaço de tempo, foi necessária uma melhor
divisão de trabalho administrada por nós. Esse projeto estimulou bastante
o trabalho em equipe, fato que pode ser confirmado pelas diversas reuniões e
discussões geradas durante o processo.
- Reformulação da Estrutura de Serviços Pagos
no Banco de Dados
Com o início da prestação
de serviços pagos pelo iG, foi criado uma estrutura no banco de dados
para suprir esses novos tipos de assinaturas. No entanto, essa estrutura
criada era bastante simples, não visando um maior crescimento de serviços.
Com o surgimento de outros serviços pagos, como o RedSex e principalmente
o Super iG, uma estrutura bem mais complexa no banco de dados era exigida
para poder comportar tais serviços. Por outro lado, os prazos da entrada
desses serviços no ar era curto, o que resultou em reutilizar o sistema
de banco de dados já existente, apenas o "remendando" conforme a necessidade:
novos campos eram inclusos nas tabelas, novas tabelas foram integradas no
sistema, novas regras eram estabelecidas para o funcionamento do sistema.
O resultado foi que a estrutura cresceu de tal forma que o banco de dados
passou a ficar ineficiente e obsoleto.
O projeto de reestruturação da estrutura de serviços
pagos visava arrumar todo o sistema de banco de dados referente a esses serviços.
Dessa forma, a mesma equipe formada para a reformulação do
cadastro do Super iG juntamente com a equipe de Banco de Dados passaram a
ser os responsáveis pelo projeto.
Esse projeto era bem mais complexo de se realizar, pois não se tratava
apenas de reprogramar códigos já existentes. Precisamos revisar
todo o sistema já criado, rever todas as regras existentes neles e,
pela primeira vez dentro da empresa, documentar esse processo. Como o projeto
contava com diferentes equipes em seu desenvolvimento (além da equipe
do Desenvolvimento e do Banco de Dados, o sistema também envolvia
o departamento Financeiro da empresa, responsável pela cobrança
das assinaturas), diversas reuniões foram feitas para discutir como
ficaria a nova estrutura do banco de dados.
Uma das maiores dificuldades encontradas foi em definir qual a melhor forma
de estruturar o banco de dados. Várias mudanças foram feitas até
chegar em um modelo definitivo, o que causou um prolongamento nesse projeto.
Outro fator que dificultou bastante foi o processo de estipulação
de regras dos serviços pagos. Como a documentação em
relação a isso era bastante precária, foi necessário
analisar códigos de PHP, funções, procedures e triggers
para podermos analisar e reformular essas regras.
Mais uma vez não foi criado um cronograma concreto das atividades
a serem realizadas. O projeto se prolongava cada vez mais, sem existir um
prazo final. Como foi a primeira vez que procuramos planejar as mudanças
a serem realizadas antes de programar, diversos erros foram encontrados para
estabelecer qual a melhor maneira de documentar o que deveríamos a
fazer.
No fim, apesar de conseguirmos documentar as regras desejadas e já
ter estruturado como seriam as mudanças necessárias, o departamento
Financeiro não chegou em um consenso a respeito dessa reestruturação,
necessitando rediscutir novamente todo o sistema. No entanto, com o surgimento
de outras pendências envolvendo serviços pagos, esse projeto acabou se
interrompendo, para que seja retomado futuramente quando as
novas pendências forem resolvidas.
- Verificação da Consistência do Banco de Dados
Atualmente as atividades em que estive envolvido consiste
na implementação de scripts para a verificação
e conserto de inconsistência do banco de dados. Esses scripts, feitos
em Perl, visam gerar relatórios e arrumar erros encontrados a respeitos
das regras do sistema de serviço pago.
Pessoalmente, esse tipo de programação me beneficia mais do
que as outras realizadas na empresa, pois através dela em ponho mais
em prática o meu aprendizado na faculdade e foge um pouco das tecnologias
PHP-HTML-PL/SQL, que se tornaram um pouco repetitivas com o passar do tempo.
5. Estrutura de Trabalho
Como pode se notar nas atividades descritas acima,
nossa função dentro da empresa consiste principalmente na programação
das páginas e aplicações referentes aos serviços
gratuitos e pagos. Boa parte das aplicações criadas utilizam
a seguinte tecnologia:
PHP - manipulação de dados fornecidos pelo usuário
HTML e javascript - layout das páginas
PL/SQL - funções, procedures e triggers que servem para manipular
os dados no banco.
Para a realização das páginas, existe um ambiente de
desenvolvimento e outro de produção, tanto dos servidores que
ficam localizados as aplicações criadas como do banco de dados.
Dessa forma, as aplicações são realizadas e testadas
no ambiente de desenvolvimento, e após verificar o seu funcionamento,
essas são aplicadas no ambiente de produção, podendo
ser acessadas pelos usuários.
Um dos problemas enfrentados nas atividades realizadas, como se pode ver nos
relatos acima, é rapidez que certas aplicações devem
entrar no ar. Constantemente precisamos interromper alguma atividade de prioridade
mais baixa para nos concentrarmos em elaborar outra mais importante. Muitas
vezes, a especificação não está bem definida,
mudando requisitos na fase de implementação, ocasionando perda
de tempo. Como conseqüência, acabamos não realizando testes
suficientes, precisando arrumar conforme vão surgindo os erros. E,
em alguns casos, como no projeto de gerenciamento de tarefas e na reestruturação
do banco de dados, as atividades que estavam sendo realizadas acabam se tornando
projetos futuros.
Toda semana participo de uma reunião para discutir o andamento das
pendências e pra informar e receber novas atividades a serem feitas. Nessa reunião
participam os integrantes da sub-equipe do Desenvolvimento responsável
pelos serviços pagos (eu e mais três funcionários)
e o supervisor. Apesar de considerar essa reunião importante, ela
nos limita a conhecer somente as atividades realizadas a respeito do serviço
pago. Seria interessante se fôssemos informados das atividades realizadas
pelos outros funcionários. Além de conhecer melhor as aplicações
desenvolvidas pelo Departamento como um todo, evitaríamos erros ocasinados
por eventuais alterações de outras equipes na funcionalidade do sistema.
8. Faculdade
Várias situações que vivenciei
durante o curso no IME puderam ser constatadas no estágio. Um fator
interessante é a pressão exercida pelos professores no curso
do BCC, solicitando sempre diversos trabalhos, EPs e listas a serem entregues
em prazos pouco dilatados (adiando alguns dias quando chega a véspera
da entrega). No estágio, apesar dos prazos não poderem ser
aumentados (na maioria das vezes...), o que pude notar é que já
estava acostumado a receber uma atividade a ser entregue um curto prazo e
conseguir terminar a tempo. Também percebi que mesmo não
conhecendo algum tipo de tecnologia ou linguagem, bastava apenas um pequeno
estudo para que pudesse já utilizá-la em alguma aplicação.
Acredito que o curso no BCC me preparou para isso, permitindo me adaptar
em qualquer trabalho, independente de tecnologia ou linguagem utilizada.
Também é interessante ressaltar a importância em
saber trabalhar em grupo. Apesar de, no IME, não haver uma grande
interação entre os componentes dos grupos na realização
dos EPs, no estágio, percebemos que esse fator é bastante importante
na conclusão do trabalho. Como os projetos são compostos por
diversas atividades, precisamos saber dividir bem as tarefas e procurar cumprir
seus prazos para não interferir no trabalho dos outros. Nesse ponto,
a comunicação é bastante importante para que o projeto
seja elaborado de maneira correta.
A carga horária do meu estágio consistia em trabalhar
6 horas diárias. Dessa forma precisei conciliar melhor meu tempo entre
o estágio e a faculdade. No entanto, curiosamente o meu desempenho
na faculdade teve um certo aumento durante esse período. Acredito
que essa melhoria foi ocasionada pelo aumento de responsabilidade, pois notando
mais falta de tempo, procurei me dedicar antecipadamente nas matérias
cursadas, sem deixar tudo para a última hora.
Sobre as matérias que foram mais relevantes no estágio,
destaco Redes e Banco de Dados, pois minhas atividades estavam inteiramente ligado a essas duas
áreas. Obviamente, matérias responsáveis pela formação
básica para programação como Introdução
à Computação, Fundamentos de Algoritmos e Estruturas
de Dados também foram essenciais no estágio.
Também percebi a importância da matéria Engenharia
de Software. Muitos de meus erros cometidos tratavam de um mau planejamento
de projeto e cronograma de trabalho. Vários problemas ocorridos em aplicações
do iG ocorrem devido a falta de conceitos e princípios estudados nessa
matéria.