Industrie: Softwareentwicklung
Verwendete JetBrains-Produkte: PyCharm
Organisationsgröße: 30+
Land: Deutschland
Scieneers ist ein IT-Unternehmen, dessen 35 Expert*innen für IT, Daten und Data Science sich leidenschaftlich mit Daten und datenbasierter Wertschöpfung beschäftigen. Sie bieten gezielte Data-Engineering- und Data-Science-Dienste an, um das in Daten schlummernde Potenzial auszuschöpfen und wertvolle Erkenntnisse aus ihnen zu gewinnen.
“PyCharm hat einen einzigartigen Funktionsumfang im Vergleich zu anderen IDEs. Das zentrale Alleinstellungsmerkmal sind die zuverlässigen und umfassenden Refactoring-Fähigkeiten. Eine weitere einzigartige Funktion von PyCharm ist die Unterstützung von erweiterten Run-Konfigurationen. Darüber hinaus mag ich das „Cockpit-Feeling“ von PyCharm: Eine zentralisierte Umgebung bietet mir schnellen Zugriff auf alle Tools, die ich für meine Arbeit benötige.”
— Moritz Renftle, Data Scientist, Scieneers GmbH
Ich habe an der Universität Konstanz und am Karlsruher Institut für Technologie (KIT) Informatik mit den Schwerpunkten Datenbanken und Data Science studiert. Seit 2022 entwickle und implementiere ich bei Scieneers Datenlösungen für Unternehmen aus verschiedenen Branchen. Meine Arbeit erfordert ein breites Qualifikationsspektrum, darunter Datenanalyse, Entwicklung eigener Modelle, Studium der neuesten Verfahren im Bereich maschinelles Lernen und Bereitstellung von Datenpipelines in der Cloud.
Scieneers verstärkt die Teams der Kundenunternehmen oder bietet eigene Teams an, um komplette Datenprodukte zu konzipieren, zu entwickeln und in die Produktion zu bringen. Neben unseren Kunden in Wirtschaft und Forschung unterstützen wir zahlreiche gemeinnützige Projekte. Verschiedene Beispiele für unsere Arbeit sind auf unserer Website zu finden: https://www.scieneers.de.
Erstens mag ich das „Cockpit-Feeling“ von PyCharm: Eine zentralisierte Umgebung bietet mir schnellen Zugriff auf alle Tools, die ich für meine Arbeit benötige. Dazu gehören ein Code-Editor, eine Versionsverwaltung, ein Terminal und ein Datenbank-Browser. Im Vergleich zur Nutzung dieser Tools in separaten Anwendungen verursacht PyCharm weniger Reibungsverluste und erfordert weniger „geistige Energie“ bei Kontextwechseln.
PyCharm bietet außerdem einen einzigartigen Funktionsumfang im Vergleich zu anderen IDEs. Das zentrale Alleinstellungsmerkmal sind die zuverlässigen und umfassenden Refactoring-Fähigkeiten. Im Vergleich zu anderen Tools führt PyCharm solche Refactorings sehr zuverlässig durch und sorgt dafür, dass mein Code weiterhin funktioniert.
Eine weitere einzigartige Funktion von PyCharm ist die Unterstützung von erweiterten Run-Konfigurationen. So kann ich beispielsweise mühelos eine Run-Konfiguration einrichten, die ein Python-Skript lokal als „Before launch“-Task ausführt, bevor die Hauptanwendung auf einem Remote-System ausgeführt wird.
Mir gefällt auch die Integration des Remote-SSH-Interpreters in PyCharm. Den SSH-Interpreter einzurichten kann etwas schwierig sein, je nach den Netzwerkeinstellungen und anderen Faktoren. Aber wenn er einmal läuft, funktioniert er sehr zuverlässig. Ich mag auch die Möglichkeit, Code auf einem Remote-System zu debuggen. Besonders nützlich ist dies zum Beispiel, wenn ich ein maschinelles Lernmodell auf einem Remote-System mit einer bestimmten GPU trainiere, die ich lokal nicht testen kann. Ich schätze auch die Einfachheit, mit der ich Remote-Jupyter-Notebooks über SSH in PyCharm ausführen kann. Und nicht zuletzt hilft mir PyCharm, bei der Arbeit für unterschiedliche Kunden versehentliche Code-Uploads zu verhindern, indem ich genau festlege, welche Verzeichnisse in welches Remote-System hochgeladen werden sollen.
PyCharm hat mir bei folgenden Aspekten geholfen:
Das sind einige der Funktionen, die mir bei der Verwendung von Jupyter-Notebooks in PyCharm aufgefallen sind:
Wir hatten einen Bug in einem Vorverarbeitungsschritt unserer ML-Pipeline, der in unseren Modellen zu unplausiblen Werten führte. Um dieses Problem zu beheben, verwendete ich den PyCharm-Debugger auf einem Remote-System, auf dem die ML-Pipeline ausgeführt wurde. Wir waren uns ziemlich sicher, dass der Fehler in unserem eigenen Code lag und nicht in einer externen Bibliothek. Daher übersprang ich beim Debuggen mit der PyCharm-Funktion „Step into my code“ alle Aufrufe von Bibliothekscode. Durch Haltepunkte und das Plotten von intermediären Dataframes konnten wir das Problem effektiv aufspüren und beheben.
Mit PyCharm können ML-Modelle skaliert und realistisch getestet werden, indem sie remote auf einem System ausgeführt werden, dessen Hardware der Deployment-Umgebung entspricht.
Ich habe vor, sie bei der ersten sich bietenden Gelegenheit auszuprobieren. Es wäre toll, wenn man für die KI-Code-Completion ein lokales oder selbst gehostetes ML-Modell verwenden könnte.