|
|
|
|
Nur dietlibc, libowfat und viel inline assembly.
|
|
|
|
|
|
|
| Zitat von statixx
Nur dietlibc, libowfat und viel inline assembly.
| |
This is the way.
|
|
|
|
|
|
|
Bin seit März 2020 bei ner Softwarefirma als Senior Software Engineer angestellt - aber halt eigentlich nur Senior weil meine Gehaltsvorstellung so hoch war. Zuvor war ich Technical Product Owner. Hab also schon entwickelt, würde mich aber nicht als Senior Entwickler sehen. Ich habe 8 Jahre Berufserfahrung in der IT war Projektleiter, Product Owner, Trainer, DevOps-Mensch, habe aber nie zu 100% Software Entwickelt. Seit März 2020 mache ich das aber und merke, dass dies doch etwas ganz anderes ist.
So hier habe ich auch das Problem: Ich schaue mich gerade etwas nach neuen Jobs um - aber natürlich erwarten die nun einen Senior Software Engineer. Ich verstehe darunter schon mehr als 5-6 Jahre Erfahrung in der reinen Softwareentwicklung. Das Entwicklerhandwerk läuft quasi von selbst, man diskutiert mehr in Konzepten, Patterns und Lösungen und kämpft weniger, so wie ich, manchmal mit Basics.
Wie würdet ihr euch verkaufen?
|
|
|
|
|
|
|
|
|
|
|
Als Senior
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ich würde mich sogar als Senior Specialist Product Owner Scrum Master verkaufen.
|
|
|
|
|
|
|
Señor Developer. Komm mit sombrero.
|
|
|
|
|
|
|
Ich würde sagen, dass mir die Firma bereits gehört.
|
|
|
|
|
|
|
| Zitat von Armag3ddon
Ich würde sagen, dass mir die Firma bereits gehört.
| |
und du schon 3 firmen an google verkauft hast
|
|
|
|
|
|
|
Und jetzt machst Du Sabbatical und willst mal wieder im Rahmen eines guten, alten Anstellungsverhältnisses zu Dir selbst finden.
|
|
|
|
|
|
|
Disclaimer:
Wie sind Dienstleister in agiler Software-Entwicklung im Bereich Web, verkaufen agile Teams (Devs + SM + PO je nach Bedarf) an Kunden
--
Wir haben bei uns in der Firma vor 5-6 Jahren alle Titel wie Junior, Senior, Architect usw. abgeschafft, mit positiven Effekten.
Mittlerweile sind wir aber gewachsen (jetzt > 100 Personen) und man überlegt Titel wieder einzuführen um den Mitarbeitern eine Perspektive zu geben wo sie sich hin entwickeln können.
Wie wird das bei euch gehandhabt? Gibts Titel? Wann erreicht man die? Und was hat man davon?
|
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von Daddi89 am 11.09.2021 12:41]
|
|
|
|
|
|
Welcome to small agency, where everything is made up and the title don't matter
Mein Chef hat letztens im Gespräch mitm Kunden gesagt, dass ich ja Senior bin, weil er jetzt neue Visitenkarten drucken lässt. Mir hat er nix davon gesagt, ändert auch nix an meiner Arbeit oder Vergütung.
Wobei... auf die Vergütung sollte ich ihn wohl mal ansprechen. Kann ja nicht sein, dass ich "befördert" werde und nix bekomm
|
|
|
|
|
|
|
| Zitat von Daddi89
Disclaimer:
Wie sind Dienstleister in agiler Software-Entwicklung im Bereich Web, verkaufen agile Teams (Devs + SM + PO je nach Bedarf) an Kunden
--
Wir haben bei uns in der Firma vor 5-6 Jahren alle Titel wie Junior, Senior, Architect usw. abgeschafft, mit positiven Effekten.
Mittlerweile sind wir aber gewachsen (jetzt > 100 Personen) und man überlegt Titel wieder einzuführen um den Mitarbeitern eine Perspektive zu geben wo sie sich hin entwickeln können.
Wie wird das bei euch gehandhabt? Gibts Titel? Wann erreicht man die? Und was hat man davon?
| |
Hier gibt's Titel, FinTech, 50000 Mitarbeiter
|
|
|
|
|
|
|
| Zitat von PutzFrau
FinTech
| |
Was ist das für 1 Definition
|
|
|
|
|
|
|
| Zitat von Daddi89
Wie wird das bei euch gehandhabt? Gibts Titel? Wann erreicht man die? Und was hat man davon?
| |
klassisch junior, advanced, senior. hinten raus noch expert (quais stabsstellen, die dann explizit geschaffen werden).
advanced und senior wird man mittlerweile (das system wurde in den letzten jahren mehrfach umgestellt) durch nen entwicklungsplan, bei dem man zu begin feedback von kollegen einholt und n projekt definiert/aussucht, was man gemäß anforderungen der nächsten stufe durchziehen oder leiten soll. am ende wir dann nochmal feedback eingeholt und ne präsi zur gesamten entwicklung vor den führungskräften gehalten.
was man davon hat? man schaltet bei hr das nächste gehalts-bracket frei - mehr nicht. wenn man sich unsere stufen-profile anschaut, wird schnell klar, dass n junior quasi nie nur oder großteils junior-tätigkeiten übernimmt. n advanced arbeitet häufig schon dauerhaft auf senior level und senioren werden eh ständig zu tasks abkommandiert, die eigentlich n tl machen soll.
|
|
|
|
|
|
|
Titel gibt's hier eigentlich nur im TV und die passen nicht zur Eingruppierung. Bin mit 1 Jahr Berufserfahrung als Senior eingestiegen und jetzt nach 2 Jahren Specialist, lul.
|
|
|
|
|
|
|
Ich war mal nur auf einem Kundenprojekt Senior weil der Kunde nur die besten der besten wollte und vermutlich auch den entsprechenden Aufschlag zahlte
Wie kann man sich als Premium Bude positionieren wenn die Hälfte der Leute nicht mal Senior sind? Wahrscheinlich lief es bei Ameisenfutter aus den gleichen Gründen so.
|
|
|
|
|
|
|
| Zitat von NI-Xpert
Ich war mal nur auf einem Kundenprojekt Senior weil der Kunde nur die besten der besten wollte und vermutlich auch den entsprechenden Aufschlag zahlte
Wie kann man sich als Premium Bude positionieren wenn die Hälfte der Leute nicht mal Senior sind? Wahrscheinlich lief es bei Ameisenfutter aus den gleichen Gründen so.
| |
Ne, ich bin nicht im Projektgeschäft. Ich denke, die Kategorien des TV sind einfach überholt. Für 53k bekommste halt schon lange einen Senior mehr. Jetzt werden die Leute einfach höher eingruppiert.
|
|
|
|
|
|
|
Aso... TV Tarifvertrag
Hatte das noch nie.
|
|
|
|
|
|
|
Das ist... wirklich schade.
|
|
|
|
|
|
|
Ich bastle gerade etwas mit socket.io (nodejs). Da kann mir ein böswilliger Client ja grundsätzlich beliebigen Unsinn über's Netzwerk schicken.
Weiß jemand spontan, ob ich folgendermaßen den Input sicher verarbeiten kann, sprich, es gibt keine Möglichkeit an dieser Stelle einen DROP TABLE students einzubauen? Oder Späßchen wie "ich sende X GB an String und bekomme dann im Buffer Overflow einen Code execution exploit" o.ä.
|
Code: |
const value = `${input}`; |
|
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Armag3ddon am 16.09.2021 13:32]
|
|
|
|
|
|
Dem Input solltest du so natürlich nicht trauen.
https://socket.io/docs/v3/server-initialization
Da mal parser und die low level engine options anschauen (buffer size etc).
Ich würde aus dem Bauch heraus einen parser definieren der sanitizing und validation übernimmt, z. B. in Zusammenhang mit einer Library für runteime type/Schema checks, also sowas wie mongoose , je nachdem was du so als DB nutzt. Oder was allgemeines wie https://github.com/diegohaz/schm.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Tenz am 16.09.2021 13:59]
|
|
|
|
|
|
Danke schonmal! Eine DB ist nicht im Spiel, also irgendwelcher SQL-Krams o.ä. ist nicht zu bedenken. Es bleibt rein auf der Verarbeitung in Javascript.
Da will ich sichergehen, dass ich jetzt nicht totale Anfängerfehler begehe, weil jemand sagt: wenn dein input da
'`; function downloadCryptolocker(); Cryptolocker();'
ist, wird das sofort ausgeführt oder wenn es
'5000xEncyclopedia Britannica'
ist, wird danach aller Code ausgeführt.
|
|
|
|
|
|
|
Musste jemand schonmal interaktive PDFs (indesign + acrobat) erstellen?
Kunde will das wenn man checkbox x anhackt darunter drölf andere Felder erscheinen und der Rest des Dokuments verdrängt wird.
|
|
|
|
|
|
|
| Zitat von Armag3ddon
Danke schonmal! Eine DB ist nicht im Spiel, also irgendwelcher SQL-Krams o.ä. ist nicht zu bedenken. Es bleibt rein auf der Verarbeitung in Javascript.
Da will ich sichergehen, dass ich jetzt nicht totale Anfängerfehler begehe, weil jemand sagt: wenn dein input da
'`; function downloadCryptolocker(); Cryptolocker();'
ist, wird das sofort ausgeführt oder wenn es
'5000xEncyclopedia Britannica'
ist, wird danach aller Code ausgeführt.
| |
Das kommt halt drauf an, was du mit den empfangenen Daten tust.
Wenn du sie durch `eval()` jagst, dann bist du doomed. Wenn du z.B. JSON empfängst und durch `JSON.parse()` schickst bist du safe.
Genauso wenn du z.B. unescaped HTML entgegen nimmst und irgendwo in eine WebSeite einbaust baust du eben eine HTML-Injection-Lücke, dann hilft entsprechendes Escaping. Und so weiter und so fort.
socket.io selber "interpretiert" die empfangenen Daten überhaupt nicht. Sondern reicht sie dir einfach nur 1:1 durch. Klar, in der Implementierung des WebSocket-Protokolls in socket.io könnte jetzt noch ein Bug schlummern, aber da kommen wir jetzt vom 100. ins 1000.
|
|
|
|
|
|
|
| Zitat von GH@NDI
| Zitat von Armag3ddon
Danke schonmal! Eine DB ist nicht im Spiel, also irgendwelcher SQL-Krams o.ä. ist nicht zu bedenken. Es bleibt rein auf der Verarbeitung in Javascript.
Da will ich sichergehen, dass ich jetzt nicht totale Anfängerfehler begehe, weil jemand sagt: wenn dein input da
'`; function downloadCryptolocker(); Cryptolocker();'
ist, wird das sofort ausgeführt oder wenn es
'5000xEncyclopedia Britannica'
ist, wird danach aller Code ausgeführt.
| |
Das kommt halt drauf an, was du mit den empfangenen Daten tust.
Wenn du sie durch `eval()` jagst, dann bist du doomed. Wenn du z.B. JSON empfängst und durch `JSON.parse()` schickst bist du safe.
Genauso wenn du z.B. unescaped HTML entgegen nimmst und irgendwo in eine WebSeite einbaust baust du eben eine HTML-Injection-Lücke, dann hilft entsprechendes Escaping. Und so weiter und so fort.
socket.io selber "interpretiert" die empfangenen Daten überhaupt nicht. Sondern reicht sie dir einfach nur 1:1 durch. Klar, in der Implementierung des WebSocket-Protokolls in socket.io könnte jetzt noch ein Bug schlummern, aber da kommen wir jetzt vom 100. ins 1000.
| |
Jo, das sind grundsätzlich die Überlegungen, die ich hatte. Die Daten werden in keiner Weise irgendwo eingefügt. Es kommt also kein DB-Input, kein raw HTML und kein eval da ran. Ich erwarte, dass die Daten Strings und Integer enthalten und will die halt in js testen. Also schauen ob der Wert ==, ===, >=, > etc. irgendwas anderes ist. Meine Überlegungen gingen auch soweit, dass ich bei Bugs in der Socket-Implementierung nichts weiter machen kann.
Eigentlich dachte ich, dass der Kram, den ich mache, damit sicher ist. Ich habe da jetzt nur einfach zu lange drüber nachgedacht und bin dann unsicher geworden. Nicht, dass ich da irgendwas nicht weiß und es ist doch allgemein bekannt, dass man in diesem String-Einfügen immer das chinesische Zeichen für Vollmond escapen muss, weil sonst wird alles Js danach ausgeführt. Oder sowas wie "erlaube niemals, dass externe Daten den String füllen können, denn traditionell kann Js nur 512GB an String verarbeiten und danach sind Exploits möglich".
Ich kenn sowas nur von der Spieleentwicklung, an der ich mitgewirkt habe. Da gab es mal einen Code Execution Exploit, wenn man in einer Mod-Datei an einer Stelle einen besonders langen String eingefügt hat, weil irgendein Buffer falsch gewählt war. Dann ist das Spiel selbst gecrasht und hat einfach random Code ausgeführt. Sowas will ich nur verhindern.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Armag3ddon am 16.09.2021 16:02]
|
|
|
|
|
|
Ah, dein drop table Kommentar hat da etwas verwirrt.
Zum Verarbeiten in Ausdrücken ist es safe wie Ghandi sagt. Was nicht safe ist (neben eval) wäre aber den Input wieder ohne weiteres im Browser auszugeben.
|
[Dieser Beitrag wurde 2 mal editiert; zum letzten Mal von Tenz am 16.09.2021 16:37]
|
|
|
|
|
|
| Zitat von Daddi89
Statt PHP + React ist das neue Projekt jetzt Spring Boot + Angular. Das ist mal ne lustige Umstellung von einer auf die andere Woche
Mir gefällt Angular erstaunlich gut auf die ersten Gehversuche. Aber bisher ist auch noch nichts komplexes passiert
| |
Ich fand an Angular immer ganz schön dass sich die einzelnen Schichten easy testen lassen. Mit NgRx konnte man schon Spaß haben. Hatte immer nen Service-Layer der mit NgRx gearbeitet hat, einen Layer drunter für die eigentliche "Arbeit" der Anwendung und dann die Components die jeweils einen oder 2 Services aus dem NgRx-Layer eingebunden haben. Das lies sich wunderbar testen und hat mich nie geärgert. Das nächste Projekt wird wohl auch wieder Angular statt Vue.js oder React. Angular produziert zwar gerne etwas mehr Boilerplate, aber die Testbarkeit ist noice. <3
@Arma:
JS ist in der Hinsicht easy. Keine Panik
|
|
|
|
|
|
Thema: Software-Entwicklung 0 ( new SammelThread() ) |