Python beruflich

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
FrankKazka
User
Beiträge: 3
Registriert: Freitag 12. Juli 2019, 23:38
Wohnort: Frankfurt

Freitag 12. Juli 2019, 23:44

Hallo,

ich habe meine Informatik-Abschlussarbeit (Bachelor) vor 2 Jahren zum Thema Textklassifizierung geschrieben und mich ein bisschen in Python verguckt. Ich habe Erfahrung mit C++, Java, Objective-C, PHP, JavaScript, Webkram allgemein und ein bisschen Ruby - neben Ruby hat mir Python bisher klar am besten gefallen.

Mein derzeitiger Job war mal als "Data Scientist" gedacht, der Fokus hat sich dann aber recht bald von Python & ML zu PHP-Webentwicklung verschoben.. ML interessiert mich auf jeden Fall, ist für mich aber kein Muss - insbesondere weil ich den Eindruck habe, dass ML-Jobangebote sich fast immer an "Senior Data Scientists" richten, was ich aus fachlicher Sicht sehr klar (noch) nicht bin. Ich bin aber ein fähiger Softwareentwickler (bin 31) - und ich sage absichtlich Entwickler, weil ich darunter mehr als nur Programmieren verstehe.


Wenn man gerne mit Python in einem professionellen Umfeld arbeiten möchte, mit oder ohne ML, welche Jobs, Bereiche oder Branchen kommen da am ehesten in Frage? Gibt es neben ML einen Markt für Python?

Vielen Dank :)
Amerika_befreie_uns
User
Beiträge: 31
Registriert: Sonntag 15. November 2015, 08:28

Sonntag 21. Juli 2019, 07:21

Was für ein Arbeitsverhältnis stellst Du dir vor?
Und was für Projekt Erfahrungen hast Du?

Bist du für ein Gespräch offen, ich bin auf diesem web.py Sprachkanal.
https://discord.gg/7AWTbB6
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Montag 22. Juli 2019, 09:13

Python ist nice to have.
Viele Ingenieure und Naturwissenschaftler nutzen Python als Hilfsmittel.
In der Software-Entwicklung ist Python eine tolle Erweiterung zu C++. Du bist als C++ Entwickler viel effektiver, wenn du alles was mit Python geht nicht mit C++ entwickelst.
Die Tools für ML sind inzwischen so gut, dass nicht mehr die Bibliotheks-Syntax das Problem ist, sondern man skiziert seine Schichten vom neuronalen Netz und die Lernfälle auf Papier und dann wird das in Python umgesetzt.

Python ist ein Schraubenschlüssel, du wirst aber in der KFZ-Werkstatt nicht dafür eingestellt, dass du Muttern anziehen kannst, sondern du musst wissen, wie du den Motor auseinander und wieder zusammenkriegst. Deshalb klappt es nicht eine gute Entwickler-Stelle zu bekommen nur mit der Qualifikation Python-Entwickler. Bei C++ und Java geht das, aber nicht bei Python.
a fool with a tool is still a fool, www.magben.de, YouTube
__deets__
User
Beiträge: 6178
Registriert: Mittwoch 14. Oktober 2015, 14:29

Montag 22. Juli 2019, 10:51

@FrankKazka hoer nicht auf den Troll. Er ist boese, weil wir seine Elaborate nicht auf den Knien rutschend und gen Bremen betend entgegen genommen haben. Sondern es gewagt haben, seine Machwerke aus der perspektive von gutem Software-Enginieering zB bezueglich Namenskonventionen, nicht-globalem Zustand etc zu kritisieren. Das hat ihm nicht gefallen. Und spricht Baende bezueglich der Erfahrung mit "professioneller Entwicklung". Ebenso die Annahme, man wuerde mit Java irgendwie naeher an der zerlegten Maschine sein...

Wir nutzen sowohl C++ als auch Python, und es gibt fuer beides Stellen die auch ohne prinzipiellen Unterschied in Wahrnehmung und Gehalt sind. Dass *mehr* Sprachen zu beherrschen etwas gutes ist, ist davon unabhaengig natuerlich wahr, und erlaubt einem dann den Schwerpunkt der Aufgaben zu wechseln. Was in beiden Richtungen auch regelmaessig passiert.
DasIch
User
Beiträge: 2512
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Dienstag 23. Juli 2019, 11:02

MagBen hat geschrieben:
Montag 22. Juli 2019, 09:13
In der Software-Entwicklung ist Python eine tolle Erweiterung zu C++. Du bist als C++ Entwickler viel effektiver, wenn du alles was mit Python geht nicht mit C++ entwickelst.
C++ ist unglaublich komplex. Ein Großteil der Komplexität ist vollkommen unnötig. Es ist im Vergleich zu C viel schwieriger C++ mit anderen Sprachen zu kombinieren. Es hat darüberhinaus keinerlei Vorteile gegenüber anderen Sprachen es sei dann man braucht tatsächlich die Performance. Das ist in der Praxis quasi nie der Fall, womit man besser bei Java aufgehoben.

Die Tools für ML sind inzwischen so gut, dass nicht mehr die Bibliotheks-Syntax das Problem ist, sondern man skiziert seine Schichten vom neuronalen Netz und die Lernfälle auf Papier und dann wird das in Python umgesetzt.
ML ist weit mehr als neuronale Netzwerke. Die Tools für ML sind auch nicht sonderlich gut. Sobald es über lokales rumspielen wesentlich hinausgeht und du ML tatsächlich produktiv einsetzen willst, wird es sehr schnell kompliziert. Wie managed man die Daten für Training, die Models selbst usw. richtig? Wie mache ich backtesting? Wie bringe ich das zu Produktion? Wie mache ich daraus eine Pipeline so dass ich Models kontinuerlich verbessern kann?

Deshalb klappt es nicht eine gute Entwickler-Stelle zu bekommen nur mit der Qualifikation Python-Entwickler. Bei C++ und Java geht das, aber nicht bei Python.
Naja, wenn du "gute" weg gelassen hättest würde ich zustimmen. Man findet für Java definitiv problemlos eine Entwicklerstelle, dass ist halt die simple Standardsprache die jeder noch so schlechte Programmierer irgendwie hinbekommt und niemand fragt nach wieso man Java nutzt, was bei Python oder noch exotischeren Sprachen schon anders ist. Ich glaub aber nicht dass die meisten dieser Stellen sonderlich gut sind. Unternehmen die auch andere Sprachen nutzen, sich also bewusst mit dem Thema der Sprachwahl auseinandersetzen, hab ich da doch eher in Verdacht auch tatsächlich gut Entwicklerstellen zu haben.
__deets__
User
Beiträge: 6178
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dienstag 23. Juli 2019, 11:17

Ich denke das "Python-Paradoxon" wie es mal von Paul Graham (glaube ich) beschrieben wurde gibt's nicht mehr. Das besagt, dass Python-Programmierer bessere Programmierer sind, weil sie sich fuer eine eher abseitige Sprache interessieren, und daher waere das ein Indikator fuer tatsaechliches Interesse am Programmieren. Dazu ist Python inzwischen zu populaer. Und ich wuerde MagBen ja sogar zustimmen, dass Python's starke Verbreitung gerade im wissenschaftlich/data-scientist-Bereich dazu gefuehrt hat, das man eine Menge Leute hat, die nur noch pandas + matplotlib-Fragmente aufeinander hauen, bis was dabei rum kommt. Nur ist es eben unredlich im Umekehrschluss zu unterstellen, deshalb waere mit Python kein vernuenftiger Job zu bekommen. Die Aufgabe, aus den Bewerbern die kompetenten auszufiltern nimmt einem leider keiner ab. Und C++ ist da auch kein Garant fuer irgendwas, frei nach dem Motto wenn der Berg nur hoch genug ist, dann sind die Leute die den bestiegen haben schon faehig. Klappt nicht am Mount Everest, und klappt nicht bei den hunderten von C++-Bewerbern die wir gescreent und ausgesiebt haben, mit Einstellungsquoten im niedrigen einstelligen Prozentbereich.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Dienstag 23. Juli 2019, 11:29

DasIch hat geschrieben:
Dienstag 23. Juli 2019, 11:02
C++ ist unglaublich komplex. Ein Großteil der Komplexität ist vollkommen unnötig.
Die Welt ist unnötig komplex, Ingenieure und Rechtsanwälte leben sehr gut davon.
DasIch hat geschrieben:
Dienstag 23. Juli 2019, 11:02
Es ist im Vergleich zu C viel schwieriger C++ mit anderen Sprachen zu kombinieren.
Ich finde Swig ist sehr einfach. Sogar extrem einfach im Vergleich zu MATLAB & MEX.
DasIch hat geschrieben:
Dienstag 23. Juli 2019, 11:02
Es hat darüberhinaus keinerlei Vorteile gegenüber anderen Sprachen es sei dann man braucht tatsächlich die Performance.
Es gibt noch einen weiteren Vorteil: die Bezahlung.
a fool with a tool is still a fool, www.magben.de, YouTube
__deets__
User
Beiträge: 6178
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dienstag 23. Juli 2019, 11:42

MagBen hat geschrieben:
Dienstag 23. Juli 2019, 11:29
Es gibt noch einen weiteren Vorteil: die Bezahlung.
Komisch, stackoverflow kennt da keine Unterschiede

https://stackoverflow.com/jobs/salary/r ... %5D=python
https://stackoverflow.com/jobs/salary/r ... 5D=c%2b%2b

Sondern das Gehalt haengt von dem Aufgabenfeld und er Erfahrung ab. Aber hey, das sind nur Daten! Meinungen sind so viel bequemer.
Benutzeravatar
__blackjack__
User
Beiträge: 4004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Dienstag 23. Juli 2019, 11:52

Hey, Meinungen und Gefühle sind auch Fakten. Alternative Fakten. 😉
“Programmieren ist ein Hobby, bei dem es einen riesigen Baumarkt mit quasi jedem Bauteil und Werkzeug und fast immer kostenlos gibt. Ob man deswegen in der Lage ist einen Kölner Dom zu bauen ist eine andere Frage. Arbeit steckt auf jeden Fall drin ;).” — Greebo, forum.ubuntuusers.de
Sirius3
User
Beiträge: 10343
Registriert: Sonntag 21. Oktober 2012, 17:20

Dienstag 23. Juli 2019, 12:13

@__deets__: ich wollte gerade schon schreiben, dass die Zahlen unabhängig von der Programmiersprache sind, dann habe ich PHP ausprobiert...
DasIch
User
Beiträge: 2512
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Dienstag 23. Juli 2019, 13:08

__deets__ hat geschrieben:
Dienstag 23. Juli 2019, 11:17
Und ich wuerde MagBen ja sogar zustimmen, dass Python's starke Verbreitung gerade im wissenschaftlich/data-scientist-Bereich dazu gefuehrt hat, das man eine Menge Leute hat, die nur noch pandas + matplotlib-Fragmente aufeinander hauen, bis was dabei rum kommt.
Das ist doch auch ok. Der Analyst oder Data Scientist wird ja auch nicht als Software Entwickler oder für seine Fähigkeiten im Bereich Software Entwicklung eingestellt, sondern für seine Fähigkeiten im Bereich Mathematik und Statistik.
__deets__
User
Beiträge: 6178
Registriert: Mittwoch 14. Oktober 2015, 14:29

Dienstag 23. Juli 2019, 13:21

Jein. Grundsaetzlich ist es natuerlich richtig, das die Qualifikation nicht primaer gutes Softwareengineering ist. Nur hat man doch auch oft genug den Fall, dass die geschriebene Software eben aufgrund von mangelndem Verstaendnis etc zu Fehlern fuehrt. Sei es fuer Publikationen, sei es fuer zB Geschaefts- und Sicherheitsrelevante Dokumentation von Pruefverfahren, Chargen und so weiter. Da wird es dann schon etwas relevanter. Ich habe eine Freundin, deren Aufgabe es mal war, den Zoo von Excel-Sheets in ihrem grossen Pharmakonzern irgendwie einzuhegen, damit der Regulierer nicht mit dem grossen Hammer kommt. Da prallten Welten aufeinander.

Es *sollte* also zumindest eine Rolle spielen, oder man sollte den data-scientist mit einer Entwicklerin zusammen packen, damit dann das Ergebnis aus allen Perspektiven rund ist. Allerdings daempft das nicht die Gehaltserwartungen, das stimmt natuerlich.
Amerika_befreie_uns
User
Beiträge: 31
Registriert: Sonntag 15. November 2015, 08:28

Dienstag 23. Juli 2019, 14:27

FrankKazka hat geschrieben:
Freitag 12. Juli 2019, 23:44
Hallo,

ich habe meine Informatik-Abschlussarbeit (Bachelor) vor 2 Jahren zum Thema Textklassifizierung geschrieben und mich ein bisschen in Python verguckt. Ich habe Erfahrung mit C++, Java, Objective-C, PHP, JavaScript, Webkram allgemein und ein bisschen Ruby - neben Ruby hat mir Python bisher klar am besten gefallen.

Mein derzeitiger Job war mal als "Data Scientist" gedacht, der Fokus hat sich dann aber recht bald von Python & ML zu PHP-Webentwicklung verschoben.. ML interessiert mich auf jeden Fall, ist für mich aber kein Muss - insbesondere weil ich den Eindruck habe, dass ML-Jobangebote sich fast immer an "Senior Data Scientists" richten, was ich aus fachlicher Sicht sehr klar (noch) nicht bin. Ich bin aber ein fähiger Softwareentwickler (bin 31) - und ich sage absichtlich Entwickler, weil ich darunter mehr als nur Programmieren verstehe.


Wenn man gerne mit Python in einem professionellen Umfeld arbeiten möchte, mit oder ohne ML, welche Jobs, Bereiche oder Branchen kommen da am ehesten in Frage? Gibt es neben ML einen Markt für Python?

Vielen Dank :)
Wenn Du oder jemand Anderes als Python-Entwickler arbeiten möchte, einfach eine PM an mich mit deinen Kontaktdaten(Vorzugsweise Telegram oder Skype), bei uns wird nicht lange gefackelt sondern gleich losgelegt, Bezahlung geschieht am gleichen Tag .

Glaub mir, Du kommst keinen Schritt weiter, wenn Du dich nur umhörst.
FrankKazka
User
Beiträge: 3
Registriert: Freitag 12. Juli 2019, 23:38
Wohnort: Frankfurt

Mittwoch 24. Juli 2019, 22:34

Danke für die vielen Beiträge! Ist sehr interessant zu lesen und freut mich dass so eine Diskussion entstanden ist :)
__deets__ hat geschrieben:
Dienstag 23. Juli 2019, 11:17
Ich denke das "Python-Paradoxon" wie es mal von Paul Graham (glaube ich) beschrieben wurde gibt's nicht mehr. Das besagt, dass Python-Programmierer bessere Programmierer sind, weil sie sich fuer eine eher abseitige Sprache interessieren, und daher waere das ein Indikator fuer tatsaechliches Interesse am Programmieren. Dazu ist Python inzwischen zu populaer.
Tatsächlich ist das schon einer der wesentlichen Punkte warum ich es interessant fand nach Stellen mit Python zu suchen. Aber stimmt natürlich, dass Python mittlerweile wegen Popularität sehr viel weniger Aussagekraft in diese Richtung hat.

Letzlich möchte ich persönlich auch nicht zwangsweise eine Pythonstelle, aber ich will in einem Unternehmen arbeiten das sich eben bewusst für bestimmte Technologien, Sprachen, Frameworks etc. entschieden hat - und PHP ist in der Regel ja schon das genaue Gegenteil. Wo wird schon PHP aus Überzeugung eingesetzt und nicht weil es die Webprogrammiersprache ist für die man die meisten günstigen Entwickler findet die einem mal schnell irgendwas hinklatschen.. Leider trifft dieses Klischee bei meinem aktuellen Arbeitgeber zu 100% zu.

Wie erkennt man denn von außen Unternehmen bei denen fähige Entwickler arbeiten von denen man lernen kann, wo TDD oder zumindest Unit/Integrationtests mehr sind als etwas "was man mal gehört hat" und wo vielleicht als Kirsche oben drauf auch aus Überzeugung Wert auf ein gewisses Maß an Code-Qualität gelegt wird und nicht nur weil sonst alles dauernd explodieren würde? Ich bin mir sehr sicher dass ich in so einem Umfeld mich mit so ziemlich jeder Sprache zufrieden geben könnte, auch wenn basierend auf meinem Wissensstand Python, C++ oder Java bestimmt am besten für mich persönlich geeignet wären.

Wie geht ihr bei so einer Suche vor?
Benutzeravatar
__blackjack__
User
Beiträge: 4004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Mittwoch 24. Juli 2019, 23:00

@FrankKazka: Man kann PHP schon aus Überzeugung einsetzen. Ein grosser Pool von Leuten die das können, und damit nicht nur Geld verlangen weil sie eine ”exotischere” Sprache drauf haben, kann ja durchaus ein legitimer Grund sein. PHP gibt es schon ewig und das wird mit Sicherheit morgen auch noch da sein. Ich glaube beim Umbruch von Python 2 nach Python 3 gab es doch ein paar Leute die das potentielle Bruchstelle für Python gesehen haben, an der auch etwas an der Basis hätte bröckeln können. Was ich von der Sprachentwicklung bei PHP so am Rande mitbekomme scheinen die zumindest in eine bessere Richtung zu gehen (Namensräume, weniger eigenartige Einschränkungen bei OOP, Abschaffen des MySQL-Funktions-Zoos zugunsten von PDO, …). Ich mag PHP nicht wirklich und es gibt viel Schrott in PHP und schlechte Entwickler, aber das muss halt nicht so sein.

Von aussen ein gutes Unternehmen zu erkennen könnte schwierig sein. Man sollte bei Vorstellungsgesprächen immer daran denken, dass man sich dabei nicht nur bei einem potentiellen Arbeitgeber vorstellt, sondern der stellt sich dabei auch dem Bewerber vor. Man kann also durchaus auch Fragen stellen und eventuell auch mal mit Kollegen in Spe reden. Und sich im Internet auf Bewertungsplattformen umschauen.
“Programmieren ist ein Hobby, bei dem es einen riesigen Baumarkt mit quasi jedem Bauteil und Werkzeug und fast immer kostenlos gibt. Ob man deswegen in der Lage ist einen Kölner Dom zu bauen ist eine andere Frage. Arbeit steckt auf jeden Fall drin ;).” — Greebo, forum.ubuntuusers.de
Antworten