Setor: Desenvolvimento de software
Produtos da JetBrains usados: PyCharm
Tamanho da organização: 30+
País: Alemanha
“Em comparação com outros IDEs, o PyCharm tem um conjunto exclusivo de recursos. O mais importante deles é sua capacidade de refatoração confiável e abrangente. Outro recurso exclusivo do PyCharm é seu suporte a configurações avançadas de execução. Além disso, gosto da "sensação de cockpit" do PyCharm: é um espaço centralizado que me dá acesso rápido a todas as ferramentas necessárias para o meu trabalho.”
— Moritz Renftle, Cientista de dados, Scieneers GmbH
Estudei Ciência da Computação na Universidade de Constança e no Instituto de Tecnologia de Karlsruhe (KIT), com foco em bancos de dados e ciência de dados. Entrei para a Scieneers em 2022 e desde então, venho desenvolvendo e implantando soluções de dados para empresas de diversos setores. Meu trabalho requer um conjunto amplo de habilidades, que incluem análise de dados, desenvolvimento de modelos personalizados, manter-me atualizado sobre técnicas recentes de aprendizado de máquina e a implantação de pipelines de dados na nuvem.
A Scieneers reforça as equipes de seus clientes ou oferece a eles suas próprias equipes para projetar e desenvolver produtos completos de dados e levá-los até a produção. Além de nossos clientes empresariais e de pesquisa, também apoiamos inúmeros projetos no setor sem fins lucrativos. Vários exemplos do nosso trabalho podem ser encontrados no nosso Web site: https://www.scieneers.de.
Em primeiro lugar, eu gosto da "sensação de cabine de pilotagem" do PyCharm: é um espaço centralizado que me dá acesso rápido a todas as ferramentas necessárias para o meu trabalho, incluindo um editor de código, um sistema de controle de versões, um terminal e um navegador de bancos de dados. Comparado a usar essas ferramentas em aplicativos separados, o PyCharm funciona com menos atrito e usa menos "energia cerebral" nas mudanças de contexto.
Além disso, em comparação com outros IDEs, o PyCharm tem um conjunto exclusivo de recursos. O mais importante deles é sua capacidade de refatoração, confiável e abrangente. Em comparação com outras ferramentas, o PyCharm executa essas refatorações de forma muito confiável e garante que o meu código já existente continue funcionando.
Outro recurso exclusivo do PyCharm é seu suporte a configurações avançadas de execução. Por exemplo, posso facilmente criar uma configuração de execução que executa localmente um script em Python como uma tarefa "Before launch", antes de executar o aplicativo principal em uma máquina remota.
Também gosto da integração do interpretador remoto de SSH no PyCharm. Pode ser um pouco difícil configurar o interpretador de SSH, dependendo das configurações da rede e de outros fatores. Mas uma vez que ele esteja em execução, ele funciona de forma muito confiável. Além disso, adoro a capacidade de depurar código em uma máquina remota. Por exemplo, isso é especialmente útil ao treinar um modelo de aprendizado de máquina em uma máquina remota que tenha uma certa GPU que não posso testar localmente. Também adoro o quanto é fácil executar notebooks Jupyter remotos no PyCharm, via SSH. Por fim, mas não menos importante, o PyCharm me ajuda a evitar uploads acidentais de código entre clientes diferentes ao especificar exatamente quais diretórios serão transferidos a qual máquina remota.
O PyCharm me ajudou a:
Estes são alguns dos recursos que se destacaram para mim ao usar notebooks Jupyter no PyCharm:
Tivemos um bug em uma etapa de pré-processamento do nosso pipeline de aprendizado de máquina, resultando em valores implausíveis conforme nossos modelos. Para depurar esse problema, usei o depurador do PyCharm em uma máquina com GPU remota que executou o pipeline de aprendizado de máquina. Tínhamos razoável certeza de que o bug estava no nosso próprio código e não em uma biblioteca externa. Assim, durante a depuração, usei o recurso "step into my code" do PyCharm e pulei todas as chamadas intermediárias de código de biblioteca. Conseguimos localizar e corrigir o problema de forma eficaz, criando pontos de interrupção e traçando frames intermediárias de dados.
O PyCharm permite o escalonamento e a testagem realista de modelos de aprendizado de máquina, executando-os remotamente em uma máquina com o mesmo hardware do ambiente de implantação.
Estou planejando experimentar esses recursos na primeira oportunidade que eu tiver. Seria ótimo se pudéssemos usar um modelo local ou auto-hospedado de aprendizado de máquina para complementação de código por IA.