CodeGym /Blogue Java /Random-PT /A codificação é mais fácil hoje do que há 10 a 15 anos? F...
John Squirrels
Nível 41
San Francisco

A codificação é mais fácil hoje do que há 10 a 15 anos? Ferramentas e técnicas que fizeram acontecer

Publicado no grupo Random-PT
À medida que a indústria de tecnologia avança e exige cada vez mais desenvolvedores de software qualificados, essa profissão também se torna mais acessível para todos que desejam aprender a programar e aproveitar os benefícios da alta demanda por talentos e salários generosos. Veteranos em desenvolvimento de software com décadas de experiência em programação costumam compartilhar histórias de como essa profissão era diferente não muito tempo atrás, quando as informações sobre linguagens de programação e processos de desenvolvimento eram limitadas e disponíveis apenas em livros impressos, às vezes de qualidade duvidosa. Mesmo os idosos que começaram a programar há apenas 10 a 15 anos concordam que é muito mais fácil ser um desenvolvedor de software hoje, e isso é verdade quando se trata da facilidade de adquirir habilidades de codificação e realizar o trabalho real depois. A codificação é mais fácil hoje do que há 10 a 15 anos?  Ferramentas e técnicas que fizeram acontecer - 1Mas o que exatamente torna ser (e se tornar) um programador hoje, em 2021, muito mais fácil do que era, digamos, vinte anos atrás, em 2001? Achamos que esse poderia ser um tópico interessante para examinar com mais detalhes e é isso que faremos agora.

Ferramentas que tornam o trabalho do desenvolvedor de software mais fácil do que nunca

Claro que, à medida que a indústria de desenvolvimento de software evolui, todas as ferramentas, abordagens e tecnologias evoluem com ela, tornando-se mais poderosas e fáceis de usar, enquanto a informação se torna cada vez mais acessível e extensa. Mas alguns instrumentos que foram introduzidos não muito tempo atrás, e agora são comumente usados ​​pela maioria dos codificadores, realmente fazem a diferença. Aqui estão os mais notáveis ​​em nossa opinião.

1. Git e GitHub.

O Git é um sistema de controle de versão distribuído gratuito e de código aberto projetado para lidar com tudo, desde projetos pequenos a muito grandes com velocidade e eficiência. Lançado inicialmente em 2005, o Git rapidamente se tornou um padrão da indústria, permitindo que os desenvolvedores tenham um controle muito melhor sobre as alterações no código e nas versões dos projetos de software, além de tornar a colaboração de vários codificadores muito, muito mais eficiente e organizada. GitHub é uma plataforma de hospedagem de repositório de código Git para controle de versão e colaboração. Lançado pela primeira vez em 2008, o GitHub se tornou a plataforma de desenvolvimento de software líder mundial logo depois. O GitHub torna muito mais fácil para os desenvolvedores colaborar e contribuir com projetos de código aberto, criar documentação adequada para o código, mostrar seu trabalho para outras pessoas e assim por diante. “Eu estava usando o Apache Subversion (SVN) antes, que é centralizado, ou seja, todas as alterações são armazenadas em um servidor. Isso significa que, quando você se compromete, suas alterações são carregadas diretamente. Lembro que às vezes era bastante estressante, e os momentos “Não tenho certeza se isso funciona, mas é melhor salvar este código” eram realmente difíceis de lidar. Considerando que com o Git você pode apenas confirmar e se preocupar com o push mais tarde (e, em caso de dúvida, você sempre pode ramificar)”, Guillaume Elias, um desenvolvedor C++ experiente,recorda .

2. IntelliJ IDEA e outros IDEs.

IntelliJ IDEA é um ambiente de desenvolvimento integrado escrito em Java e capaz de entender e fornecer assistência de codificação inteligente para uma grande variedade de outras linguagens, como SQL, JPQL, PQL, HTML, JavaScript, Kotlin, etc. Scala, Rust, PHP, Ruby e outros, via plugin. Embora o primeiro IDE — Visual Basic (VB) da Microsoft — tenha sido lançado em 1991, os IDEs originais não foram bem recebidos pelos desenvolvedores. Isso mudou nos anos 2000, após o lançamento do IntelliJ IDEA em 2001, quando começou a ser adotado no início dos anos 2000, juntamente com a adição de recursos e integrações poderosos. Como resultado, na década de 2010, os IDEs, e o IntelliJ IDEA em particular, tornaram-se um padrão de fato para a maioria dos desenvolvedores de software. “Comecei na década de 1980, de volta quando as linhas de comando e os arquivos make eram o padrão. Um IDE com depurador de nível de fonte integrado (meu primeiro foi Lightspeed C) foi uma melhoria imensa. Todas as melhorias desde então foram incrementais. Melhores IDEs com funções mais integradas melhoraram o processo de desenvolvimento, mas isso é apenas incrementalismo. O IDE com depuração de fonte foi um salto quântico, comparável ao desenvolvimento de linguagens de programação além do assembler”, William Hembree, desenvolvedor de software aposentado e educador em ciência da computação,disse .

3. Estouro de Pilha.

Quando se trata de obter informações relacionadas à codificação, muita coisa mudou no final dos anos 2000 e início dos anos 2010, com um número crescente de novos quadros de mensagens e plataformas comunitárias para desenvolvedores. Stack Overflow é a comunidade online mais popular para desenvolvedores, visitada por mais de 50 milhões de programadores por mês. Lançado em 2008, o Stack Overflow tornou mais fácil para os programadores trocar conhecimento e se comunicar uns com os outros, e simplificou os processos de aprendizagem para iniciantes em codificação. “A primeira coisa que me vem à mente é o Stack Overflow. Agora, você dirá, não é uma ferramenta, mas é. É uma fonte inestimável de informações que as pessoas antes de 2008 não tinham. Tivemos manuais, livros e mentores (desenvolvedores seniores), e é assim que as pessoas aprenderam e compartilharam coisas antes do SO”, Antonio Nesic, engenheiro de software sênior da Croácia,aponta .

4. Serviços de nuvem gerenciados.

A crescente adoção de serviços de nuvem gerenciados também desempenhou um papel importante em facilitar o trabalho dos programadores modernos. Depois que serviços em nuvem como Amazon Web Services e Microsoft Azure, lançados em 2006 e 2008 respectivamente, se tornaram disponíveis e ganharam adoção em massa, os programadores não precisam mais de tantas pessoas para configurar e manter servidores e redes para que o sistema funcione. Os serviços em nuvem também tornaram o desenvolvimento de software muito mais eficiente, pois hoje as equipes de desenvolvimento podem ser menores e mais produtivas individualmente. “Quando comecei a programação web dinâmica, havia um ASP, e não estou falando do ASP.NET, um framework web de código aberto para .NET, mas do bom e velho ASP clássico que usava o banco de dados MS Access. Sim, você me ouviu bem. Não usava MySQL, MSSQL ou algo semelhante. Você anexaria um banco de dados do MS Access a ele. E então você teria um servidor e o cliente. E foi isso. Tão simples como isso. Hoje em dia você tem DigitalOcean, Linode, Google Cloud, AWS, Azure, etc. E todos eles têm uma tonelada de coisas em seu arsenal para ajudar seu software a escalar e trabalhar com o mínimo de tempo de inatividade”, acrescenta Antonio Nesic.

5. Ferramentas de gestão e comunicação de projetos: Jira e Slack.

Por fim, não podemos deixar de mencionar o Jira e o Slack, além de outras ferramentas semelhantes que tornam o gerenciamento de projetos e a comunicação entre desenvolvedores e outros especialistas muito mais organizados e planejados. Jira é uma solução proprietária de rastreamento de problemas, lançada pela primeira vez em 2002, que permite aos usuários planejar, rastrear e gerenciar projetos ágeis e de desenvolvimento de software. Ele também possui várias outras funções, permitindo que os programadores colaborem com mais eficiência, personalizem o fluxo de trabalho, rastreiem bugs e gerenciem o backlog. O Slack é uma plataforma de comunicação empresarial que possui vários recursos de troca de mensagens e colaboração, como salas de bate-papo organizadas por tópicos, grupos privados para conversas com várias pessoas, chamadas de vídeo e assim por diante. Lançado pela primeira vez em 2009, rapidamente se tornou a ferramenta de comunicação mais popular para equipes de desenvolvimento de software. Brett Watters, outro programador experiente, lembrou de outras ferramentas que valem a pena mencionar. “Skype, Teams, IM, SharePoint e outras ferramentas semelhantes agora permitem o compartilhamento rápido de informações, colaboração, etc. sem reuniões físicas, discussões, longas trocas de e-mail e assim por diante”, eledisse .

Por que se tornar um desenvolvedor de software também é mais fácil hoje do que nunca

Obviamente, à medida que o trabalho do desenvolvedor de software fica mais fácil com novas ferramentas e desenvolvimento de tecnologia, as habilidades de aprendizado necessárias para um programador profissional também se tornam muito mais acessíveis e amigáveis ​​para iniciantes do que antes. Então, o que mudou no ensino de desenvolvimento de software nas últimas duas décadas? Muitas coisas. A informação aumentou de volume e tornou-se disponível através de múltiplas fontes e de múltiplas formas, as tecnologias de aprendizagem também foram aprimoradas.

  • Tutoriais de programação gratuitos.

Em parte graças à disponibilidade de excelentes ferramentas e plataformas de colaboração e como resultado de comunidades de desenvolvedores em rápido crescimento, tanto online quanto offline, hoje os iniciantes que desejam aprender uma linguagem de programação podem encontrar vários tutoriais gratuitos para aprender online. Isso é especialmente verdadeiro quando se trata de linguagens de programação extremamente populares, como Java. Existem muitos tutoriais Java gratuitos disponíveis online. Os tutoriais oficiais de Java da Oracle certamente merecem uma recomendação. Alguns outros ótimos tutoriais interativos de Java on-line seriam LearnJavaOnline.org , JavaBeginnersTutorial.com e aquele que você pode encontrar em Tutorials Point .

  • Cursos avançados de aprendizado on-line.

A existência de cursos avançados de aprendizado de programação com planos de aprendizado, elementos de gamificação, recursos sociais e ênfase no ensino de habilidades aplicáveis ​​aos alunos em vez de teoria inútil é outra coisa que faz a diferença no ensino de desenvolvimento de software hoje. Para não ser imodesto, mas o CodeGym é provavelmente o melhor exemplo de um curso avançado de aprendizado on-line, bom para iniciantes e capaz de fornecer graduados que são desenvolvedores Java totalmente funcionais. O CodeGym é perfeito para aprender a melhorar a codificação da maneira mais eficaz possível - por meio da prática, muita prática. A partir da primeira lição do CodeGym, você aprenderá lentamente os fundamentos do Java, tendo diversas tarefas (quebra-cabeças) projetadas para ajudá-lo a apoiar o conhecimento teórico com habilidades práticas práticas.

  • Plataformas de preparação de programação.

Plataformas de preparação on-line onde iniciantes em codificação podem praticar e se preparar para entrevistas de emprego é outra novidade considerável que não existia até os anos 2000-10. Algumas das plataformas de preparação mais populares são LeetCode , Interview Cake e HackerEarth . O CodeGym, com suas mais de 1200 tarefas também pode ser classificado como uma plataforma preparatória, diga-se de passagem. Uma plataforma gamificada e divertida de usar, pode-se acrescentar.

  • Canais no YouTube, blogs e podcasts sobre programação.

Novas mídias com muito conteúdo gerado pelo usuário podem ser uma ótima fonte de aumento de aprendizado, ajudando os iniciantes a obter informações diretamente de especialistas em seu campo por meio de canais do YouTube , blogs e podcasts. Como exemplo, hoje é possível encontrar vários canais excelentes do YouTube para iniciantes em Java , como Derek Banas , Programming with Mosh , Oracle's Java channel , Adam Bien e vJUG .

  • Jogos de codificação.

Finalmente, alguns jogos de codificação realmente excelentes foram lançados. Como sabemos, e o CodGym é uma prova viva , a gamificação pode ser uma ótima maneira de capacitar seu aprendizado e alcançar um melhor progresso enquanto também se diverte no processo. Quando aplicado para aprender a codificar, ajuda os iniciantes a compreender a essência de conceitos e técnicas de programação difíceis de forma mais rápida e com menos esforço. Você concorda que aprender a programar e trabalhar como desenvolvedor de software hoje é mais fácil do que nunca, ou perdemos algo provando o ponto de vista oposto? Deixe-nos saber na seção de comentários abaixo.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION