Wie viel Web-Skills braucht man als Python Backend Dev.

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Napelazam
User
Beiträge: 10
Registriert: Montag 29. Dezember 2014, 19:17

Wäre ja blöd wenn ich mich in 1 Monat bewerbe und ich merke, dass ich keine Aufgabe im Vorstellungsgespräch schaffe.
Nehmen wir an ich kann HTML und CSS. Bei CSS habe ich aber große Probleme mit allem außer Dinge wie font-size, weight, background. Also Probleme mit float, clear, margin, border, padding.
Und Basics in Python/Django. Könnte ich so problemlos für wen arbeiten? Oder muss derjenige eine Website so schreiben, dass Sie so aussieht wie vom Designer geplant? Django wäre in dem Fall ja eine Alternative zu Jquery. Und bei Anzeigen mit Jquery sollte man in HTML, CSS, JS, Jquery ja sehr gut sein. Also wohl auch beim Fall mit HTML, CSS, PYTHON/DJANGO?
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Zu CSS:
Es macht ein riesen Unterschied ob Du CSS lediglich benutzt oder es wirklich selbst entwickelst. Das CSS für eine Website individuell zu entwickeln ist eine riesen Arbeit, die man sich nur macht, wenn's unbedingt notwendig ist. Üblicherweise hat man seine CSS Standardbibliotheken schon von irgendwo her und muss nur kleine Anpassungen machen. Was deshalb primär wichtig ist, dass Du die Trennung zwischen HTML und CSS drauf hast, dass Du weißt, was in HTML gemacht wird und was in CSS. Wenn Du Dich nur ein bisschen in CSS auskennst und deshalb anfängst in HTML Deine Layouts mit Table anstatt Div zu machen, dann kommt furchtbarer Code raus, wenn es aber dazu führt, dass Du eine vorhandene CSS Bibliothek wiederverwertest, dann ist das OK. Ich wurde in meinen Vorstellungsgesprächen noch nie Syntax abgefragt, sondern es ging eher darum was mit einer Technologie gemacht wird und ob man praktische Erfahrung damit hat.
a fool with a tool is still a fool, www.magben.de, YouTube
BlackJack

@Napelazam: In wiefern ist Django eine Alternative für jQuery, das sind doch voneinander unabhängige Bibliotheken die man jeweils getrennt, aber auch zusammen nutzen kann?

Als Backend-Entwickler braucht man keine Ahnung zu haben wie man eine Webseite vom aussehen her mit CSS schön gestaltet und/oder so wie der Grafikdesigner sich das ausgedacht hat und oftmals in Photoshop einen Prototypen zusammenpinselt. Allerdings muss man schon in der Lage sein in HTML-Templates vom Frontend-Designer entsprechend die Werte einzufügen, also in einen gegebenen Rahmen HTML und vorgegebene CSS-Klassen einzufügen. Und zunehmend auch JavaScript zu programmieren und damit dann Bibliotheken wie jQuery zu verwenden. Es passiert ja heute immer mehr auch dynamisch im Browser so das die Trennung Front-/Backend ein wenig aufgeweicht ist. Der Backendprogrammierer ist dabei normalerweise auch für Programmlogik zuständig die zum Client ausgelagert wurde, also nicht nur kosmetischer Anzeigekram sondern Teile der Webanwendung.

Und grundlegend würde ich von einem Backendentwickler auch erwarten das er einfache Frontends, zum Beispiel für Intranetanwendungen, selber hinbekommt. Das ist ja nicht mehr so wirklich aufwändig wenn man zum Beispiel ein Rahmenwerk wie Bootstrap als Grundlage hernimmt.
Napelazam
User
Beiträge: 10
Registriert: Montag 29. Dezember 2014, 19:17

Sind Django und JQ nicht Frameworks?
BlackJack

@Napelazam: Ja, aber vielleicht solltest Du Dir erst einmal anschauen wofür jeweils. Idealerweise bevor Du Dich auf solche Jobangebote meldest. ;-)

Edit: Wobei ich jQuery auch nicht als Rahmenwerk bezeichnen würde.
Napelazam
User
Beiträge: 10
Registriert: Montag 29. Dezember 2014, 19:17

Erstmal fange ich wohl bei Frontend an. Ist einfacher als Backend oder? Vor allem für Junior-Junior-Profis? :D
BlackJack

@Napelazam: Ich denke es kommt darauf an ob einem so etwas liegt ob das einfacher ist. Frontend bedeutet ja erst einmal das man wahrscheinlich mit Gestaltung von neuen Themes für so etwas wie Wordpress anfängt. Und man muss sich in ”usability” einarbeiten, und mindestens ansatzweise in Grafikdesign, Farblehre, Typography und was so dazu gehört. Das ist etwas deutlich anderes als das Backend, also Programmieren und Datenbanken in der Regel.
Napelazam
User
Beiträge: 10
Registriert: Montag 29. Dezember 2014, 19:17

Ja, stimmt. :/
Sollte ich dann bei te.am treeh.ouse das Kapitel über Front End Web Development überspringen? In dem Kapitel sind ja auch basics zu programmieren, js, jquery, ajax drin. Das ist doch kein Frontend?

Mein Ziel ist ja Backend bzw. richtige Programmierung, am liebsten mit Python weil man da keine ; und { braucht :D Dachte Frontend könnte man auch ohne Talent für Typographie und Grafikdesign machen.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

Napelazam hat geschrieben:Sollte ich dann bei te.am treeh.ouse das Kapitel über Front End Web Development überspringen? In dem Kapitel sind ja auch basics zu programmieren, js, jquery, ajax drin. Das ist doch kein Frontend?
Du solltest Dir unbedingt klarmachen wo welcher Code läuft. JavaScript (js, jquery) wird (in der Regel) im Browser ausgeführt und ist deshalb Frontend. Es gibt allerdings auch serverseitige JavaScript Technologie (Google bietet sowas an), das wäre dann Backend. Bei Ajax werden durch Benutzeraktionen getriggert nur Teile der Webseite mit frischen Daten versorgt, d.h. bei Ajax gibt's neben HTML noch eine zweite Verbindung zwischen Frontend und Backend.
Napelazam hat geschrieben:am liebsten mit Python weil man da keine ; und { braucht
Programmiersprachen mit ; und { werden aber besser bezahlt.
a fool with a tool is still a fool, www.magben.de, YouTube
BlackJack

@MagBen: Auch wenn JavaScript im Browser läuft gehört das heute auch teilweise zur Backend-Programmierung dazu, eben dann wenn der Backend-Entwickler Teile der Programmlogik vom Server zum Browser verschiebt. Die klassische Frontend/Backend-Trennung ist ja Frontend ist die Benutzeroberfläche und Backend ist Programmlogik und Datenhaltung. Die ist aber noch aus Zeiten wo dem Browser zwar dynamisch generiertes, aber dann im Browser statisches HTML ausgeliefert wurde. Diese Grenze verschwimmt zusehens.
Napelazam
User
Beiträge: 10
Registriert: Montag 29. Dezember 2014, 19:17

; und { werden besser bezahlt - sprachen die das benutzen sind wohl auch um einiges komplexer als python, nicht wahr? vor allem für neulinge.
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

@Napelazam:
; } Sprachen sind halt richtige Programmiersprachen für Männer, Python ist eher für den Hausfrauengebrauch. :twisted:

Mal im Ernst - PHP besser bezahlt als Python? Wohl kaum ;)
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

jerch hat geschrieben:Mal im Ernst - PHP besser bezahlt als Python? Wohl kaum
Gemeint ist C++, C, Java oder C#. Mal abgesehn von Sonderfällen wie SAP, Cobol oder SPS, wirst Du ohne eine von diesen Vieren als Software-Entwickler nur schwerlich so viel bekommen wie ein Ingenieur.
a fool with a tool is still a fool, www.magben.de, YouTube
Sirius3
User
Beiträge: 18265
Registriert: Sonntag 21. Oktober 2012, 17:20

jerch hat geschrieben:Mal im Ernst - PHP besser bezahlt als Python?
Wer so Web-Zeug macht, ist ja auch eher Künstler, und, wie alle wissen, brauchen Künstler kein Geld.
Wer aber Software schreibt, die man auch in einer Bank einsetzen kann, ...
BlackJack

@Sirius3: Bank? Cobol hat diese Klammern!? :-D
Sirius3
User
Beiträge: 18265
Registriert: Sonntag 21. Oktober 2012, 17:20

@BlackJack: ich dachte, dieses These wäre mit PHP schon widerlegt worden. 8)
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Och nein, dabei habe ich doch so eine schöne Sprache entwickelt, welche nur mit Semikolons und geschweiften Klammern auskommt. Da kann ich mir das Vermögen wohl abschminken.

Code: Alles auswählen

import sys


MAPPING = {";": "0", "}": "1"}
REVERSE = dict((value, key) for (key, value) in MAPPING.iteritems())


def embrace(code):
    return translate("".join("{0:08b}".format(ord(c)) for c in code), REVERSE)


def translate(code, mapping):
    return "".join(map(mapping.get, code))


def run(code):
    if len(code) % 8 or not set(code).issubset(set(MAPPING.keys())):
        raise RuntimeError("Syntax Error in script.")

    code = translate(code, MAPPING)
    exec "".join(
        [chr(int(code[i*8:i*8+8], 2))
         for i in xrange(len(code)/8)]) in {"__name__": "__braces__"}


def main(argv):
    with open(argv[0], "rb") as fp:
        code = fp.read()

    run(code)

if __name__ == "__braces__":
    main(sys.argv[2:])


if __name__ == "__main__":
    main(sys.argv[1:])
Natürlich gibt es auch den passenden Interpreter. Scripte lassen sich "bequem" mittels

Code: Alles auswählen

python braces.py script.braces
starten. Oder natürlich mit dem übersetzten Interpreter.

Code: Alles auswählen

python braces.py braces.braces script.braces
Das Leben ist wie ein Tennisball.
Napelazam
User
Beiträge: 10
Registriert: Montag 29. Dezember 2014, 19:17

jerch hat geschrieben:@Napelazam:
; } Sprachen sind halt richtige Programmiersprachen für Männer, Python ist eher für den Hausfrauengebrauch. :twisted:

Mal im Ernst - PHP besser bezahlt als Python? Wohl kaum ;)
c und java sind für nerds. (homo sapiens)
python und ruby für homo novus.
würd ja gern c oder java lernen. aber bis ich da die grundlagen habe bin ich schon 1000 facher vater :D

seid ihr zufrieden mit eurem gehalt/umsatz/gewinn?
BlackJack

@Napelazam: Ich denke nicht das die Grundlagen bei C und Java schwieriger sind als bei Python oder Ruby. C hat keine Unterstützung für Objektorientierung, ist dafür näher an der Hardware, man lernt dort also Programmieren auf einer niedrigeren Abstraktionsstufe. Das ist einerseits einfacher, weil die Ausdrucksmittel einfacher sind, und andererseits schwerer weil man mit diesen einfachen Ausdrucksmitteln mehr schreiben muss um etwas Vergleichbares wie in den drei anderen Sprachen zu erreichen.

Deine Einteilung für wen die Sprachen jeweils sind, ist auch komisch. C ist für systemnahe Programmierung, Java häufig für grössere „Business”-Systeme. Python wird auf Servern für alles mögliche eingesetzt. Ruby aus meiner Sicht hauptsächlich für Webanwendungen, da kann ich mich aber auch täuschen.
Napelazam
User
Beiträge: 10
Registriert: Montag 29. Dezember 2014, 19:17

Ich meinte die C-Familie und andere OOP. ^^
Warum bist du so späta uf?
Antworten