Job als Webentwickler, welche Voraussetzungen

S.Kara schrieb:
Du bewirbst dich als Webentwickler und hast keine Ahnung was du machen sollst wenn du eine Webseite entwickeln willst? Wenn du einen Job bekommen hast fragst du dann hier auch immer nach wie du vorgehen sollst?
Vielleicht ist so ein Job für dich einfach nichts.

Hört sich jetzt vielleicht hart an aber versetz dich mal in den Arbeitgeber. Der will Resultate und keine Fragen.

Kuckt mal Kara, ich will jetzt hier keine Zeit und Nerven fuer solche unnoetigen Diskussionen vergeuden. Das macht auch uebrigens kein Spass mit solchen Leuten zu diskuteren die staendig meckern und nur Vorurteile haben. Ich will mich hier viel lieber mit Gebildeten Leuten unterhalten und was dazu lernen.

Ich sagte ja auch bereits das ich die neuen Techniken nicht benutzt habe bisher, aber gerne was neues lernen kann wenn es Sinn macht.

Ich glaube Node.js zum Beispiel sollte man auf jedenfall einsetzen fuer so eine Singleboerse, weil gerade fuer solche Sachen wo viele Leute gleichzeittig aktiv sind auf einer Webseite Node.js Vorteile bringt, zumindest sagen das die Infos die ich ueber Node.js bisher gesehen habe. Ich hoere mir aber gerne von mehr Experten mit Erfahrung an was die noch dazu sagen bevor ich mich dann auf eine Sache konzentriere.

Ich weis beispielweise auch noch nicht so wirklich wo die Vorteile sind von Angular, React usw. natuerlich kann ich da innerhalb von 1-2 Stunden auch bisjen mehr heraus finden mit bisjen Googeln, aber trotzdem frage ich lieber bei Experten auch nach was die dazu sagen, wie heist es den so schoen, es gibt keine Dumme Fragen nur dumme Antworten.
 
Und wer sind die Experten? Bei Leuten in irgendwelchen Foren wäre ich da vorsichtig, auch hier auf CB. Klar gibt es welche die Ahnung haben aber noch viel mehr die meinen welche zu haben und dir irgendetwas erzählen.

Ich bin auch auf genau der anderen Seite von dir: Ich bekomme Bewerbungen vorgelegt, gebe das OK (oder auch nicht) für eine Einladung, zur Probearbeit oder Einstellung. Zumindest wenn es in meinen Bereich fällt.
Das Schlimmste sind Leute die keine Ahung von dem haben worauf sie sich beworben haben. In einer Bewerbung kann viel stehen und in einem kleinen Gespräch kann man auch nicht alles abfragen. Auf Platz zwei kommt unselbständiges Arbeiten (laufendes Nachfragen, man muss alles vorsetzen).
Ich habe kein Problem etwas Zeit aufzuwenden um jemanden in das Unternehmen einzubringen/einzulernen, aber es muss schon eine gewisse Basis da sein. Ansonsten war es am Ende für Nichts.

Du willst nun eine Singlebörse bauen ok. Wie viel Zeit hast du denn dafür eingeplant? Das kann Monate dauern oder wenn man es drauf anlegt auch nur einen Tag. Letzteres willst du aber wohl kaum für eine Referenz.
NodeJS ist nicht unbedingt nötig. Du beherrscht ja anscheinend MySQL, Ajax/jQ/JS und PHP, zumindest lese ich das aus deinem Bild von Beitrag #14. Das ist für dein Vorhaben doch eine solide Basis, dabei würde ich zunächst einmal bleiben und die Basis bauen. Wenn du etwas neues lernen willst könntest du z.B. auch einen RESTful WebService in Java bauen über den das dann läuft. Socket in JS->NodeJS->REST->DB wäre eine Möglichkeit. Das würde ich zwar nicht empfehlen aber es gibt halt nicht nur einen Weg.

Wenn die Basis steht kommt der Rest idR. fast wie von selbst. Wenn du so weit bist würde ich anfangen in Foren nach Meinungen/Verbesserungsvorschlägen zu fragen.

Nur mal so: Warum eine Singlebörse? Nur als Referenz? Gibt es da nichts besseres wo man sich nicht erst anmelden muss und von Frauen mit üppigen Ausschnitten begrüßt wird? Vielleicht etwas was auch nützlich wäre und nicht schon millionenfach existiert?
Ich will dich nicht davon abhalten, aber beim Vorstellungsgespräch würde ich das Fragen. Was da als Antwort kommt ist mir fast egal. Ein überzeugendes "Ich hatte Bock drauf" reicht mir im Grunde schon, wichtig ist nur dass eine Antwort kommt und nicht "ja keine Ahnung".
 
  • Gefällt mir
Reaktionen: KitKat::new()
S.Kara schrieb:
---Vollzitat entfernt---
bitte Zitierregeln beachten.

Singleboersen gibt ess viele aber gute kenne ich nur einige, meine soll auch eine gute werde, vielleicht laeuft die Singleboerse dann sogar so gut das ich kein anderen Job suchen muss, ich will damit auch Geld verdiehnen und baue die nicht nur zum Spass oder als Referenz, aber man koennte es auch als Referenz benutzen.

Warum empfiehlst du kein Node.js ein zu setzen, diese Node.js Techniken werden doch gerade fuer solche Sachen empfohlen wo mehrere Leute gleichzeittig was auf dem Server machen.

Ajax, Jquery, PHP, Mysql usw. sind fuer mich kein Problem, das kann und verstehe ich schon lange, ich versuche im Moment nur bisjen Durchblick zu bekommen ueber diese anderen neuen Techniken, ich will wissen ob es Sinn macht die ein zusetzen, fuer was und wann usw.

Wenn ich jetzt beispielweise genau wueste das dies und jenes eine Sekunde oder noch mehr Zeit spart und die Webseite schneller macht, ist es doch schon ein guter Grund das ein zu setzen und wenn genau das Gegenteil bei raus kommt dann besser nicht benutzen.
 
Zuletzt bearbeitet von einem Moderator:
Node ist keine magische Antwort auf alles, der große Vorteil ist das man mit der selben Frontendsprache ein Backend entwickeln kann ohne eine komplette neue Sprache zu lernen.
Node ist auch nicht die schnellste oder beste Backendsprache, wenn du von „vielen“ gleichzeitig aktiven Usern sprichst kann ich dir genauso sagen „Lern Go oder Rust weil die schneller sind“.
Ist genau die selbe Debatte wie SQL vs NoSQL Datenbanken, MPA vs SPA, JS vs TS oder REST vs GraphQL: die haben alle ihre Vor und Nachteile aber erfüllen im Kern den gleichen Zweck.
Selbst einlesen und erfahren was für dich am sinnvollsten ist, oder kleine Hobby-Projekte mit Stacks schreiben die du einfach mal ausprobieren willst.

Wenn du dich bei einer Firma bewirbst deren Backend in Laravel ist dann werden die Node nur als „netten Bonus“ sehen, aber genauso werden die lieber einen Entwickler einstellen der Laravel in seinem Skillset aufgelistet hat statt generischem PHP.
Das gleiche gilt für andere Stacks wie JS Frameworks, CSS Frameworks oder Template Engines. Wieso sollte man jemanden einstellen der darin keine Erfahrung hat wenn es genug bewerber gibt die damit schon umgehen können?

Ich sehe das Problem eben da, ich würde keinen Einstellen der HTML, PHP und JS in seinem Skillset stehen hat wenn ich andere Bewerber habe die Erfahrung in den Tools haben die benutzt werden.
Und wenn du absolut keine Erfahrung mit den Tools hast die immer wieder in den Jobangeboten gelistet werden: guck dir das Tool an und lerne es und liste es bei der nächsten Bewerbung mit auf die danach sucht.

Fang nicht an Node & SPAs zu lernen einfach weil es die „moderne“ Art ist oder weil es im Internet gesagt wurde, die kommen alle mit ihren eigenen Baustellen und die initiale Lernkurve vom Node-Ecosystem (grade im Frontend wo SPA Toolchains komplex sind) nicht ohne ist.

Genauso die Vorurteile zurückschraube, SPAs wie React, Angular, Vue und Svelte haben ihre eigenen Probleme aber genauso halten die sich seit Jahren am Markt und sterben nicht aus (im Gegenteil werden immer mehr adoptiert), eben weil die auch ihre Vorteile haben. SPAs machen in deinen Webseiten vielleicht keinen Sinn, aber es gibt genug Firmen die Leute mit solchen Skills suchen. Es ist nie verkehrt sich neue Tools anzugucken und auszuprobieren, auch wenn du die am Ende nicht tagtäglich benutzen wirst.
Wenn du nicht weißt was alles dahinter steckt, informieren und eine simple App bauen. Auch hier im Forum wurde schon genug über die Basics von SPAs diskutiert. Die Dokumentation für React & Co sind ausgiebig, wobei Vue weniger abstrakt ist/war (die v2 Docs sind zum reinschnuppern nicht verkehrt).
 
  • Gefällt mir
Reaktionen: S.Kara
PHP usw. habe ich vorgeschlagen eben weil du damit schon Erfahrungen hast. Als Referenz sieht man eh erst einmal nur das Frontend, daher wäre es egal. NodeJS kann bei vielen Zugriffen schneller sein, bis du davon bei einer Singlebörse etwas merkst brauchst du aber schon hunderte/tausende gleichzeitig aktive Nutzer.

Wenn du dir nun aber als Ziel setzt etwas "brauchbares" zu erschaffen womit du Geld verdienen kannst, kann man die Sache natürlich auch anders angehen. Natürlich kannst du hier auf NodeJS setzen, spricht für mich absolut nichts dagegen. Wenn du eine gewissen Größe erreicht hast wirst du vielleicht froh darüber sein.

Allerdings wirst du damit nicht um einen anderen Job herumkommen. Die Einnahmen werden deine Kosten nicht von Heute auf Morgen decken können, geschweige denn deine Miete. Da wirst du viel Zeit reinstecken müssen. Woher kommen die User? User kommen nur wenn es User gibt. Da braucht es einen schnellen Server und gute Werbung. Als 1-Mann-Projekt hast du da gut was zu tun. LoveScout24 hat anscheinend 150 Mitarbeiter. Daran muss du dich nicht messer aber es zeigt dass das schon nicht ohne ist. Wer kümmert sich um alle Anfragen/Beschwerden die per Kontaktformular oder E-Mail kommen? Bei tausenden Usern gibt es da wohl mehr als genug.

Kurz gesagt: Auf die Schnelle wirst du dich damit nicht finanzieren können. Entweder baust du es als Referenz für deine Bewerbungen oder als Projekt für die Zukunft. Beides ist nicht machbar und bei letzterem wirst du wieder nichts für deine Bewerbungen haben.
 
Schaut euch mal an wie schoen und einfach es in diesem Video erklaert wird:

Er erklaert ganz genau wann und wieso Node.js nuetzlich ist, zum Beispiel damit der Server weniger blockiert bei vielen Anfragen.
 
Der Typ im Video hat das ganz sauber erklärt, aber du hast ihn falsch verstanden.
Node ist non-IO blocking durch Callbacks und event-basierend wo einzelne Aufgaben in einen Stack gelegt werden der dann abgearbeitet wird, das heißt wenn du z.B. eine Datei vom Server lesen willst wird nicht wie in PHP das gesamte Script pausiert bis dir das OS die Datei liefert sondern an den anderen Aufgaben weiterarbeitet bis sich irgendwann das OS meldet.

Aber das heißt nicht das DEIN Projekt weniger blockiert, Netflix ist eines der besten Node-Beispiele weil dort der Großteil (Streaming) von Node profitiert und oben drauf Frontend und Backend unter einer Sprache weilen . Netflix hat einen offiziellen Dev Blog wo die immer wieder mal Post Mortems von Problemen machen und sind oft als Sprecher bei Konferenzen, kann man einiges von lernen.
Wenn deine Seite kaum von non-IO blocken profitiert gibt es genug andere Backend Sprachen die performanter wären, Go z.B. (grade mit Goroutines). Uber hat Teile (abrufen der Geo Daten iirc) seines Backend vor ein paar Jahren von Node auf Go umgezogen weil die Anzahl an Requests mit Go wesentlich besser gehandhabt werden konnten.

Nochmal: alles hat seine Vor und Nachteile, ich könnte hier hundert andere Firmen auflisten die genau in die andere Richtung migriert sind, von Ruby, Python & Co zu Node weil es einfacher ist eine Sprache im Backend und Frontend zu haben wo man sogar eigene Module wiederverwenden kann. Genaus gibt es genug Firmen die C#, Rust oder Java im Backend benutzen, es ist nicht immer nur Performance sondern auch welche Sprachen man bereits kann.
Das ist kein „Node ist scheiße“ und kein „Node ist die Antwort auf alles“, jedes Tool da draußen hat seine Stärken und Schwächen über die man sich einlesen muss.

Wenn du deine Dating-Website unbedingt bauen willst kannst du das genauso in PHP machen, Facebook hat jahrelang mit Hack (was PHP ist) im Backend bearbeitet und es hat funktioniert.
Wenn es darum geht ein schnell ein Produkt zu programmieren bist du eh besser damit beraten etwas zu benutzen was du schon kennst. Wenn die ersten Probleme auftreten weißt du wie man die beheben kann und musst nicht erst noch eine Woche mit der Sprache kämpfen.
Und oben drauf gilt immernoch: premature optimization is the root of all evil

Ab du es dir als 1 Mann/Frau Team zutrauen solltest eine Datingwebsite zu bauen, musst du wissen. S.Kara hat dazu ja schon genug geschrieben. Aber das ist am Ende hier auch alles Offtopic.
 
  • Gefällt mir
Reaktionen: Madman1209
Also erst nochmal Danke an jeden der sich etwas Zeit nimmt und Erfahrung mit mir teilt. Ich mache das ja nicht beruflich, deswegen benutze ich auch seit Jahren immer die gleichen Techniken, welche ich versuche von Zeit zu Zeit etwas zu verbessern. Ich wueste jetzt auch nicht wie ich ueberhaupt heraus bekommen kann, ab wann meine Webseite Performance Probleme bekommt oder hat, ob man da spezielle Software einsetzen muss damit man das heraus bekommt oder ob man das an irgendwelchen Zahlen sieht. Ich will nur versuchen von Anfang an die beste Loesung ein zu setzen, dann sparrt man sich im Nachhinein etwas Zeit, wenn man von Anfang an alles so gut wie moeglich baut.

Fuer mich hat sich das bisher mit dem Thema Node.js so angehoert als ob es ein riesen Vorteil bietet, wenn zum Beispiel nur zwei Leute gleichzeittig eine Bilddatei auf meiner Webseite anschauen wollen, dann sagt mir mein Verstand das es dann so ablaeuft wer zuerst drauf klickt bekommt es zuerst zu sehen, vom Server ausgeliefert und der andere muss laenger warten. Und wenn man aber Node.js im Hintergrund benutzt dann bekommt vielleicht jeder die gleiche Wartezeit, also keiner muss laenger warten und ohne Node.js muss der letzte in der Reihe etwas laenger warten, so aehnlich ist meine Vorstellung im Moment zum Thema Node.js deswwegen bin ich davon ausgegangen das Node.js ein reisen Vorteil sein koennte, weil dann fuer jeden die Webanwendung schneller arbeitet, wahrscheinlich liege ich das falsch oder?

Ich werde natuerlich auch lange brauchen bis viele Leute meine Webseite benutzen und wenn ueberhaupt irgendwann mal 100 oder 1000 Leute gleichzeittig die Webseite benutzen ware das schon ein Erfolg, aber der Einsatz von Node.js scheint mir nicht unbedingt kompliziert zu sein, ich kenne mich ja mit Javascript schon aus und habe auch schon einige Sachen mit Node.js probiert, zum Beispiel zu Websockets verbinden und die Rueckgabe vom Websocket in eine Mysql Datenbank speichern, oder einfache HTTP Request zu APIs und so Sachen, das war eigentlich recht einfach, man muss ja nur fertige Bibliotheken und Funktionen dafuer downloaden und kann es bereist benutzen und die Syntax ist auch nicht so unterschiedlich fuer die meisten Sachen, ich stelle mir das gerade so vor, das ich beim bauen der Webseite mir dann einfach eine Funktion erstellen kann welche ich dann immer wieder einsetzen kann um Daten mit Node.js aus der Datenbank zu lesen oder Bilder usw. das waere ja nicht so ein reisen Aufwand eine Funktion zu erstellen die man immer wieder benutzt.

Mit Javascript und PHP kann man auch asynchrone Abfragen bauen, aber Node.js scheint meiner aktuellen Vorstellung nach jede Anfrage gleichzeitig ab zu arbeiten und normales Browser Javascript und PHP Server scheinen alles der Reihe nach zu machen, also wer zuerst kommt mal zuerst Prinzip, vielleicht habe ich dort irgendetwas falsch verstanden und interissiere mich deswegen fuer Node.js, vielleicht bietet hier Node.js gar kein schnelleren Ablauf fuer die User, vielleicht kann man das einfach oder nur durch staerkere Webserver ausgleichen?

Sorry das ich hier nicht ein Fachman bin und trotzdem neugierig nachfrage, ich kann verstehen das Leute die das beruflich machen sich viele Fragen stellen warum ich das dann ueberhaupt machen will, es geht mir halt erst dadrum zu lernen was besser eingesetzt wird, man muss nicht alles wissen man muss nur wissen wo man nachschaut oder so aehnlich sagt man doch.
 
Javascript im Browser ist genauso asyncron wie im Backend, in jQuery hast du ja auch schon mit Ajax Success/Error-Callbacks gearbeitet. Das ist genau die gleiche Queue wo Aufgaben reingelegt und abgearbeitet werden.
Nicht alles in Javascript ist asyncron, wenn ich im Frontend Pi berechne sperre ich mir den Mainthread weil die CPU arbeiten muss. Das sieht man im Frontend extrem da währenddessen Zeit die UI nicht mehr antwortet weil UI Thread = Mainthread.
Genau sowas kannst du im Backend verzapfen wo der Node Thread nicht weiter arbeitet, muss jetzt nicht die CPU sein aber mit schlechtem Code oder den syncronen Methoden (readFileSync zum asyncronen readFile) kannst du Node genauso blockieren.

Aber das hat alles nichts mit Dateien zu tun die User anfragen, es gibt nur wenige Fälle wo du statische Dateien nicht per Webserver ausliefern willst/kannst. Sowas wie Nginx und Apache haben wesentlich weniger Overhead wenn du nur Dateien an den Browser schickst und arbeiten nicht in "User 1 lädt Bild, User 2 wird bedient wenn User 1 fertig ist" (Stichwort in Nginx sind worker/worker_connections).

PHP kann genauso wie Node mehrere aktive Connections halten, bei Node theoretisch nur in einem einzigem Thread (ist komplizierter weil manche Teile parallelisiert werden) aber da kann man drum herum arbeiten indem man z.B. mehrere Instanzen startet und mit Nginx die Anfragen an die Instanzen aufteilt.
PHP & Concurrency ist genauso komplex (kommt drauf an wie du PHP benutzt FastCGI/CGI, je nachdem werden Prozesse wiederverwertet), aber da wird dir Google besser helfen als mein Halbwissen.

Wenn du Node lernen willst, dann mach das. Node ist genauso wie PHP, Python, Ruby, C#, Java, Go, Rust & Co eine Sprache die ihre Stärken, Schwächen und Eigenheiten hat, und die lernst du nur kennst wenn du dich informierst und darin programmierst.
Was am Ende wirkliche Performance kosten wird ist schlechter Code, und schlechten Code kann man in jeder Sprache schreiben bevor die eigentliche Sprache ein Problem wird.
Falls du in 5 Jahren feststellen musst das dein Backend Probleme mit 100k aktiven Nutzern Skalierungsprobleme hat kannst du dich immernoch umgucken was es an Alternativen gibt. Es gibt immer Wege wie du die Performance erhöhen kannst ohne sofort das ganze Backend auf eine neue Sprache umzuziehen, ob du jetzt Redis zum Caching benutzt oder teure Abfragen in einen eigenen Microservice in Go verschiebst der eine Aufgabe besonders gut kann.
Da sind dann z.B. SPAs von Vorteil weil dein Backend nur Daten (Rest/GraphQL) ausspuckt, so kann man einfach Module umziehen ohne das man das Frontend anpacken muss.
 
Zitat: Nicht alles in Javascript ist asyncron, wenn ich im Frontend Pi berechne sperre ich mir den Mainthread weil die CPU arbeiten muss.
Wie kann man heraus finden welcher Javascript Code den Mainthread sperrt und das dann verhindern, gibt es da vielleicht spezielle Javascript Tools die einem das zeigen durch einen Codecheck?
Wenn man ohne node.js einfach nur normales browser javascript benutzt aber dafuer alles asynchron macht, hat man dann das gleiche Ergebniss wie wenn man Node.js einsetzt?

Nginx habe ich heute auch einige Infos angeschaut, soweit ich das verstanden habe liefert ein Nginx Server viel schneller Dateien aus und ein Apache Serer kann besser mit PHP Anfragen arbeiten und es soll auch moeglich sein das ganze so zu konfiguieren das jeweils beide eingesetzt werden fuer die optimalsten Aufgaben, sowas koennte doch dann bestimmt schon ein Vorteil von einigen Sekunden bringen fuer eine schneller Webseite oder, wenn man beides optimal einsetzt, Nginx fuer Dateiausliefern und Apache fuer PHP Anfragen?

Zitat: Falls du in 5 Jahren feststellen musst das dein Backend Probleme mit 100k aktiven Nutzern Skalierungsprobleme hat kannst du dich immernoch umgucken was es an Alternativen gibt.
Stimmt natuerlich, ich will da jetzt auch nicht so uebertreiben, wenn ich ueberhaupt an sowas wie 1000 User dran komme kann ich nochmal kucken ob man was optimieren kann.
 
Zurück
Oben