Conselhos de Entrada
————————————————————————
Destinado a alunos ingressando na pós-graduação acadêmica e alunos que pretendem ingressar.
Tomei a decisão de escrever este documento após perceber alguns
alunos entrando na pós-graduação sem uma boa compreensão (i)
sobre como escolher um orientador (p.ex., usando apenas o tema de
pré-projeto como critério de escolha) e (ii) sobre o significado
de uma pós-graduação acadêmica. O texto está organizado
por tópicos para ajudar a navegação.
Sobre bolsa. O objetivo da bolsa é permitir que o aluno se
dedique plenamente ao treinamento intenso de uma pós-graduação
acadêmica. Ao se inscrever na pós-graduação do CIn/UFPE, o
aluno pode indicar seu desejo por uma bolsa. A bolsa será oferecida
ao aluno dependendo de sua classificação no processo
seletivo. Uma segunda opção para se conseguir uma bolsa é
através da FACEPE, a agência de fomento à pesquisa do estado de
Pernambuco. Neste caso, entretanto, quem solicita a bolsa é o
professor. Não há garantias de se conseguir uma bolsa!
Sobre o tema do pré-projeto. O tema do pré-projeto deve
ser encarado como um tema de uma redação; não como um
contrato sobre o que se deve fazer durante a pesquisa. Racional: No
tema de pré-projeto, não há espaço para se discutir com
profundidade os trabalhos relacionados, o volume de trabalho já
feito naquela área (isto é, a saturação da pesquisa), e os
desafios teóricos e práticos de uma dada área de
pesquisa. Infelizmente, é comum ver alunos escolhendo orientador em
função de quão “quente” é o tema do pré-projeto ou a
área que ele está inserido. O tema do pré-projeto é apenas um
elemento a se considerar na escolha de um orientador. Muito mais
importante do que o tema é a escolha do orientador (ver abaixo).
Sobre a escolha do orientador. Decidir fazer mestrado ou
doutorado acadêmico é uma decisão séria. Para o doutorado, em
especial, são quatro anos de trabalho e um vínculo para toda a
carreira. Portanto, faça um trabalho cuidadoso na busca da pessoa
que irá lhe guiar pelos próximos anos. Por exemplo:
- Tente compreender, mesmo que superficialmente, os trabalhos
recentes do seu possível orientador. Você deve ser capaz de
encontrar a página do seu possível orientador fazendo uma
consulta no Google pelo nome dele. Você certamente encontrará
um link para as suas publicações a partir da página
dele. Uma outra opção é ir direto ao registro do seu
candidato no DBLP, um sistema internacional que indexa as
publicações em eventos credenciados em computação. Por
exemplo, faça uma consulta no Google por “DBLP: Marcelo
d'Amorim” e você encontrará minhas publicações.
- Procure ler todos os temas de pré-projeto oferecidos pelo
seu candidato a orientador.
- Procure saber quão ativo é o seu candidatosa orientador. O
site
csrankings
oferece um serviço formidável para isto. De acordo com Philip
Guo: “This ranking is designed to identify institutions and faculty
actively engaged in research...” (texto retirado da página do
csrankings). Assumindo que você quer fazer pós no Brasil,
selecione ranking “South America” (procure combo box “Ranking
institutions in” no topo da página para isto) e selecione áreas
“Software Engineering” e “Programming Languages” (identifique
check boxes no lado esquerdo da tela para isto).
Caso, depois de fazer este levantamento, você acreditar que seu
perfil combina com o perfil do orientador, envie seu CV e histórico
escolar para ele. Tente iniciar contato o mais cedo
possível. Caso vc. tenha um perfil em plataforma de treino em
programação (p.ex.,
leetcode
e
hackerank
), envie também.
Sobre interesses do grupo. O nosso grupo de pesquisa
se chama
STAR
(Software Testing and Analysis Research). O interesse de
pesquisa do grupo é prevenir, encontrar, diagnosticar, e corrigir
erros e vulnerabilidades em software. Nós estamos abertos a uma
variedade de problemas e soluções dentro deste contexto. Você
pode encontrar mais detalhes técnicos sobre nosso trabalho lendo
alguns de
nossos papers
e conversando comigo.
Sobre o seu perfil. Não constumamos fazer programação
de baixo nível, mas frequentemente precisamos escrever scripts para
automizar experimentos e mergulhar em código de terceiros para
entender algo. Portanto, é
importante ter perfil técnico para ser produtivo no trabalho que realizamos. Veja
parágrafo “Sobre produtividade”.
Sobre orientação. Meu contato com o aluno é
frequente. Quando necessário, eu participo em partes da
implementação da solução. Portanto, é importante você
se sentir confortável com este estilo de trabalho mais "hands on"
que "hands off". Uma busca online sobre gerenciamento de projeto
hands-on/off vai ajudar a esclarecer a terminologia, mas o ideal é
conversar com (ex-)alunos sobre meu estilo de trabalho.
Sobre impacto. É possível alcançar impacto de
várias formas. Por exemplo, impacto econômico e/ou impacto
social. Entretanto, o meu interesse é alcançar impacto
científico. Nosso grupo está mais interessado em geração de
conhecimento, que é o espírito da pesquisa científica. Em outras
palavras, eu tenho mais interesse na ciência que nas suas
tecnologias, que poderiam trazer impacto econômico e social mais
diretamente. Sugiro ler o
Quadrante de Pasteur, de Donald
E. Stokes, que discute isto em maior profundidade. Caso seu maior interesse
for em atualização tecnológica e/ou vc. sentir
vocação mais forte em alcançar impacto sócio-econômico,
sugiro fortemente considerar um mestrado/doutorado profissional, ao
invés de um doutorado acadêmico.
Sobre publicação de papers:
- Certamente, você escutará ao longo dos próximos anos
opiniões críticas de colegas sobre o processo de avaliação
de papers. De fato, o processo de publicação de papers
científicos não está livre de falhas. Apesar disto,
publicação de papers é o principal veículo que conheço
para amadurecimento de idéias (através de avaliação
independente de pesquisa) e um combustível formidável para
treinamento de pesquisadores. Sem avaliação por
pares—colegas da comunidade—navegaríamos ao sabor do vento;
sem receber “feedback” sobre o nosso trabalho.
- O feedback sobre sua pesquisa é importante para transferir
conhecimento (quando o paper é aceito) e fazer correções no
projeto (quando o paper é rejeitado). Portanto, por favor, não
assuma que o trabalho está finalizado se o paper for aceito e
não considere uma trajédia se o paper for
rejeitado. Considerando que você irá tentar publicar os
resultados de sua pesquisa nos locais mais seletivos, você
certamente enfrentará rejeições.
- Procuramos publicar em locais seletivos e em locais onde nossa
comunidade publica. Há dois motivos para isto: (i) queremos que
nosso trabalho tenha visibilidade e (ii) queremos receber feedback
qualificado para a nossa pesquisa. Considerando conferências,
historicamente publicamos com maior frequência em ASE, FSE, ICSE,
ICST, e ISSTA. Considerando jornais, publicamos com maior
frequência em TSE e IST.
- Eu tenho enorme interesse em ajudar o aluno a conseguir submeter
um paper competitivo para um dos locais citados acima. (Digo
competitivo ao considerar a taxa de aceitacão próxima a 20%.)
Mas, o aluno precisa desejar a publicação mais que eu! Não
faz sentido aprovar a submissão de um paper que claramente será
rejeitado e também não faz sentido avançar muito lentamente
em um trabalho sem “feedback” da comunidade (porque o risco de uma
rejeição cresce à medida que outros publicam na sua
frente). Portanto, há um mínimo de produtividade aceitável
para a manutenção da saúde de um projeto de pesquisa. O
aluno precisa entender isto.
- Evite acompanhar a
plataforma Sucupira
para observar
a pontuação Qualis de conferências e periódicos. Isto é
nocivo para sua formação. Posso dar mais
detalhes pessoalmente. Em resumo, o Qualis possui várias
distorções. Procure seu orientador para conhecer locais de
maior impacto em pesquisa. As páginas a seguir mostram rankings
mais seletivos dentro da computação:
csrankings
(no mundo) e o
csindexbr (no Brasil). Estes rankings são mais confiáveis
porque são mais focados—eles consideram apenas computação e incluem um número
de conferência e periódicos bem menor que o Qualis.
Sobre produtividade. Assim como em qualquer atividade,
produtividade é importante em pesquisa. Você deve ficar atento às
práticas adotadas por alunos mais antigos no grupo para obter maior
produtividade. Alguns exemplos de boas práticas:
- É importante ter sempre em meta um deadline de submissão de
paper. O ideal é iniciar um projeto de pesquisa com um deadline de
submissão de 3-5 meses em vista. Isto ajuda a planejar atividades
de forma mais concreta.
- Tente definir atividades de curto prazo (2 a 3 dias), que tenham
objetivos claros e que estejam “no caminho crítico”. Estas
atividades permitem que o orientador forneça retorno mais
rapidamente ao aluno e ajuda a reduzir ansiedade em pesquisa (que
pode se tornar um problema sério).
- No início da pesquisa é comum realizar estudos de
viabilidade. Nestas situações, prefira um design
”quick-and-dirty” para validar suas idéias rapidamente.
Generalize seu design/implementação apenas quando
necessário. Por exemplo, quando o redesign permitir realizar
experimentos mais rapidamente ou quando você tiver em vias de
criar um release público do artefato que está desenvolvendo.
- Os trabalhos que realizamos costumam envolver bastante
experimentação. Por isto, é importante que o aluno tenha uma
boa noção sobre:
- Linguagens de script (p.ex., bash e Python)
- Ambientes de virtualização (p.ex., Docker).
- Estatística básica e ferramentas de apoio (p.ex., R).
- Em algumas circunstâncias, sou favorável a colaboração
em pares, com colegas de grupo, análogo a
programação em pares. Acredito que isto seja uma boa maneira de encorajar
troca de experiência.
Sobre comunicação. Publicação de papers é
muito importante na formação (e também na avaliação) de
um pesquisador. Mas existem outros componentes que também colaboram
na formação de um pesquisador. Destaco comunicação
escrita e falada.
- Sobre comunicação escrita: há vários padrões,
anti-padrões, e idiomas adotados na nossa comunidade em
redação técnica e existem hábitos específicos em
cada área. Mesmo que seu inglês esteja afiado, é importante
se adequar a forma de escrita adotada na sua comunidade.
Vale a pena ler o clássico
The Elements of Style e dar uma olhada nas
dicas da Claire Le Goues. Certamente, você terá que investir algum tempo
nisto, mas acredito que o melhor momento para aprender é quando
estiver trabalhando lado-a-lado com uma pessoa mais
experiente que possa lhe dar feedback constante sobre boas a más
práticas de redação.
- Sobre comunicação falada: sempre que tiver
oportunidade, procure praticar apresentações em público
(de preferência, em inglês e sobre sua pesquisa). Participe
de seminários de colegas, professores, e visitantes. Fique
atento às boas e más práticas durante uma
apresentação. É muito importante que você
faça perguntas durante seminários. Não se
intimide–todos já tiveram sua idade e as pessoas gostam de
receber perguntas (sinal de interesse). Não se preocupe com a
qualidade das perguntas.
- Capacidade de síntese de conteúdo é muito importante no
nosso meio e transcende comunicação escrita e falada.
Procure ler as dicas do Philip Koopman sobre como se escrever um abstract e
as dicas do Broad Institute
que organiza competições de "pitch" com alunos do MIT e
Harvard para treinar a capacidade de sintetização de seus
alunos. Uma outra dica é se capacitar na revisão de papers,
que é essencial também para discussão de trabalhos
relacionados e exercita sua capacidade de síntese. Veja
links de Michael Ernst sobre como revisar papers. Ainda sobre síntese, faça o possível
para ser claro e sucinto nos diálogos com seu orientador com o
objetivo de maximizar agilidade e qualidade no retorno que ele
pode lhe dar.
Sobre outras atividades. A participação em atividades
afins vai ajudar na sua formação a médio e longo prazo.
Alguns exemplos:
- Ajudar seu colega de grupo a resolver algum problema específico
(O sucesso do seu colega leva ao
sucesso do grupo que leva ao seu sucesso);
- Ajudar seu orientador na preparação de propostas de financiamento de
pesquisa
(Quem financia compra de equipamentos, viagens, e
diárias é seu orientador através destes recursos de projetos);
- Participar de um estágio de verão (e.g., Microsoft, Google,
etc.).
Lembre-se, entretanto, que pesquisa é nossa atividade principal.
Sobre disciplinas. As disciplinas são importantes para sua
formação básica. Mas você vai precisar bem mais do que o
conhecimento de sala de aula para realizar sua pesquisa. Se
você estiver colocando muito tempo em disciplinas, certamente há
um problema. Se for este o caso, verifique se o mestrado profissional ou
outro tipo de reciclagem não é a opção mais adequada para
você. Por sinal, existem vários cursos online baratos e
excelentes hoje em dia. Enfim, considerando disciplinas, decida as
disciplinas em conjunto com seu orientador. A escolha deve equilibrar
seu interesse, sua necessidade (dentro da pesquisa que está
realizando), e sua carga de trabalho.
Sobre horário e local de trabalho. Você pode fazer seu
horário e escolher o local onde se sente melhor para trabalhar.
Entretanto, é muito importante estar ciente dos pontos abaixo:
- Eu acredito fortemente que a melhor maneira de se conseguir
resultados de qualidade é tendo mais contato com o orientador e
com o grupo;
- Há um laboratório bem equipado à nossa disposição –
o labES – e você terá espaço nele. A princípio, este
espaço deveria ser adequado para você trabalhar, considerando
infraestrutura e conforto. Ver ”Sobre equipamentos”.
Sobre equipamentos. Não hesite em me avisar que precisa de
um equipamento novo ou que seu equipamento precisa de algum tipo de
atualização ou manutenção.
Sobre disponibilidade. Mesmo que você esteja imerso em uma
atividade planejada, não desapareça do radar, por favor. Em
particular, eu encorajo ficar online no gtalk sempre que possível
para facilitar nosso contato. Sinta-se à vontade para solicitar meu
telefone e ligar para mim sempre que achar necessário.
Sobre reuniões de grupo. Nossas reuniões são
importantes. Nessas reuniões você terá chance de explicar o que
está fazendo para o grupo e criticar o trabalho dos seus colegas.
Participe ativamente das reuniões e caso não possa participar de
um dos encontros faça o possível para nos avisar com
antecedência. Perceba que nosso grupo é *intencionalmente* pequeno; portanto, a
falta de um membro faz bastante diferença na dinâmica da
reunião.
Sobre o seu projeto de pesquisa (principalmente para
doutorado):
- O aluno deve se preocupar com tema da tese (ou
dissertação) apenas no início do terceiro ano para o
doutorado (no início do segundo ano para o mestrado). Isto
acontecerá quando houver uma clareza maior sobre o problema e a
solução. Costumo encorajar alunos a explorar projetos
distintos de forma a descobrir sua zona de conforto e interesse.
- Você pode atacar problemas conhecidos ou problemas novos na
sua pesquisa. O mais importante é que você entenda os desafios
de cada abordagem e, principalmente, o impacto que a solução
do problema trará para a comunidade acadêmica. Uma vantagem de
atacar problemas conhecidos é que existem ”baselines” de
comparação que facilitam avaliação. Por outro lado, a
comunidade acadêmica será mais exigente em relação a
pequenas melhorias em relação a soluções anteriores.
Você deve escolher comigo um problema que aprecie genuinamente.
Caso contrário, isto pode se tornar um estorvo para você:
certamente, você precisará investir/insistir em um mesmo
problema por um bom tempo antes de começar a ter resultados. Um
grande erro é se precipitar na escolha de um problema ou da
solução para o problema.
- A pesquisa inicia com uma revisão bibliográfica dos
trabalhos relacionados. É importante fazer isto com rigor mas
entendendo que é improvável cobrir detalhadamente todos os
trabalhos em um intervalo relativamente curto de revisão. A “fila
anda” rapidamente para os problemas interessantes e vc. não vai querer
trabalhar em um problema desinteressante. Uma revisão mais superficial inicial seguida de
passadas mais aprofundadas dos trabalhos mais relevantes é
recomendável. Procure papers relacionados nos anais das
principais conferências da área. Por exemplo, os papers
publicados em ICSE 2014 podem ser encontrados usando a string
"DBLP:ICSE'14" como chave de busca em uma pesquisa Google. (DBLP é
uma base de dados de publicações de paper.) Leia
superficialmente os papers primeiramente para mapear o que já foi
feito. Um método popular é usar uma ou duas referências
"raiz" e buscar papers citados por estes e papers que citam estes.
É minha responsabilidade passar alguns ponteiros iniciais para o aluno.
Quando iniciar suas atividades...
- Solicite ajuda aos seus
colegas de grupo para obter acesso ao LabES e acesso aos nossos servidores.
- Crie uma página pessoal (p.ex.,
Paulo Barros) com informações básicas sobre
você. Ao concluir, envie email para mim avisando que eu posso
ligar sua página à minha.
- Leia
conselhos de
Michael Ernst.
–Marcelo (March 17, 2021)