Olá pessoal eu sou Adolfo Neto professor
da UFPR Curitiba e do programa de
pós-graduação e computação aplicada
ppgca Estou aqui com a corrucci do
fronteiras do engenheiro de software
Maria Cláudia Emer também da UTFPR
Curitiba e também do ppgca Tudo bem
Maria Cláudia tudo bem Adolfo tudo jóia
Então hoje Vamos entrevistar o Wesley
Assunção ele é pesquisador depois
doutorado assistente Universitário lá na
iohannes Kepler e Universo de Lins jku
onde é membro do Instituto software
software Systems Engenheiros é também
pesquisador de pós-doutorado na
pontifícia Universidade Católica do Rio
de Janeiro puc-rio no grupo de pesquisa
Opus cujo coordenador é o nosso
entrevistado Alessandro Garcia um
episódio já passado e do qual também
fazem ou fizeram parte outros dois
nossos entrevistados Marcos calinovski e
Silvia Virgílio Que por sinal foi
orienta na estrada do Wesley doutorado
também né lá na UFPR e orientadora de
mestrado e orientador de doutorado da
Maria Claudia Então tá tudo em família
aqui né Wesley também foi professor por
aproximadamente 10 anos 8 como efetivo e
dois como temporário da UFPR e a partir
de agosto de 2023 Wesley vai começar a
atuar como professor associado na norf
Caroline state Universe in Rolling
Estados Unidos que eu Visitei em 2014 e
2015 então tem várias relações aqui
entre a gente tudo bem Wesley Você tem
algo complementar nessa sua apresentação
pela introdução não tem nada
complementar só agradecer muito o
convite você falou grandes nomes aí né
além de outros vários grandes nomes que
foram entrevistados na fronteiras de
engenharia de software Então para mim é
uma honra poder que tá conversando
também falar um pouco das minhas linhas
de pesquisa do que eu venho fazendo
então muito obrigado pelo convite e
espero poder contribuir com os ouvintes
que agradecemos Então vamos começar
falando sobre o tema principal da nossa
entrevista o que é modernização de
software
podemos dizer assim todos software que é
desenvolvido
aí um software que tenha sucesso
eventualmente ele também vai ser mantido
evoluído porque várias situações ocorrem
né então os requisitos dos usuários
podem mudar as tecnologias eventualmente
evoluem
novas novos modelos de negócio por
exemplo alguns modelos de negócio que a
gente conhece Atualmente como Uber
Netflix né existia um tempo atrás e são
praticamente orientados à tecnologia
então quando essas coisas todas
acontecem os sistemas que antigamente
foram desenvolvidos eventualmente eles
acabam precisando ser evoluídos e
precisam acompanhar esse avanço
tecnológico ou mudança de cenário só que
dependendo de como é essa mudança ou
quão grande é essa evolução tecnológica
uma simples manutenção ou uma simples
evolução
suficiente então por exemplo alguns
sistemas bancários Que nós conhecemos
atualmente são desenvolvidos em
linguagem chamada Cobal hoje em dia
achar desenvolvedores para essa
tecnologia ou adicionar inovação com
essa tecnologia totalmente complexo
então isso demanda uma certa evolução
maior e essa evolução maior que a gente
chama de modernização quando você
interfere de forma bem abrupta no legado
que você tá fazendo e a ideia de
modernização é que apesar de você tá
talvez fazendo mudanças tecnológicas ou
mudando a forma de desenvolver o
software as regras de negócio Ou seja a
inteligência de negócio do que você tem
elas vão se ser preservadas por exemplo
se hoje é uma modernização de um sistema
bancário para ter uma presença maior na
internet ou em outros mecanismos
dispositivos móveis ou até mesmo devido
transformação digital as regras
bancárias as mesmas o que vai mudar a
tecnologia então a gente não pode
simplesmente jogar tudo fora o que a
gente já tinha todo esse conhecimento
agregado aos longos dos anos
desenvolvido em um sistema alegado e
começar tudo de novo então modernização
justamente preservar esse conhecimento
que se obteve esse conhecimento
estratégico da empresa e mudar todas
esses aspectos de desenvolvimento e de
tecnologias que permeiam o negócio então
modernização é uma forma de evolução mas
não a tradicional que tem um avanço
maior tecnológico
muito bem acho que ficou bem claro
também para os nossos ouvintes né mas
ainda falando a respeito de modernização
de software em que sub áreas você
concentra sua pesquisa
uma boa pergunta
então modernização temos bem amplo né a
gente pode pensar de sob de diferentes
aspectos com certeza nos últimos anos eu
venho me dedicando algumas áreas mais
específicas né então como desde parte do
meu doutorado algo que eu venho
trabalhando bastante é como entender os
legados porque o sistema legado tem essa
arquitetura degradada devido a muita
manutenção então muitas vezes ele tem
vários problemas estruturais e entender
esses problemas estruturais e como
arquitetura está organizada para poder
eventualmente fazer modernização é um
problema então por exemplo uma área de
engenharia reversa que é como a gente
pode extrair informação de um
arquitetura alegada muitas vezes doc
então não existe os eventualmente os
diagramas e modelos já não estão já
estão defasados então atualizados então
entender isso através de iria reversa é
uma das áreas da qual vem atuando e
engenharia reversa também onde uma das
etapas habilitadoras para fazer
reengenharia que daí no caso uma vez que
eu entendi o sistema que eu tenho uma
representação mais abstrata do sistema o
que que eu quero fazer com isso então
reengeria seria como você modificar esse
sistema legado para poder atender os
seus requisitos que sejam tecnológicos
seja operacionais ou organizacionais
e mais recentemente nos eu diria nos
últimos três quatro anos no escopo
principalmente desse pós-doutorado na
puc-rio o projeto que eu entrei foi para
fazer para dar suporte a uma grande
empresa desenvolvedores software para
modernização de um sistema legado para
micro serviços né claro que talvez tá
sendo vendido de uma forma muito
talvez está sendo feito um overseling do
termo micro serviços atualmente mas do
ponto de vista técnico ou do ponto de
vista de pesquisa a gente tá falando de
uma modernização de arquitetura um
arquitetura com problemas alguns novos
requisitos e como a gente vai fornecer
uma solução no arquitetura mais modular
mais fácil de manter mais fácil devolver
que tenha as possibilidades das equipes
trabalharem de forma independente cada
uma cuidar dos seus operacionalização
das suas dos seus das suas features ou
de suas funcionalidades né então eu
trabalhei com essa questão que a gente
chama de imigração de um sistema alegado
para micro serviços mas lembrando esse
ponto né que meio que serviços é o que a
gente trabalhou na época mas pode ser
aplicado para do ponto de vista
arquitetura de uma maneira mais ampla
e tanto nessa questão de engenharia
reversa de reengenharia de migração para
mim que serviços algo que eu estou
tentando focar minha pesquisa atualmente
são a diferentes aspectos que permeiam a
modernização que são aspectos técnicos
por exemplo quais as tecnologias de
software de hardware que permeiam a
modernização também aspectos
operacionais Então quais são os times
qual que é expertise que eu tenho para
poder conduzir essa modernização a
modernização vai ser em paralelo com a
evolução do legado vai ter uma equipe só
focada na modernização ou a equipe que
faz modernização também tem que fazer
evolução do sistema legal então isso tem
um grande influência no sucesso ao longo
da modernização e outra coisa também são
os aspectos organizacionais que tem se
levados em consideração na gerir
software essa modernização ela vai
trazer o que de benefício para empresa
não pode ser só gera custos e não trazer
nenhum benefício então ela vai permitir
que eu tenha uma maior e permita ter
mais usuário simultaneamente no meu
sistema ela vai permitir reduzir custos
vai aumentar o meu lucro então é todo um
conjunto de aspectos técnicos
operacionais e de negócios que devem ser
considerados né então isso também é
outro ponto que eu tenho um ou dois
trabalhos totalmente mas eu gosto de
quando trabalha com meus alunos irem
enfatizar isso para eles né que ele
software não é só os pontos as técnicas
técnicas né é basicamente pessoas
organizações tecnologias todas em
conjuntos então eu diria que atualmente
em modernização tô trabalhando mais
nessas áreas
muito bem e qual é o impacto na prática
né Isso é na vida das pessoas que estão
desenvolvendo software da pesquisa em
modernização de software
isso Isso é uma discussão super válida
né porque a gente tem que produzir
soluções pesquisa que no final ajuda
alguém né no nosso caso nós estamos
querendo ajudar sempre desenvolvedores
né então
[Música]
como eu falei um pouco anteriormente eu
posso retomar a ideia que é todo
software que foi desenvolvido e ele foi
um software de sucesso no sistema de
software de sucesso ele vai viver por
vários anos né então a gente vai ter a
gente tem exemplos na literatura não só
na literatura alguns relatórios de
empresas como governo ou de alguns
países que têm sistemas em funcionamento
por 30 50 anos então é algo inevitável
que uma vez vocês vão ver um sistema
você talvez demora sei lá três dois
cinco anos no sistema e esse sistema vai
ter que ser mantido e modernizado por
pelos próximos 25 30 anos então se você
pode ver que o esforço do
desenvolvedores vai ser colocado muitas
vezes mais nessa parte do pós
desenvolvimento
incluindo a modernização
sobre dados mais concretos tem uma
notícia de 2021 no site da BBC que é um
relatório do governo do Reino Unido que
eles como é governo eles têm que prestar
informações para os contribuintes né
para os cidadões para os cidadãos
E no caso aqui a gente tem que no ano de
2021 se eu não me engano foi gasto no
governo um total de 4.7 bilhões de
libras em ti desse Total a mais da
metade um pouco a metade praticamente
2.3 bilhões foi gasto só em manter
sistemas alegados ativos então de tudo
que foi gasto manter os sistemas em
funcionamento não é nem evoluir talvez
só manter eles funcionando mais usuários
mas pessoas acessando o serviço do
governo Então essa é uma fatia muito
grande 50% gastos só com mantendo os
sistemas ligados ativos
inclusive na nessa notícia
um das uma das ideias colocado lá é
necessidade de modernização né que ficar
com Essas tecnologias antigas encarece
muito porque não tem profissionais
também Um dos problemas de sistemas
legados são ataques cibernéticos né
porque uma tecnologia antiga muitas
vezes as falhas são conhecidas O que
torna mais vulnerável para poder atacar
muitas vezes também dificultam a
inclusão de inovação um dos motivadores
para desenvolvedores trabalharem né para
impactar como impacto na vida
desenvolvedores é que atualmente nós
temos esse serviços que são bastante
populares né Por exemplo ayuti
transformação digital Big Data serviços
de machine learning ou de Inteligência
Artificial e são serviços que estão
disponíveis para auxiliar em várias
atividades várias features diferentes em
Sistemas mas como inclui isso no
sistemas legados é Um Desafio né então
também problemas sistemas ligados é não
permitir que essas novas essas inovações
sejam colocadas um outro exemplo de
problemas de legados é um relatório dos
Estados Unidos do ano de 2019 que fala
que no caso dos Estados Unidos 90
Bilhões de Dólares em 2019 foram gastos
com ti e lá o caso ainda é um pouco mais
grave por 80% desse valor total foi
gasto com legados né então de novo é um
foi um relatório né da agência de
prestação de contas dos Estados Unidos e
de novo a justificativa desse relatório
É tem que modernizar esses sistemas
porque tá sendo
tá sendo um ralo Sem Fim de dinheiro
para poder fazer a manutenção desses
legados então
o impacto de sistemas legados na vida
desenvolvedores é inevitável qualquer
desenvolvedor não vai trabalhar
simplesmente só desenvolvendo sistema
novos novos novos novos eventualmente e
sistemas legados precisam ser mantidos
envolvidos e todos os problemas que nós
comentamos agora tem que ser contornados
e a modernização a forma de resolver
isso então a modernização é como a gente
reduz esse gasto exorbitante de recursos
das empresas com a tecnologia defasada e
sistemas ligados então a modernização a
forma dos desenvolvedores poderiam ser
auxiliados com esse processo
agora uma pergunta foi feita pelo
Twitter pelo
thiago@nouponos a gente falou que ia
fazer uma entrevista sobre modernização
de softwares Sem falar que era com você
e a pessoa perguntou quando tomar essa
decisão como escolher a linguagem que
será utilizada sair de um monolito para
micro serviços faz sentido em toda
modernização
é ótima é Ótima pergunta de fato é
porque é uma pergunta recorrente
a gente fala de modernização ou de
migração para nunca serviços sempre essa
é uma pergunta recorrente em vários
twitters o pessoal discute sobre isso eu
vou dar com certeza a minha visão mais
pessoal né da minha experiência e pode
haver uma discordância talvez de outras
pessoas e de outros Engenheiros de
software ou pesquisadores né como eu
falei anteriormente eu acho que falta
muitas vezes na engenharia de software
na prática na pesquisa essa visão mais
das operações do operacional e também do
negócio e não só aspectos técnicos do
ponto de vista talvez de aspectos
técnicos micro serviços nem seja assim
uma solução tão boa porque você introduz
uma complexidade tão grande no
desenvolvimento software porque você tem
uma arquitetura distribuída você vai ter
a comunicação entre Mix serviços pela
rede Então não é mais em memória então
isso você cria um possível gargalo você
tem que monitorar você o teste é
totalmente complexo porque o
comportamento pode ser totalmente não
determinístico então você manda uma
mensagem alguém que você sabe que alguém
vai receber mas como essa mensagem vai
chegar lá em outro micro serviço quantos
Mix serviços vão estar em execução
naquele momento qual do micro serviços
vão responder para aquela requisição
então do ponto de vista técnico talvez
nem é melhor solução então a minha
recomendação sempre é ver o que você tem
na mão naquele momento Quais são qual é
o cenário que você tá qual expertise que
você tem quais partidos da equipe Qual é
o objetivo do negócio Quanto que o
negócio tá disponível a investir na
modernização Então dependendo do cenário
pode ser químico serviço sim seja melhor
solução talvez se você tá perdendo um
grande número de clientes porque você
não consegue escalar o seu sistema e tá
crescendo muito e você tem que entregar
Talvez uma solução rápida quem sabe que
o serviço pode ser naquele caso uma
solução
imediata mas a longo prazo talvez você
pode ver que não era o que você
desejaria E você tem que mudar então de
novo é modernização então pode ser que
moderniza
indo para meio que o serviços Ou talvez
não outro momento você moderniza
voltando para arquitetura de monolito né
recentemente nós tivemos o anúncio aí da
Amazon que tá deixando de adotar alguns
micro serviço para algum dos seus
sistemas e voltando para monolito né
então a solução mais adequada para o
negócio pode ser conte xtual dependendo
do contexto está inserido dependendo
Quais são os objetivos as soluções que
você tem naquele momento tecnológico
você pode decidir por onde então a
resposta que talvez não é mais ideal mas
é depende
certo agora a gente vai entrar numa
parte da nossa entrevista onde a gente
fala sobre artigos específicos né a
parte de pesquisa e você publicou na
revista em software de nurem uma das
mais importantes da área de engenharia
de software o artigo análise de uma
abordagem de otimização com múltiplos
objetivos para identificação de micro
serviços em Sistemas legados obviamente
é um artigo inglês mas a gente traduziu
aqui o título e deixa o link na
descrição do episódio Quais foram as
principais achados deste artigo
talvez é válido para o nosso ouvintes
atualizado no sentido do que o contexto
que está inserido esse artigo
primeiro que esse artigo ele o tópico de
pesquisa esse essa pesquisa que a gente
fez ela veio de uma demanda da indústria
né então no contexto desse pós-doutorado
feito na puc-rio com o Alessandro Garcia
também uma grande equipe aí tinha até
uma collanti tinha também o Luiz fazendo
o mestrado trabalhando no stop e outras
pessoas a empresa que a parceira da
puc-rio ela tinha um sistema alegado em
operação a mais de 15 anos envolvido em
Java inicialmente esse sistema legado
ele foi desenvolvido para ser um
Framework para ser customizável e ser
para ser implantado em diferentes
organizações mas teve uma grande empresa
de do setor de óleo e gás do Brasil que
era o principal cliente então o sistema
ao longo dos anos foi customizado e se
tornou basicamente um sistema só dessa
empresa só que depois de 15 anos os
temas desenvolvido em Java Originalmente
arquitetura foi tendo várias mudanças
para acomodar essas alterações e também
era um sistema One frames né então é
desenvolvido em Java e não tinha nenhuma
interface web mas daí nos últimos anos a
empresa viu a necessidade de talvez ter
uma interface web para esse sistema para
usar em diferentes dispositivos móveis
tablets celulares e também inclui
inovação né para extração de petróleo
por exemplo o uso de Inteligência
Artificial ou algumas outras tecnologias
mas nesse sistema legado isso era
totalmente complicado então eles
decidiram por fazer a modernização eles
sentiram a necessidade de fazer
modernização no primeiro momento eles
tentaram fazer manualmente Mas eles
viram que pela tamanho do sistema e a
complexidade da arquitetura degradada e
se era impossível depois eles tentaram
usar a engenharia reversa fazer alguns
diagramas de classe e outro diagramas a
partir do código fonte para tentar
entender mas de novo uma arquitetura
degradada impossibilitou que manualmente
fosse feito isso e então eles vieram até
nós com essa demanda com esse problema e
nós fizemos então uma pesquisa um estudo
para poder auxiliar eles e vendo o
problema que a gente tinha naquele
momento a gente percebeu que de fato se
tratava de um problema de otimização em
que nós tínhamos vários módulos se
comunicando classes e a forma que esse
sistema estava organizado era tão
complexa que a gente não poderia fazer
manualmente teria que ter uma forma de
otimização disso então foi aí que a
gente fez aplicação de algoritmo de
otimização multiplicativos né que são
que é uma técnica de Inteligência
Artificial basicamente a gente aplicou a
inteligência artificial para resolver um
problema de engenharia de software e
nesse caso então a gente aplicou multi
objetivo que são diferentes atributos de
qualidade que nós queríamos otimizar a
simultaneamente e que a gente
inicialmente pensou que poderia ser como
ficantes exemplo acoplamento e coesão
que são bem conhecidos de software a
gente tentou otimizar esses dois
objetivos porque são bem conhecidos e
relevantes para a prática mas aí a gente
fez a proposta de dois seus objetivos
também que é a modelarização de feature
porque eles queriam que os micro
serviços ou arquitetura modularizada
nova tivesse uma boa motorização em
termos de funcionalidades para que
equipes individuais pudesse trabalhar
nesse sistema nesse sistema E também o
uma vez que a gente muda de um sistema
alegado monolito para arquitetura Mix
serviços Como eu disse antes toda a
comunicação se transforma em sobrecarga
na rede Então tem um certo over Red de
comunicação se você pega duas classes
dois objetos se comunicam de forma
massiva em um sistema em Java Talvez
isso é tudo feito memória e não tenha
nenhum delay nem um atraso mas se você
colocar essa comunicação massiva em rede
Você pode ter alguns gargalos nos
sistemas que são indesejável então a
gente também queria otimizar a redução
dessa comunicação então ver como
potencialmente são conflitantes você
quer que as features estejam junto mas
você não quer que tenha muita
comunicação para além diferente de micro
serviços foi esse o motivo da gente usar
otimização multiplica
e alguns achados interessantes disso
alguns a gente já conhecia né Por
exemplo a gente viu de forma Clara que
nesse estudo de caso que a gente fez na
indústria que Coesão e complemento eram
de fato conflitantes e quando a gente
aumentava um diminuiu o outro ok isso
era esperado
a gente também viu que a modelarização
ou seja tentar colocar elementos de
software que implementam uma certa
Fitness uma certa funcionalidade em
conjunto no mesmo meio que o serviço
compromete bastante a coesão e a
comunicação então isso nos levou a um
outro achado que foi que não
necessariamente a coesão estrutural ou
seja elementos que estejam juntos vai te
levar a ter uma motorização de recursos
então não necessariamente a moralização
de um ponto de vista de requisitos é a
mesma coisa de uma modernização do ponto
de vista de estrutura de software então
foi um achado legal e também
cumprimentando um pouco talvez até com
algumas novidades Adolfo que a partir
desse estudo a gente continua e a gente
fez um que a gente chama de focos grupos
que os focos grupo que a gente
entrevistou alguns desenvolvedores
mostrando para eles soluções e pedindo
feedbacks para ele né a percepção deles
nas soluções criadas a partir desse
desse dessa solução proposta e a gente
viu algumas coisas interessantes uma
outra pergunta agora eu me lembrei
daquela pergunta do Twitter sobre qual
tecnologia utilizar e sem micro serviço
seria melhor solução e daí outra
pergunta que vem também é que tamanho
que tem que ter os meios de serviços né
que é uma decisão de design
e muitas vezes todos os livros
praticamente que você lê ele vai falar
lá responsabilidade única serviços
pequenos coisas mas a gente viu nos
nossos achados que na prática quando a
gente pede para os devedores que já
conhece o legado é uma decisão bem
pessoal a gente viu que para o mesmo
arquitetura para o mesmo legado um
desenvolvedor falava que queria algum
serviços maiores e isso reduziria o
número de Mercury serviço total na
Arquitetura em outro ponto alguns
queriam micro serviços pequenos mas que
eventualmente elevar uma maior número de
micro serviços no sistema então a gente
viu que tem alguma coisa muito assim de
gosto e talvez
mais atrelado a experiência e a prática
individual então nesses achados também
derivados desse trabalho é que as
abordagens automatizadas para auxiliar a
identificação de módulos ou de
modernização de sistemas ligados durante
modernização tem que levar em
consideração qual é
a preferência dos usuários porque talvez
eu possa dar uma solução ótima do ponto
de vista otimização mas que na prática a
pessoa desenvolvedor não se sente
confortável e não vai produzir ou fazer
a modernização conforme a pessoa
esperava a gente também viu que demanda
a visualização né alguma solução
existentes na literatura envolve
praticamente só
fornecer para o desenvolvedor uma lista
de quais métodos ou quais classes vão
ser colocados entre serviço mas não
mostra de forma visual ou permite que a
pessoa trabalhe ou modifique ler para o
seu gosto né Acho que alguns grupos
do exterior tão trabalhando isso Até
onde eu sei e também voltando àquela
ideia que nós falamos de não é só
aspectos técnicos nós vimos que alguns
critérios de não não funcionais devem
ser considerados né Por exemplo Qual os
Quais equipes vão trabalhar Quase meio
que serviço talvez você tem meio que
serviços muito pequenos que vão ser
vários daí uma equipe tem que trabalhar
com vários serviços Isso pode impactar
então talvez o serviço um pouco maiores
e mais fácil de lidar seria melhor então
a gente viu várias coisas interessantes
né algumas já Nesse artigo que você
mencionou e outros que provavelmente vão
aparecer em breve
certo é são muitos fatores agora vamos
passar para um outro artigo que você
apresentou recentemente na conferência
Sander né e 3 é internet não
conferences Evolution
se chama análise e propagação de
revisões de recursos em linhas de
produtos de software baseado em
pré-processador em qual autoria com
Gabriela Michelon
Baker e Alexander
etiedros essa pronúncia Quais foram os
principais achados deste trabalho
é interessante vocês mencionado nesse
trabalho Adolfo porque às vezes a gente
pensa que engenharia de software
melaborante
ou algo que é difícil de ser pensado mas
nesse trabalho
a Gabriela que terminou doutorado
recentemente ela investigou sobre como o
sistema de controle de versão um exemplo
por exemplo
um exemplo é o github ele suportam o
desenvolvimento a propagação de mudanças
de evolução durante possivelmente um
processo de modernização
de uma granalidade mais de
funcionalidades de features Então como
que isso acontece é bem natural hoje em
dia que uma empresa Desenvolva o seu
produto e tenha esse produto
eventualmente em diferentes versões para
diferentes clientes para diferentes
harpers tava bem comum que tenha
diferentes de um mesmo sistema se você
for no Git e procurar alguma assistência
ver que tem versões diferentes que tem
braços diferentes em desenvolvimento
algumas que já estão em uma versão mais
estável
contudo apesar de ser branches versões
diferentes é a possibilidade de que
tenham pedaços de código em comum desse
software é grande porque a evolução de
um mesmo software em diferentes versões
você vai ter muita coisa que similar
entre eles
completamente similares e outros são
diferentes em determinada versão
Mas aí o que a Gabriela percebeu é que
nesses sistemas que tem diferentes
features apesar de algumas partes serem
comuns é a prática de propagação de
features ou de funcionalidades é bem
comum digamos eu tenho uma versão a do
meu software que tá
em um Brand e eu tenho uma versão um
pouco similar uma versão B em outro
Brand eu posso talvez implementar uma
nova funcionalidade na versão B mas os
usuários da versão a vamos poderiam
também se beneficiar dessa ficha Então
seria interessante que em vez de
desenvolver do zero essa ficha
naquele Branch a seria mais legal é o
propagar essa versão mas se você for ver
como o sistema de controle de versão por
exemplo o Git trabalha com isso tem
algumas ferramentas por exemplo share
piquen que você pode pegar um convite de
um Branch e para pagar para outro mas é
a granelidade de Comet então quer dizer
dentro de um convite você pode mudar uma
ficha Você pode corrigir um bando você
pode introduzir uma mudança Então você
tem diferentes entrelaçamentos
diferentes ações Então você não tem uma
ferramenta que te auxilia você fazer a
propagação de requisitos funcionais para
diferentes e foi esse o trabalho da
Gabriela
do doutorado da Gabriela ela fez a
proposta de uma ferramenta com base em
evidências empíricas claro eu trabalho
doutorado teve bastante estudo empírico
também para entender esse problema que é
a partir de um conjunto orbitário de
cometes ela consegue definir qual é a
feature que está entrelaçado ele no meio
desses vários comentes e propagar de um
Branch para outro só
os pedaços de códigos que estão
relacionados a uma feature então todo
aquele entrelaçamento e outras coisas
que estão ali no meio que não são do
interesse desenvolvedor vão ser
descartados e ela vai propagar só isso
e o legal desse trabalho também foi que
depois de fazer a proposta da ferramenta
com base em estudos empíricos a gente
fez entrevistas a Gabriela fez algumas
entrevistas com algumas cordas de alguns
sistemas que a gente usou então por
exemplo o Lib SSD que é um cliente de
SSH muito famoso a gente teve
oportunidade de entrevistar um do Corda
Lopes
um desenvolvedor principal desse sistema
e o que ele falou que ele já tinha
tentado fazer uma ferramenta parecida
porque o trabalho que era para poder mo
essas features e esses Pilar de código
entre diferentes Bruxas era muito grande
então a gente ficou surpreso ele achou
muito legal o trabalho a ideia e a gente
ficou surpreso quando o quão reprimido
era uma demanda para uma ferramenta
assim que teoria a gente pode falar que
seria simples mas que não existia ainda
para prática né então era copy peixe
ainda Apesar de nós estarmos 2023 tanto
avanço tecnológico ainda tem essas
práticas de para poder fazer a evolução
do software né fazendo proteção a erros
e bugs muito grande então os principais
a principal contribuição desse trabalho
da Gabriela foi essa é uma ferramenta
que auxilia a propagação de de aspectos
relacionados de pedaços de códigos
relacionados a requisitos funcionais
para diferentes versões de um mesmo
software inclusive no artigo para quem
tiver interesse a ferramenta disponível
né praticamente um protótipo mas pode
ser utilizado para eventuais trabalhos
ou para quem quiser
idar ou avançar no desenvolvimento da
ferramenta é bem-vindo a gente tá aberto
qualquer tipo de colaboração
esclarecimentos
legal falando aqui de mais um artigo
esse
citado na base do Google escola é
reengenharia de aplicações ligadas em
linhas de produto de software uma
ferramenta sistemático foi publicado no
empírico software em dinheiro em 2017
com mais de 150 citações
que você pode falar a respeito desse
artigo
quando a gente se compromete talvez em
vez de jogar um trabalho do ponto de
vista científico quando as principais
coisas que a gente tem que fazer é
conhecer a literatura que permeia todo
esse tópico de pesquisa a gente tá né a
gente tem um problema mas provavelmente
vai existir soluções para esse problema
e pesquisa para esse problema e tudo
mais então esse tópico de reengeria de
aplicações legadas para a linha de
produtos software foi o tópico foi a
área de pesquisa do meu doutorado né E
só para resumir o que que é esse tópico
de novo é uma prática bem comum na
indústria que quando você tem que
customizar um novo produto de software
você tem um sistema de software que tá
implementado Para uma determinada
empresa outra empresa pede que você
também faça ela quer ser sua cliente
quer que você faça uma nova versão desse
software com algumas modificações a
principal prática é duplicar esse código
pode ser ou pode ser simplesmente de
novo copia e cola fazer as modificações
e entregar esse software quando você
fazer isso muitas vezes de novo você
chega naquele ponto de ter variantes de
um mesmo sistema com parte de códigos
similares com particular de diferentes
se você acha um problema a um bug em uma
parte que é comum você tem que mudar sei
lá 30 vezes 20 vezes e isso pode ser que
vocês esqueçam no meio de uma variante
vai ficar diferente das outras e tudo
mais então existe algumas abordagens
mais sistemáticas de lidar com reuso e
customização de software que são linhas
de produtos software Então nesse
trabalho que eu fiz de doutorado foi
como a gente pode fazer em um nível
Independente de linguagem mais alto
nível em modelos
reversa como a reengenharia desses
sistemas individuais dessas variantes
para uma linha de produção Mas então
como parte desse trabalho para tentar
entender o que tinha na literatura a
gente fez esse sistema mapeamento
sistemático
mas o objetivo não foi somente tanto
exploratório para ver o que que existia
na literatura a gente queria também
tentar ver a qual é o processo que era
usado para fazer em Reverso então a
gente começou ler artigos para ver como
que eu quero fazer engenharia reversa do
meu sistemas como eu tenho que fazer e a
gente tentou investigar isso em vários
artigos e a gente vai encontrar uma
solução um artigo focava muito só como
faz a identificação de features outro
artigo Como faz a ingerir reverso de um
modelo de características que diz como
as features se relaciona outro artigo
falava mais de como fazer o
gerenciamento de variabilidade mas não
tinha um processo de steps ou de fases
de como fazer isso então coletando
diferentes a trabalhos nesse mapeamento
sistemático a gente conseguiu fazer um
uma proposta de um processo de um de um
uma sequência de step de fases de como
essa essa engenharia deve ser vida e
teve um pelo talvez número de citações
que talvez representa mais o ponto de
vista a gente não sabe como é usado na
indústria mas teve uma boa aceitação né
então de 2017 um número bom bem
considerável de pessoas estão citando e
usando isso Inclusive a um fato
Interessante foi que logo quando a gente
publicou esse artigo teve uma boa
aceitação número de downloads e citações
foi grande e a gente recebeu um convite
da Springer para poder fazer um handbook
nesse tópico né Então faz alguns meses
acho que no final do ano passado no
começo desse ano que a gente teve o
handebol que a publicado na Springer né
então é um handbook é de engenharia de
aplicações negadas para a linha de
produtos software então a gente coletou
e fez uma coletânea de Capítulos de
vários autores da área e isso foi bem
interessante
a aceitação do trabalho e a evolução
dele para a diferença é questões Então
esse trabalho foi mais nessa linha
colocar o link para o handbook avisar o
pessoal que tá estudando todos os links
para os artigos a gente vai deixar e
deixa também aqui o link para sua página
para o seu Google escolar e o pessoal
pode explorar mais artigos seus e da dos
seus colaboradores agora a gente vai
chegar na parte que a gente discute
outros temas né não tão relacionados
assim com a pesquisa mas sempre são
relacionados né porque a gente já
entrevistou aqui ao longo da da história
do fronteiras pessoas que trabalham no
Brasil pessoas que trabalham fora você
anunciou recentemente que vai começar a
trabalhar com professor associado não
importante Universidade dos Estados
Unidos Eu já falei né ficar online
universo que é uma referência gênero de
software tem nomes importantes lá de
gênero de software trabalhando
Williams entre outros como é que a sua
trajetória de vida e carreira pode
motivar jovens que vivem em regiões
afastadas dos grandes centros para gente
né na preparação para entrevista que
você não é daqui para agitar aqui no
Paraná eu e a Maria Cláudia estamos em
Curitiba mas você não é de Curitiba
apesar de ter feito uma história
doutorado aqui em Curitiba
acho que eu acho que é super válido
dessa discussão porque talvez grande
parte da audiência Aí talvez São pessoas
que estão atualmente na mesma situação
que eu estava e Talvez possa ajudar em
motivar ou decidir por talvez fazer uma
pós-graduação ou seguir para outras
linhas profissionais talvez empresas e
assim por diante bom então eu sou
nascido criado casado e morei até os 37
anos 36 anos Numa cidade chamada Toledo
no Paraná né a referência eu acho que a
maioria deve conhecer a Foz do Iguaçu né
então são uma hora e meia de carro de
Foz do Iguaçu Mas é uma cidade pequena
do interior na cidade agrícola e eu sou
de uma família simples né meu pai
trabalhou um frigorífico da cidade minha
mãe era do Lar cuidava a gente e também
é fazer alguns trabalhos temporários Mas
eu sempre estudei em escola pública
com mesmo com alguns os problemas do
sistema da Educacional acho que foi
tranquilo consegui fazer toda a minha
educação básica e no quando eu fui fazer
a minha graduação a infelizmente não
tinha graduação em Ciência da Computação
na cidade que eu morava só em outras
cidades
do ensino público né então eu optei por
fazer em uma universidade particular o
ensino mas daí né como que uma família
talvez mais humilde fazer uma graduação
numa universidade particular então eu
tive a sorte
tive sorte ou uma boa possibilidade de
naquele momento eu praticava Esporte né
sou jogo xadrez sou em xadrez está tendo
a minha página eu digo isso e através
desse do envolvimento com o esporte né
Essa Universidade da qual eu fiz a minha
graduação eles ofereceram bolsas de
estudo né então eu pude fazer a migração
devido uma boa de estudo uma bolsa de
estudo oferecida devido ao esporte então
essa foi com certeza quando eu comecei a
praticar esporte o objetivo não seria
ganhar o bojo de estudo mas
eventualmente por participar do esporte
a bolsa de estudo foi possível e tá Daí
eu terminei a minha graduação e claro
influenciado por professores muito bons
que eu tive na minha graduação né tive a
possibilidade de dar ao longo da minha
carreira ter contato com muitos
professores bons inclusive Na graduação
e isso me criou uma certa
motivação uma certa vontade de explorar
mais
em Ciência da Computação Daí vem o
segundo problema agora que não tinha na
região oeste do Paraná
atualmente tem um mestrado em Ciência da
Computação na Unioeste de Cascavel mas
quando eu terminei a minha graduação não
tinha nenhum no Oeste do Paraná o único
o único mestrado mais perto era Maringá
mas era um pouco complicado para ir e o
único lugar que tinha mestrado e
doutorado era em Curitiba na
Universidade Federal do Paraná e quando
eu já pensava em fazer pós-graduação já
queria fazer um mestrado doutorado para
ser de fato pesquisador
contudo
eu tive um certo intervalo na minha
carreira científica porque eu terminei a
graduação não fui direto mestrado Mas
trabalhei 5 anos como desenvolvedor numa
indústria uma empresa lá em Toledo mas
em 2010 após aplicar para algumas
possibilidades de Mestrado ou foi aceito
como aluno na UFPR inclusive pela
professora Silvia que foi uma das
professoras entrevistadas aqui no
fronteiras de software e quando eu fui
aceito lá eu tava trabalhando como
professor temporário e como
desenvolvedor numa empresa e eu tinha um
ano de casamento na épocas em 2019 e foi
aceito para o mestrado em 2010 e
minha esposa trabalhava em Toledo então
era não era possível mudar totalmente
naquele caso para Curitiba e deixar tudo
para trás de forma repentina Então o que
eu fiz durante Praticamente todo o meu
mestrado e doutorado foi
eu pegava o ônibus no domingo de noite
em Toledo tava 8 horas no ônibus chegava
6 horas da manhã em Curitiba e ia direto
para UFPR tomava um café e começava a
trabalhar então quer dizer eu dormi uma
noite no ônibus indo daí as disciplinas
na UFPR eram na segundas e
quartas-feiras então eu dormia da
segunda para terça num hotel da terça
para quarta em hotel e ia com toda a
minha mala mudança para UFPR ficava lá o
dia inteiro até às 10 horas da noite
para ir direto para universidade e pegar
o ônibus e retornar para Toledo então
mais uma noite dormindo em ônibus então
duas noites de ônibus duas noites em
Curitiba em hotel e três noites dormindo
em Toledo porque daí então eu trabalhava
como o professor temporário na época
Então já começava logo na na
quinta-feira de manhã da aulas dava aula
o dia inteiro né na na UTFPR como
temporário e a noite como professora
disse na universidade particular então
foi essa aí a jornada né foi é bastante
forte vontade de fazer pós-graduação
indo e voltando No começo eu pensava
Nossa mas cinco seis talvez sete anos
está trabalhando fazendo esse bate-volta
mas no final deu certo e nesse meio
tempo em 2013 eu comecei com professor
efetivo né na UTFPR no campo de Toledo
né tive a sorte de poder passar num
Campos na qual eu já morava e trabalhar
num canto da Universidade Federal e
também eu tive oportunidade de então em
2014 pegar dois anos de afastamento para
poder fazer uma doutorado sanduíche né
que foi eventualmente em 2014 metade
2014 até 2015 que eu vim aqui para aí
ohanas kapper University para fazer uma
doutora sanduíche que atualmente eu tô
aqui mas então meio que desde a
graduação inicialmente foi um pouco
difícil de conseguir Mas depois que a
gente consegue a gente vai corre e faz
todo o que tem que ser feito né
brasileiro corre atrás e faz quando
precisa ser feito e também essas
Idas e Voltas da
da pós-graduação eu acho que inclusive
eu fiz algum cálculo um tempo atrás que
eu acho que todo o tempo todo as
quilometragem acumulada de todas as
vezes que eu fui de ônibus e voltei para
Curitiba dava para dar mais ou menos
umas quatro votos na terra eu acho que
eu fiz esse cálculo então a minha
pós-graduação me rendeu quatro votos em
volta da terra né e deu tudo certo no
final eu quero falar que eu fiz um pouco
isso assim também no mestrado doutorado
isso aqui do mestrado entre Maceió e
Recife que são 4 horas de ônibus e no
doutorado entre Campinas e São Paulo que
é uma hora e meia duas horas nem se
compara né aqui eu tô vendo aqui no
Google sete horas e meia de carro 542 km
é muito distância
Pode falar não tava falando como Às
vezes a gente pensa que o processo é
fácil que a gente a pessoa que já tá lá
morando aqui na cidade tem a
Universidade vai lá se matricula começa
a fazer e tudo mais mas você vê que
talvez a gente começa a conversar a
gente vê que não é fácil para ninguém né
todo mundo tem os seus Trancos e
Barrancos aí a gente vai construindo e
vai fazendo pesquisa isso é interessante
a vida de Mestrando doutorando no Brasil
Definitivamente não é fácil peraí
Cláudia
mas é legal de ver que consegue né Por
mais que seja difícil
talvez inicialmente você ou as pessoas
que estavam ao redor devem ter pensado
Ah não vai não vai conseguir né chegar
ao fim dessa forma vai ter que mudar
alguma coisa mas você conseguiu então
acho que é uma luta e no fim a gente vê
a Vitória isso é muito importante e é o
que acontece com várias dos nossos
jovens né hoje a gente vê também
e nessa época já acontecia com a
graduação
mas hoje com esse formato de que muitos
acabam vindo de longe por exemplo aqui
em Curitiba a gente tem bastante gente
que vem no nordeste né
estudar
é muito difícil desde a graduação sair
da casa dos pais e de repente tá ali se
vê sozinho né numa cidade grande então
acho que para todo mundo é complicado
quando você quer estudar né mas sem
estudar também a gente não consegue
chegar onde estamos né daí você não
estaria aí né Wesley enfrentar os
desafios a gente nunca vai conseguir
chegar lá né tem que enfrentar eu acho
que é sempre bom mostrar e falar desses
exemplos no podcast também né é um toque
que interessante
e talvez do meu do meu lado como
professor também né 10 anos aí como
professor do tfpr era interessante ver
que talvez esses alunos Às vezes vem de
longe ou mesmo alunos que são da cidade
que quando começa a graduação tem uma
talvez estrutura familiar uma condição
Econômica bem limitada e ao longo da
graduação você vê que a pessoa vai
conseguir talvez se instruir consegue
trabalhos como desenvolvedores fazem
estágio até o final da graduação Já tá
trabalhando na empresa e você vê essa
sessão social que o aluno consegue
através da educação é bem gratificante
do ponto de vista de professor né O que
faz o motivo que a gente sempre continue
a estar sempre dando o nosso tempo né
para poder instruir e educar outras
pessoas é muito interessante isso muito
bom bem aí a gente também tem aqui né
que você na verdade é mais um exemplo de
professor pesquisador da área de
engenharia de software que deixa o
emprego efetivo e estável no Brasil para
ir trabalhar fora né ir para outro país
alguns outros exemplos só entre os que
passaram pelo Fronteiras São a Ingrid
Nunes o Fernando Castor o Igor steinker
sem contar outros né como o mauricioniti
e Joana Santos que sequer chegaram a ter
um cargo no Brasil no seu caso
específico Quais foram os principais
fatores que te levaram a deixar o país
Wesley
Boa pergunta
Como eu disse né Toda essa minha
motivação que eu tinha para usar nessa
doutorado Porque de fato o meu objetivo
era ser um pesquisador
Eu via o meu mestrado meu doutorado com
uma forma de se qualificar para fazer
pesquisa né engenharia de software e
futuramente e forma outros pesquisadores
né e mas ao longo dos anos apesar de ter
essa essas reconhecimentos de ver os
alunos evoluindo e poder interferir de
forma interessante na vida dos alunos eu
tive um pouco a sensação de que no
contexto que eu tava inserido só fazendo
um display aqui que na verdade essa
minha opinião bem contextual no cenário
que eu tava envolvido né talvez outras
pessoas estão em outros cenários eu sei
quem é universidades no Brasil que
talvez não tem outras outros cenários e
bom o meu caso específico eu tinha um
pouco da sensação de que tanto a
pesquisa quanto o pesquisador até pela
sociedade não só pela Universidade não
era tão valorizado assim era mais algo
que você faz se você tiver um tempo e se
for do seu interesse mas para a gente
não faz diferença né digamos assim né
até do ponto de vista talvez de governo
né parece que a gente tinha que pedir
para poder fazer a pesquisa né tinha que
tinha que tipo a gente incomodava outras
pessoas o governo para poder pedir
dinheiro de projeto de verba para poder
ir para conferências para poder ter
alunos parecia que a gente tava pedindo
algo que atrapalhava em vez de ajudar né
em vez de investir talvez no futuro e um
pouco essa desvalorização ou talvez
também essa visão de não necessidade
talvez de pesquisa fazendo
consequentemente que uma carga elevada
de números de aulas e daí acaba que você
tem que abrir mão Talvez um pouco da
pesquisa não pode talvez orientar os
alunos da forma que você pretende me
orientar e daí você soma talvez essa um
pouco de desvalorização com alguns
problemas sociais uma coisa que nunca
que é difícil de entrar na minha cabeça
é são esses problemas em relação à
segurança de talvez você tá andando com
seu celular em algumas cidades à noite e
alguém pode simplesmente chegar e te
assaltar e não satisfeito talvez te
agredir fisicamente parece que não é uma
forma de uma sociedade talvez
interessante né Sei lá isso não entra na
cabeça né tipo além de batalhar
trabalhar pesquisar formar recursos
humanos formar alunos eu ter que quando
eu tô andando na rua me preocupar para
poder sobreviver um pouco é um pouco
triste né então esses esses
principalmente são esses fatores que
principalmente me levaram a talvez na
verdade não era nem tipo assim ah eu
tenho sonho de morar no exterior eu vim
para poder tentar ver como que era ver
um novo cenário eu acho que também é
interessante para conhecer novas pessoas
até poder se formar de maneira diferente
ver a diferença de vista ver como que as
coisas funcionam no lugar diferente né E
também nunca digo nunca tipo não sei se
eventualmente não vou trabalhar de novo
no Brasil o Brasil é um país ótimo acho
que tem esses problemas sociais mas tem
outras coisas que são ótimas do Brasil
né o brasileiro né as pessoas no Brasil
são muito mais receptivos mais fácil de
fazer amigos e conversar então tem
vários benefícios também no Brasil né só
naquele que nem eu falei nesse momento
naquele contexto que eu tava inserido eu
coloquei as coisas na balança e para mim
era mais interessante tentar outras
experiências e experimentar coisas
diferentes né então foi o motivador mas
o Brasil Apesar de eu estar aqui
atualmente eu tenho que falar também que
não necessariamente aqui é melhor aqui
no Brasil do ponto de vista talvez de
fazer pesquisa ele sofre não acho que
não é isso No Brasil se a gente vê a
comunidade ele sofre é tão
representatividade internacional muito
grande né Nós temos conferências
top sendo organizadas do Brasil pessoas
participando de confiança do Brasil
artigo sendo premiados e brasileiros
Então a gente tem uma comunidade Super
Interessante no Brasil né então
o meu caso foi esse tipo alguns de novo
que nem estava falando da engenharia né
tudo é situacional né naquele contexto
naquela situação que eu tava foi a
decisão que eu tomei mas talvez outras
pessoas podem pensar diferente e tudo é
válido
e eu entro outras coisas você corentou a
gente já falou
anteriormente né Acho que o Adolfo falou
da Gabriela Caroline Michelon
egressa de ciências computação pela
UTFPR Medianeira em seu doutorado em
Ciência da Computação pela
University
o fato de que de você ser um brasileiro
acaba ajudando brasileiros e brasileiras
que querem fazer doutorado fora você
está procurando estudantes
a gente comentou do trabalho da Gabriela
um pouco antes e mas talvez são mais um
background de como foi isso porque como
eu falei em 2014 2015 eu vim aqui para
esse mesmo Instituto totalmente
mas eu estava no Brasil na UTFPR em 2019
quando recebi um e-mail aqui do
professor Alexander pedindo se tinha
alguma indicação de doutorando que
tinham vagas abertas e disponibilidade
de bolsa né de emprego que que é o aluno
doutorado é um empregado da universidade
e
quando eu recebi esse e-mail um ou dois
dias depois é bem coincidência inclusive
um professor um colega que fez o
doutorado comigo mandou um e-mail Ele é
professor da UTFPR de Medianeira mandou
um e-mail falando Ah nós temos aqui uma
professora temporário aqui que tem
interesse na ingerir só gostaria de
fazer uma doutorado na mesma semana que
eu recebi e-mail com a oferta da bolsa
de doutorado Eu também recebi o e-mail
de alguém interessado em fazer então já
como eu conheci aqui o professor
Alexander e ele tinha pedido essa
indicação onde que é Gabriela a gente
fez algumas reuniões pelo Skype e ela
eventualmente aceitou a proposta de vim
fazer o doutorado Então ela veio fazer o
doutorado aqui no início 2019 terminou
recentemente em 2020 dezembro de 2022
nesse meio tempo né eu vim para cá
também então acabei chegando aqui mas
antes de eu vir para cá no final de 2020
também de quem um outro aluno brasileiro
que é o Luciano a marchezan que
atualmente está fazendo doutorado que
também tá prestes a terminar ele se
formou em gelinho de software pela
unipampa em Alegrete no Rio Grande do
Sul e tá trabalhando aqui também
e Ohana escape Universidade pronto quase
terminando doutorado e esse professor
colega da utfpring indicou a Gabriela em
2019 ano passado ele veio fazer um
pós-doutorado aqui né O Professor Pedro
Luiz de Paula então ele tá fazendo
doutorado aqui né professor da UTFPR de
Medianeira que tá fazendo o pós
doutorado aqui atualmente e faz mais ou
menos um mês que um outro brasileiro
chegou ao professor doutorado aqui o
Miguel então ele também ele se formou a
em Ciência da Computação na UTFPR de
Apucarana ou de Campo Mourão de Campo
Mourão Ele se formou na utfps de Campo
Mourão e veio fazer o doutorado aqui né
trabalhou na indústria por um tempo e
agora veio fazer o doutorado mas é o
fato de ser brasileiro aproxima um pouco
as pessoas a gente tem os contatos do
ponto de vista de que os professores
sabe como a gente trabalha e o que eu
tenho que falar é que o brasileiro é um
Os brasileiros são muito bem vistos Pela
Minha experiência das pessoas que eu
converso de quem eu conheço Aqui também
fez trabalhou fora né esses exemplos
você comentou de pessoas estão
trabalhando no exterior atualmente o
brasileiro é bem visto sempre que nem eu
vim em 2015 depois a Gabriela depois do
Luciano né então quer dizer que foi bem
aceito pela Universidade aqui né caso
contrário depois que eu tivesse vindo
ninguém mais teria vindo né mas
brasileiro produz bastante é motivado
então isso aos olhos do pessoal pela
minha experiência do pessoal aqui na
Europa onde eu tô Atualmente é muito bom
e Claro agora né como foi falado no
início eu vou estar ingressando com o
professor na NX state em really e a
partir de agosto vagas de doutorado vão
estar abertas Então se algum dos
ouvintes tiver interesse em fazer algum
doutorado nas áreas que eu pesquiso e
também tiver interesse de passar um
tempo morando nos Estados Unidos durante
o doutorado é muito bem vindo basta como
Adolfo falou que meus contatos minha
página pessoal vai estar disponível
Então pode entrar em contato comigo para
trocar uma ideia se me vem alguma
conferência a gente pode conversar né
que eu puder ajudar os brasileiros para
poder facilitar um pouco essa luta da
pós-graduação para não ser tão
complicado como foi a minha eu estarei
terei prazer de poder ajudar aí na
medida do possível
é muito legal até eu queria falar três
coisas antes da gente passar para nossa
última pergunta nesse exato momento
enquanto a gente está gravando um
egresso nosso aqui do ppgca que fez uma
estrada aqui na UTFPR Curitiba tá
defendendo o doutorado dele só que lá na
Virgínia Como é o fim University que
fica lá em marylands agora não tô
errando não fica na Virgínia Mas qual é
o nome da capital da Virgínia Richmond
né orientado do David shepher Que por
sinal morava aí aí não porque você não
tá indo aí
onde fica insistente e para o pessoal
que saber ter até uma amostra sim uma
comprovação de como do que você falou né
como a comunidade brasileira engenharia
de sofrer é relevantes né como os
pesquisadores pesquisadores são
relevantes dois dos principais eventos
de engenharia de software vão ser no
Brasil nos próximos anos né o execut em
2024 Porto de Galinhas e o Ixi 2026 vai
ser no Rio de Janeiro Então você a
oportunidades aí até para todos esses
brasileiros brasileiros que estão no
exterior virem para cá de novo né porque
só vai até para Austrália né wix2024 Não
sei se já passou ou não
você vai
imagina a viagem que você vai ter que
fazer né
que eu não sei se da Europa é tão longe
quanto daqui né daqui para Austrália
ontem
vai ser então mesmo daqui é longe é do
outro lado né
então agora a gente chega a pergunta que
define o podcast que dá nome ao podcast
eu gosto sempre de lembrar que pode ser
algo que você acha que vai acontecer o
que você gostaria que acontecesse Nossa
área para você qual é a próxima
fronteira da engenharia de software
essas é uma pergunta interessante né
porque é difícil talvez escrever o
futuro então eu vou mais talvez em algo
que eu gostaria que acontecesse nesse
sentido então como eu falei desse ponto
de vista de modernização que a gente
tava conversando de reengeria de
migração e também dessas questões de
talvez focar muito em questões técnicas
e talvez deixar de lado que é mais
operacional que é mais negócio e aliado
ao que eu tenho trabalhando atualmente
também que é módulo de vida em que a
gente utiliza modelos como o principal
artefato em que se produz quando fala o
modelo a gente talvez só para
contextualizar quando eu falo de modelo
não tô falando talvez só de diagramas o
ML ou de diagrama de sequência modelo é
todo todo qualquer tipo de artefato que
está em conformidade com algumas regras
estabelecidas correto então algo para
mim que eu acho que é manter a que a
gente tem que ultrapassar é a gente
talvez elevar um pouco ainda o nível de
abstração de desenvolvimento de software
a minha ideia Talvez é um pouco
controversa mas eu acredito muito nisso
que
desde se a gente for pegar quando
começou a engenharia de software Desde
da conferência Nato lá por volta de 1970
o software praticamente ele é produzido
Com base no mesmo tipo de artefatos
Então faz mais de
50 e poucos anos que a gente senta na
frente do computador abre uma ideia
escreve declara variável escreve
ife escreve Elsa escreve Uai ou escreve
fora online e tipo o que muda são as
diferentes ideias a gente tem um suporte
melhor a gente tem a forma mais rápida
de escrever mas se você for ver o
artefato ainda é o mesmo então me parece
que é um pouco arcaico de tanto tempo
que a gente avançou e tantas tecnologias
avançadas avançaram E se a gente for ver
o software produzir da mesma maneira
então eu realmente penso que talvez o
aumentar o nível de abstração em que o
software pensado é implementado é
validado é evoluído deveria ser de uma
forma um pouco mais elaborada focando
mais em aspectos ou porque não falei
operacionais como esse software vai ser
distribuído como esse soft vai chegar
aos nossos usuário como esse software tá
alinhado as regras de negócio como ele
satisfaz os requisitos funcionais e não
Talvez pensar Qual é o nome da variável
qual que é o seu eu vou usar um fórum
online então eu uma das Fronteiras que
eu acho que a gente tem que atravessar
é importante é como a gente pensa
implementa e entrega sócer do ponto de
vista do artefato de a gente Talvez
pensar mais no ponto de vista de modelos
em Alto Nível se preocupando com coisas
mais cognitivas de que o engenheiro de
software tem que pensar do que talvez
questões muito detalhe técnicos de
hardware de software e se você me
permite falar talvez mais uma outra
fronteira da engenharia de software que
eu imagino que que aconteça é como que a
gente talvez pode então abstrair tantos
detalhes técnicos e focar mais no alto
nível no operacional em organizacional
Então acho que também uma fronteira que
a gente tem que atravessar é são é a
utilização que nos oferecida desses
dessas avanços de artificial
inteligência machine learning então por
exemplo nós estamos vendo hoje que
algumas modelos de linguagem como por
exemplo chat GPT então permitindo que
você através de uma linguagem natural
Peça alguma coisa e tem um resultado
nível de detalhe bem granular então como
a gente poder utilizar para o benefício
do desenvolvimento de software Tais
ferramentas em que você tá nesse nível
mais abstrato de ideias e de problemas e
soluções trabalhando com o
desenvolvimento software a gente pode
utilizar esses recursos de Inteligência
Artificial o aprendizado de máquina a
linguagem modelos de linguagens que
permitem a gente obter informação de
forma mais direta então a uma outra um
momento que a gente sobe o nível de
abstração que é uma das Fronteiras que
eu imagino a outra Fronteira é como a
gente pode utilizar esses Essas
tecnologias essas ferramentas de
inteligência artificial para poder
fechar esse GAP né Porque de fato de
alguma maneira vai ter que ter a
conversão para linguagem de máquina para
poder ser utilizado o software mas eu
acho que nesse momento aí a gente pode
utilizar essas ferramentas de
Inteligência Artificial então
basicamente nem toda empresa tem uma
quantidade e número de desenvolvedores
que pode estar explorando e
desenvolvendo software a partir de
modelos são desenvolvidos né mas através
do uso dessa Inteligência Artificial a
gente pode suprir a demanda mesmo que
pequenas e médias empresas possam
desenvolver software no nível abstrato
mais abstrato e tem uma produtividade
interessante Então se até o final da
minha carreira Eu Pudesse Ver avanços
nessa área ficaria muito feliz e os
desenvolvedores imaginam que talvez se
livrar de alguns problemas muito
técnicos e ficar pensando em coisas
detalhadas e poder pensar mais um nível
de ideias também ficariam felizes com
esses avanços
Com certeza então Wesley Muito obrigado
a gente aqui toda a equipe do fronteiras
agradece a sua presença eu passo a sua
palavra para você para caso você queira
deixar uma mensagem final para os nossos
nossas ouvintes
de novo eu gostaria mesmo de agradecer
muito quando receber convite eu até
pensei nessa era que eu sou a melhor
pessoa Talvez para tá falando né tanta
pessoa boa que a gente tem no Brasil no
exterior brasileiros que podem entrar
também falando aqui né já tem inúmeros
Eu imagino que deve ter vários outros
que você já estão planejando entrevistar
então fico muito lisonjeado e poder
conversar um pouco espero que
as informações que eu for nesse sobre
modernização algumas indicações talvez
de trabalhos de Notícias ou alguma
motivação para quem tá pensando em fazer
talvez pós graduação ou investindo numa
mudança de vida aí eu espero que eu
tenha de alguma maneira contribuído né
Para que alguma forma absorventes possam
ser diferentes depois de ter escutado o
podcast né talvez eles começaram com uma
cabeça com um tipo de informação com
tipo de ideia e que depois que eles
escutaram podcast e talvez Mudou alguma
coisinha na cabeça deles inclusive
Talvez esse nível de abstração de que a
gente tá fazendo a mesma coisa 50 anos
eu já ficaria feliz se eu pudesse fazer
essa contribuição então de novo Obrigado
espero que eu tenha contribuído e se
alguma pessoa algum ouvinte quiser
conversar comigo trocar ideias Pode
ficar à vontade de entrar em contato
comigo será um prazer poder conversar
com os homens ouvintes ou fronteiras
muito bom Wesley nós é que agradecemos
Então você né E também a todos os nossos
e as nossas ouvintes e até o próximo
episódio do Fronteiras da engenharia de
software