đ€ A influĂȘncia do GitHub Copilot na vida do programador iniciante
O GitHub Copilot se tornou uma ferramenta excepcionalmente necessĂĄria na vida de grande parte dos programadores, sejam eles iniciantes ou avançados, estando no nĂvel "junior" ou "sĂȘnior". Dificilmente vocĂȘ encontrarĂĄ um indivĂduo que nĂŁo conheça essa ferramenta, estando inserido (e constantemente atualizado) no universo da programação.
Ă uma tecnologia deveras interessante, meticulosamente arquitetada e, outrossim, de rica carga educativa. Contudo, destacam-se duas ramificaçÔes principais quando o tema Ă© GitHub Copilot: ele serĂĄ a sua "porta de entrada" para um mar de possibilidades, ou o vĂcio que levarĂĄ Ă decadĂȘncia de sua carreira (que pode ou nĂŁo estar em seus primĂłrdios, no estĂĄgio de "alfabetização", ou com uma carga de experiĂȘncias mais extensa).
E assim começa o primeiro tópico desse artigo:
đș O QUE Ă O GITHUB COPILOT E COMO SURGIU?
O GitHub Copilot Ă© um software de InteligĂȘncia Artificial (IA) integrado nas plataformas "GitHub", "Vs Code", "Visual Studio", "Xcode", "Eclipse", alĂ©m de diversas outras, que promete ser um "copiloto" ao desenvolvedor, que o auxilia na codificação, identificação e resolução de problemas, administração de repositĂłrios no GitHub, somado a uma sĂ©rie de variadas funçÔes com o objetivo de facilitar o trabalho de um "dev".
Segundo o site de notĂcias de tecnologia "The Verge", em meados de 2021 a internet jĂĄ havia se deparado com o anĂșncio da nova criação do GitHub em parceria com a OpenAI:
"GitHub and OpenAI have launched a technical preview of a new AI tool called Copilot, which lives inside the Visual Studio Code editor and autocompletes code snippets."
Em portugĂȘs: "O GitHub e a OpenAI lançaram uma prĂ©via tĂ©cnica de uma nova ferramenta de IA chamada Copilot, que fica dentro do editor do Visual Studio Code e preenche automaticamente trechos de cĂłdigo."
Com o objetivo de ser uma evolução na programação, o GitHub Copilot se adequa atĂ© mesmo ao estilo de cĂłdigo do usuĂĄrio! Utilizando a mesma lĂłgica, sintaxe e estilo de seu utilizador. Ă verdadeiramente mais um dos grande avanços tecnolĂłgicos do "boom" que as inteligĂȘncias artificiais tiveram nesses Ășltimos tempos.
đ Para mais informaçÔes sobre o anĂșncio desse software, acesse: https://www.theverge.com/2021/6/29/22555777/github-openai-ai-tool-autocomplete-code
Fonte da imagem: https://github.blog/news-insights/product-news/github-copilot-for-business-is-now-available/
GitHub Copilot transforms the developer experience. Backed by the leaders in AI, GitHub Copilot provides contextualized assistance throughout the software development lifecycle, from code completions and chat assistance in the IDE to code explanations and answers to docs in GitHub and more. With GitHub Copilot elevating their workflow, developers can focus on: value, innovation, and happiness. (https://github.com/features/copilot)
Em portugĂȘs: O GitHub Copilot transforma a experiĂȘncia do desenvolvedor. Com o apoio dos lĂderes em IA, o GitHub Copilot oferece assistĂȘncia contextualizada durante todo o ciclo de vida do desenvolvimento de software, desde a complementação de cĂłdigo e assistĂȘncia por chat no IDE atĂ© explicaçÔes de cĂłdigo e respostas a documentos no GitHub e muito mais. Com o GitHub Copilot aprimorando seu fluxo de trabalho, os desenvolvedores podem se concentrar em: valor, inovação e satisfação.
Uau, Ă© uma ferramenta incrĂvel! Sim, realmente Ă©, e veio com o intuito primordial de facilitar o ciclo de desenvolvimento de software. Entretanto, apesar de tanto auxĂlio que Ă© amplamente concedido, jĂĄ diria SĂȘneca, "NinguĂ©m estĂĄ isento de medo ou dor. A vida Ă© um campo de batalha."; O GitHub Copilot possui a pĂ©ssima "abertura" para o fracasso, e a responsabilidade nĂŁo Ă© da IA. Inicia-se o tĂłpico:
đ GITHUB COPILOT: FERRAMENTA DE AUXĂLIO OU DE DECADĂNCIA?
Algumas das vantagens de utilizar o GitHub Copilot (ou qualquer outra ferramenta de IA) para a codificação jĂĄ foram citadas. Indubitavelmente, tecnologias de tal porte sĂŁo, como diria a comum frase popular, uma "mĂŁo na roda" na vida profissional de todo dev; vida que a propĂłsito, jĂĄ Ă© cheia de preocupaçÔes e quebra-cabeças. Contudo, um alerta deve ser feito com extrema urgĂȘncia:
â ïž QUALQUER RECURSO DE IA DEVE SER UTILIZADO PARA FINS CONSTRUTIVOS, E NĂO, DE FORMA ALGUMA, PARA SUBSTITUIR OS ESFORĂOS, CAPACITAĂĂES E RESPONSABILIDADES DE SEU PORTADOR! â ïž
JĂĄ diria Fei-Fei Li, cientista da computação e referĂȘncia em IA:
âArtificial intelligence is not a substitute for human intelligence; it is a tool to amplify human creativity and ingenuity.â (https://mstb.org/why-human-testers-remain-essential/)
Em PortugĂȘs: âA inteligĂȘncia artificial nĂŁo Ă© um substituto para a inteligĂȘncia humana; Ă© uma ferramenta para ampliar a criatividade e a engenhosidade humanas.â
A InteligĂȘncia Artificial Ă© desenvolvida pelo ser humano para servi-lo em matĂ©ria de otimização, estudo, pesquisa e outros fins como um auxiliar. O uso indevido dessa ramificação da tecnologia, em um cenĂĄrio tragicamente comum nos dias atuais, tome-se como exemplo: "CTRL + C" e "CTRL + V" na resposta do "prompt" (entrada de texto), ou entĂŁo buscar a resposta de um conflito sem antes raciocinar sua solução, gera empobrecimento cognitivo, dependĂȘncia, perda de qualificação como profissional, declĂnio em sua imagem moral, e, chegando Ă conclusĂŁo do tĂtulo do tĂłpico e da matĂ©ria, o declĂnio em sua carreira. O "ChatGPT", "Gemini", "GitHub Copilot", ou qualquer outra alternativa utilizada, torna-se a pior ferramenta a ser usufruĂda; sua ferramenta de declĂnio.
Levando em conta a vida do programador iniciante, aquele que estĂĄ começando sua jornada no "vasto mundo da programação" e que enfrentarĂĄ desafios, requisitos e necessidades que o prĂłprio sujeito deverĂĄ enfrentar, a IA nĂŁo sĂł pode, como deve ser utilizada. Foi para tal fim que foi criada! A IA nĂŁo Ă© intrinsecamente ruim, mas sim um utensĂlio que exige uma utilização correta. Essa utilização demanda uma responsabilidade faltante em grande parte dos desenvolvedores da geração atual, que jĂĄ nĂŁo passam mais "horas e horas" na tentativa de aprimorar seus conhecimentos tĂ©cnicos. Ă muito mais "conveniente" pedir a resposta para uma simulação da inteligĂȘncia humana surreal que lhe responderĂĄ em segundos. O problema consiste em como o sujeito age apĂłs estar face a face com a decisĂŁo de almejar uma constante melhora pessoal, ou ceder Ă s tentaçÔes de evitar o "suor e lĂĄgrimas".
De acordo com Intelligent (13 de Setembro de 2024), site que oferece dados baseados em pesquisas de mais de 2000 universidades, uma a cada 6 companhias hesitam em contratar a "Geração Z" (Nascidos de 1997 a 2012):
Fonte da imagem: https://www.intelligent.com/1-in-6-companies-are-hesitant-to-hire-recent-college-graduates/?utm_source=the_news&utm_medium=newsletter&utm_campaign=21-02-2025&_bhlid=30ca27702e8dc4ecae3f5478ce345d0bc3769f43
Em portuguĂȘs:
- 75% das empresas relatam que alguns ou todos os recém-formados que contrataram este ano não foram satisfatórios
- 6 em cada 10 empresas demitiram um recém-formado que contrataram este ano
- 1 a cada 6 gerentes de contratação dizem que hesitam em contratar pessoas desse grupo
- Os gerentes de contratação dizem que os recém-formados não estão preparados para o mercado de trabalho, não conseguem lidar com a carga de trabalho e são pouco profissionais
- 1 a cada 7 empresas pode deixar de contratar recém-formados no próximo ano
- 9 em cada 10 gerentes de contratação dizem que recém-formados devem passar por treinamento de etiqueta
O tema converte-se em uma filosofia social da estrutura de realidade que a juventude da atualidade convive e coexiste, que pode ser agravada com o abuso excessivo de inteligĂȘncias artificiais utilizadas de maneira inconforme. Com suas ressalvas, claramente, nem todos os jovens cedem ao comodismo e Ă falta de iniciativa questionados por grande parte das universidades e empresas. No entanto, existem dados estatĂsticos que provam a necessidade imediata de mudança de carĂĄter em grande parcela da nova geração. Como vivem em uma Ă©poca consideravelmente diferente Ă dos mais antigos, as informaçÔes nĂŁo sĂŁo mais buscadas apenas em livros e bibliotecas, como Ă© comumente relatado pelos familiares de idade mais avançada. O ambiente virtual se tornou indispensĂĄvel na realidade atual, seja para trabalho, estudos ou vida particular.
đ€ AS RESPONSABILIDADES DO DESENVOLVEDOR AO UTILIZAR O GITHUB COPILOT (OU QUALQUER OUTRA IA)
1 CorĂntios 6,12 (BĂblia de JerusalĂ©m) cita:
" "Tudo me é permitido", mas nem tudo convém. "Tudo me é permitido" mas não me deixarei escravizar por coisa alguma."
âïž Algumas responsabilidades, boas-prĂĄticas e exigĂȘncias do desenvolvedor, sobretudo os principiantes sĂŁo:
- Manter o estudo frequente, buscando aprimorar a cada dia sua bagagem de conhecimentos ("a sabedoria edifica o homem")
- Respeitar as leis de Copyright
- Manter a ética profissional, estando ou não em seu ambiente de serviço
- Estar sempre atualizado quanto Ă s polĂticas de privacidade e as normas legais da empresa e da ĂĄrea de "Tecnologia da Informação"
- Estar ciente de que o plågio não leva à realização interior, e não possui mérito ou conquista alguma
- Buscar entender a solução dada pela IA e não apenas "copiar e colar"
- Utilizar legalmente as ferramentas oferecidas, de modo que não coloque em risco a sua segurança e do próximo
- Aprender como realizar prompts e questionamentos edificantes, que aprimorem o conhecimento através da resposta fornecida
đĄ EXEMPLO DE UTILIZAĂĂO DO GITHUB COPILOT DE MANEIRA EDUCATIVA - DESAFIO "resolvendo-codigos-py-copilot"
Link do repositĂłrio: https://github.com/raissarobadel/resolvendo-codigos-py-copilot
A autora do artigo lido, RaĂssa Robadel Barbosa, iniciante na ĂĄrea de programação (estudos gerais iniciados hĂĄ cerca de um ano, sendo dentre esses apenas por volta de 3 meses com a DIO) realizou o desafio "resolvendo-codigos-py-copilot" proposto pela professora Aline Antunes, do curso "Formação GitHub Certification" da DIO. O intuito do desafio era explorar a utilização do GitHub Copilot, atravĂ©s de boas prĂĄticas, com a finalidade de explorar o funcionamento desse "copiloto".
No desafio, foram solicitadas algumas resoluçÔes de cĂłdigos em Python (linguagem nunca vista anteriormente pela autora do artigo) utilizando o Github Copilot. Foi uma experiĂȘncia construtiva que pode servir de inspiração para estudantes que iniciaram sua jornada recentemente.
A seguir, uma pequena parte do cĂłdigo criado:
for ingrediente in ingredientesChocolate:
while True:
resposta = input(f"VocĂȘ tem {ingrediente}? (sim/nĂŁo): ").strip().lower() # O strip() remove espaços em branco no inĂcio e no final da string, enquanto o lower() converte todos os caracteres da string para letras minĂșsculas.
if resposta == "sim":
break
elif resposta == "nĂŁo":
if ingrediente not in todos_ingredientes_faltantes:
todos_ingredientes_faltantes.append(ingrediente) # O método append() em Python é usado para adicionar um item ao final de uma lista.
print(f"VocĂȘ ainda nĂŁo tem {ingrediente}. Digite 'continuar' para verificar os prĂłximos ingredientes: ") # O f antes de {} Ă© usado para criar uma f-string (formatted string literal) em Python. Ele permite que vocĂȘ insira o valor de variĂĄveis ou expressĂ”es diretamente dentro de uma string, substituindo o conteĂșdo das chaves {} pelo valor correspondente, e evitando o uso de +
resposta = input().strip().lower()
if resposta == "continuar":
break
else:
print("Resposta invĂĄlida. Por favor, responda com 'sim' ou 'nĂŁo'.")
Para concluir o artigo:
O GitHub Copilot pode ser utilizado:
đ De modo gratuito, atravĂ©s da capacidade mĂĄxima disponibilizada pela plataforma GitHub
đł Assinando os planos "Pro" e "Pro+", com valores mensais respectivamente de $10 e $35 (DĂłlares)
đ§âđ AtravĂ©s do email estudantil, solicitando na plataforma GitHub o acesso ao benefĂcio "GitHub Education" que fornece uma sĂ©rie de acrĂ©scimos ao estudante frequente e ativo, por um determinado perĂodo de tempo (O GitHub investe constantemente na educação)
Para mais informaçÔes, acesse:
Planos e sobre o GitHub Copilot: https://github.com/features/copilot
BenefĂcio GitHub Education (GitHub Student Developer Pack): GitHub Student Developer Pack - Education
Por fim, SĂłcrates diz:
"Uma vida nĂŁo examinada nĂŁo vale a pena ser vivida."