Zum Inhalt springen

Whiz-zarD

Mitglieder
  • Gesamte Inhalte

    2.018
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    48

Alle Inhalte von Whiz-zarD

  1. Natürlich kann er das. Da wird keinem die Tür zugeschlagen, da es nun mal Gründe haben kann, eine Ausbildung abzubrechen. Er kann entweder versuchen, einen neuen Betrieb zu finden oder er schreibt die Prüfung als Externer. Allerdings ist dies mit Kosten und Mühen verbunden. Als Externer muss man allerdings vorweisen können, dass man das 1 1/2 fache der Ausbildungszeit auch in diesem Beruf gearbeitet hat (§45 Abs.2 BBiG). Sprich, bei 3 Jahren Ausbildungszeit wären es 4 1/2 Jahre Berufserfahrung. Da frage ich mich schon, wieso man sich sowas antut, wenn man schon in einem Ausbildungsverhältnis war und kurz vor Ende das Handtuch schmeißt, um wieder neu anzufangen? Alles in allem würde ich aber mit der zuständigen Stelle (sprich Handelskammer) sprechen, da ich nicht weiß, in wie weit man die schon geleisteten Ausbildungsjahre anrechnen kann, wenn ein neuer Betrieb gesucht wird. Das Facharbeiterzeugnis bekommst du erst, wenn du die Ausbildung erfolgreich abgeschlossen hast.
  2. Und wieso du gekündigt hast, anstatt die Ausbildung zu beenden.
  3. Hast du keine Idee, was dir im Alltag evtl. helfen könnte? Ich selber entwickle derzeit z.B. ein Tool, um mein Girokonto besser analysieren zu können. Da ich in deiner CV lese, dass du einen Taschenrechner entwickelt hast, kannst du dir ja mal überlegen, wie man einen Taschenrechner richtig entwickelt. Ein Taschenrechner ist gar nicht so einfach und bei weitem nicht klein. (Stichwörter sind Shunting-Yard-Algorithmus und polnische Notation) Wenn ich einen Bewerber vor mir hätte, der in seiner CV schreibt, er hätte einen Taschenrechner programmiert, den würde ich darüber ausquetschen. Wissen über O/R-Mapper ist nie verkehrt. In der .Net-Welt gibt es z.B. das Entity Framework Core und in der Java-Welt Hibernate. Falls du dich damit nicht auskennst, kannst du dich damit auch beschäftigen. Auch sowas wie Microservices sind derzeit sehr gefragt. Dafür werden dann Message Broker verwendet, wie z.B. RabbitMQ. Da du ja auch Erfahrung mit JavaScript hast, kannst du dir auch für den Frontend-Bereich Angular oder React anschauen.
  4. Sich da noch großartig zu erkundigen, ob seine Noten stimmen, halte ich auch für seltsam. Im Zweifel einfach ablehnen. Wozu sich da die Mühe machen? Er hat doch schon im Vorstellungsgespräch bewiesen, dass er nicht euren Anforderungen genügt. Wozu dann noch zusätzlich nachtreten? Falls ihr aber dennoch Interesse an ihn habt, einfach zu einem Probearbeitstag einladen.
  5. Mein Beileid. Ich habe auch viel mit PL/SQL zu tun und das ist keine Sprache, die man sich freiwillig antun möchte.
  6. Dies kann grundsätzlich passieren. Auch in einer Ausbildung oder in einem Studium. Ein guter Entwickler reflektiert immer seine Aufgaben und bildet sich weiter und überlegt, was er nächstes Mal besser machen könnte. Man sollte nicht Kommentare schreiben, nur des Kommentar wegen. Es gibt gute und schlechte Kommentare. Vor allem Inline-Kommentare, also Kommentare, die innerhalb eines Codeblockes stehen, sind sehr tückisch. Im Idealfall liest sich der Code wie ein Prosatext und benötigt kann keine Inline-Kommentare. Wenn welche benötigt werden, sollten Inline-Kommentare eher das "wieso?" und "warum?" erklären und nicht das "was?", denn das besagt schon der Code. Das ist von Sprache zu Sprache unterschiedlich und man sollte sich an das halten, was die Sprache an Richtlinien vorgibt. Hier unterscheidet sich z.B. Python von C#, da in C# Methoden mit einem Großbuchstaben anfangen. Ich persönlich sehe da auch keine Probleme. Eigentlich kann man sich da wenig falsches aneignen. Wie gesagt, ein guter Entwickler sollte in der Lage sein, sein eigenes Können zu reflektieren und durch stetiges Weiterbilden sein Können verbessern. Darf man sich dann nicht mehr für ein Themengebiet interessieren und Erfahrungen sammeln, weil man vielleicht vor hat, eine Ausbildung anzufangen? Willst du einem Kind das Basteln eines Ferngesteuerten Autos verbieten nur weil es in 10 Jahren vielleicht eine Kfz-Mechatroniker-Ausbildung machen wird? Wenn das so ist, dann müsste man ja auch Veranstaltungen, wie z.B. Jugend Hackt einstellen, weil die Kinder vielleicht Entwickler werden wollen ...
  7. Sorry, aber dann hat er keine Ahnung. Ein Code sollte im Idealfall wie ein Prosatext zu lesen sein. Wenn man dann anfängt Kommentare schreiben zu müssen, um den Code zu erklären, dann macht man was falsch. Zu mal, solche Kommentare irgendwann lügen, da der Code angepasst wird aber nicht der Kommentar. Ein Kommentar sollte, wenn überhaupt, das "Wieso" erklären und nicht das "Was". Das "Was" erzählt schon der Code. Und was ist an den Code nicht verständlich? Es ist eine simple Überprüfung, wann zwei Person-Objekte als gleich zu betrachten sind. Dafür wird ein Hashwert und eine Equals()-Methode benötigt. Der Hashwert ist im Grunde nichts weiter, als eine Zahl, die das Objekt repräsentiert. Es ist quasi eine Performanceoptimierung. Bei meinem Comparer gibt es aber noch einen Fehler. Die GetHashCode()-Methode berücksichtigt auch den Wert und daher funktioniert es nicht. Die XOR-Verknüpfung von Wert muss raus. public class PersonComparer : IEqualityComparer<Person> { public bool Equals(Person x, Person y) { if (x == null || y == null) return false; return x.Vorname == y.Vorname && x.Nachname == y.Nachname && x.Geburtsdatum == y.Geburtsdatum; } public int GetHashCode(Person obj) { return obj.Vorname.GetHashCode() ^ obj.Nachname.GetHashCode() ^ obj.Geburtsdatum.GetHashCode(); } } Intern verwendet Distinct() eine Art HashSet, die aber speziell für LINQ entwickelt wurde. Distinct() vergleicht die Werte über einen Comparer. Wenn man keinen Comparer verwendet, wird intern ein DefaultComparer verwendet. Wie dieser genau arbeitet, weiß ich allerdings auch nicht. Nicht desto Trotz, lässt sich nun ein eigenen Comparer implementieren. GetHashCode() ermittelt aus dem Objekt eine Zahl. Dazu gibt es etliche Artikel, wie die Methode zu implementieren ist. Die Empfehlung ist, von den jeweiligen Properties den Hashwert ermitteln (die Methode befindet sich am Objekt selber) und diese dann mit einem XOR zu verknüpfen. Damit bekommt man einen eindeutigen Hashwert. Das HashSet kann dann daraufhin sehr performant ermitteln, ob beide Objekte gleich sind, da er er nur zwei Zahlen miteinander vergleichen muss. Zusätzlich gibt es noch die Equals()-Methode, die eine weitere Überprüfung darstellt, falls dann doch zwei Hashwerte gleich sind. Du könntest auch einfach bei GetHashCode() eine 0 zurückgeben. Dann ist der Hashwert immer 0 und bei jedem Objektvergleich würde die Equals()-Methode ziehen. Diese Variante kann aber ggf. zu einer schlechten Performance führen. public int GetHashCode(Person obj) { return 0; } Dann macht der Code genau das, was du willst und du brauchst kein Boilercode, wo du zig Listen, mehre LINQ-Ausdrücke erstellst.
  8. Wofür macht man denn ein Vorschlag, wenn du selbst einen Frickelcode zusammenschustert, den kein Schwein versteht? Schreib doch ein Comparer, wie ich schon vorgeschlagen habe. Mehr brauchst du nicht und schon gar nicht tausend Listen, die dir den Speicher zumüllen. Wenn man schon Kommentare schreiben muss, um den Code zu erklären, dann macht man in der Regel schon fast falsch.
  9. Es wird kein Array erzeugt, sondern ein anonymer Datentyp, der nur innerhalb der Methode verwendet werden kann. Und ja, wenn in Person weitere Methoden sind (wovon ich aber abraten würde), könnte er sie nicht aufrufen, ohne erstmal aus dem anonymen Datentyp eine Person zu instanziieren.
  10. In Distinct kann man auch einen Comparer mitgeben: var listDis = liste.Distinct(new PersonComparer()).ToList(); public class PersonComparer : IEqualityComparer<Person> { public bool Equals(Person x, Person y) { if (x == null || y == null) return false; return x.Vorname == y.Vorname && x.Nachname == y.Nachname && x.Geburtsdatum == y.Geburtsdatum; } public int GetHashCode(Person obj) { return obj.Vorname.GetHashCode() ^ obj.Nachname.GetHashCode() ^ obj.Geburtsdatum.GetHashCode() ^ obj.Wert.GetHashCode(); } }
  11. Die Abschlussprüfung dient dazu, dass du beweisen sollst, dass du die berufliche Handlungsfähigkeit erlangt hast. Sprich, ob du die fachliche Qualifikation besitzt, den Beruf auszuführen. Eine Präsentation im Sinne einer Produktvermarktung, wird nicht zeigen können, ob du die berufliche Handlungsfähigkeit erlangt hast. Du sollst also präsentieren, was du gemacht hast und sollst nicht das fertige Produkt vorstellen.
  12. Als Anfänger? Weder noch. Nimm Konsolenanwendungen. Weder WinForms noch WPF wird man dir in der Schule richtig beibringen. Letzen Endes ist dies nur die Oberfläche. Wenn du die Logik strikt von der Oberfläche trennst, ist es hinterher fast egal, ob du nun WinForms, WPF, ASP.NET oder ein JavaScript-Framework ala Angular oder React nimmst. Um aber ein Gefühl für die Programmierung zu bekommen, wäre eine Konsolenanwendung angebrachter, da Oberflächen sehr viel Magic aufweisen, die gerade Anfänger noch nicht verstehen, wieso das alles so funktioniert.
  13. Wieso ein "krasser" Taschenrechner? Ich rede auch nur von Grundrechenarten. Wenn du aber mehr als zwei Zahlen miteinander verrechnen möchtest, kommst du mit einfachen switch- und if-Anweisungen nicht mehr weit. Zumal weiterhin einen schlechten Programmierstil gefördert wird.
  14. Um einen Taschenrechner sinnvoll zu programmieren bedarf es etwas mehr, als nur ein paar Switch-Cases. Im Grunde genommen sind Switch-Cases hier sogar der falsche Ansatz. Wenn man es richtig macht, braucht man diese nämlich gar nicht. Ich habe mir dazu schon etliche Videotutorials angeschaut und eins ist schlechter als das andere. Es fördert einen sehr schlechten Programmierstil. In einigen Videos verhaspelt sich der Sprecher sogar, weil er sich in einem Code nicht mehr zurechtfindet. In all den Tutorials werden sich auch keine Gedanken gemacht, wie ein Taschenrechner eigentlich funktioniert. Es werden auch z.B. nicht die Probleme erörtert, die die gängige Infix-Schreibweise von mathematischen Termen mitsichbringen (Operatorreihenfolge bzw. Punkt-vor-Strichrechnung) und wie man das Problem umgehen kann (via Prä- und Postfix-Schreibweise; Auch (umgekehrte) polnische Notation genannt). Dementsprechend wird auch nicht der Shunting-Yard-Algorithmus erwähnt, der nämlich einen mathematischen Term, der in der Infix-Schreibweise vorliegt, in eine Postfix-Schreibweise überführt. Mit der Postfix-Schreibweise lässt sich dann einen binären Baum aufbauen, den man traversieren und auswerten kann. Also nein, ich halte weiterhin einen Taschenrechner für eine sehr schlechte Programmierübung für einen Anfänger. Wenn es darum geht, If-Verzweigungen zu lernen, dann reicht auch das FizzBuzz-Spiel. Als Anfänger möchte man doch schnell positive Ergebnisse sehen. Wenn man aber dann mehrere Tage oder sogar Wochen an einen Taschenrechner rumbastelt, der immer meint, dass 1 + 2 * 3 gleich 9 ergibt und nicht 7, dann ist das schon frustrierend. Ein anderes Problem ist nicht unbedingt der Taschenrechner selber, sondern dass man mit einer grafischen Oberfläche anfängt. Ich finde, ein Anfänger sollte mit einem Kommandozeilenprogamm beginnen, um ein Gefühl für die Sprache zu entwickeln. Grafische Oberflächen sind häufig eine Black Box und besitzen viel Magie (besonders bei C#) und ein Anfänger versteht noch nicht wie diese grafischen Oberflächen überhaupt funktionieren. Er implementiert ein paar Events aber er weiß gar nicht, wie und wer diese Events überhaupt auslöst. Er verwendet also Techniken, die er nicht versteht. Wenn er jetzt selber in einem Kommandozeilenprogramm ein oder zwei Events selber gebaut hat, dann bekommt er ein besseres Gefühl dafür, wer die Events in grafischen Oberflächen auslöst.
  15. Das, was du wohl meinst, ist eine Batch-Datei https://de.wikipedia.org/wiki/BAT-Datei
  16. Vom Taschenrechner würde ich sehr stark abraten. Das geht nur in die Hose.
  17. Größere Dinge teilt man auch in kleinere Dingen auf, sodass sich überschaubar und machbar sind. Wenn jetzt jemand z.B. einen Messenger entwickeln möchte, fängt ja auch nicht sofort an, sondern überlegt im ersten Schritt, aus welchen Bestandteilen ein Messenger besteht. Also z.B. aus einem Login, einem Kontakte-Fenster und einem Chat-Fenster, dann überlegt man sich, wie der Login funktionieren kann, usw. usw. In einer Firma wird man ja auch dann nicht alleine an diesem Messenger sitzen, sondern in einem oder ggf. in mehreren Teams, die die Arbeiten aufteilen. Die Teams sind dann in ihren bestimmten Kompetenzen aufgeteilt. So übernimmt ein Team dann z.B. das Front-End (also, das was der Benutzer im Endeffekt sieht), ein anderes Team das Back-End (also der Server, der im Hintergrund läuft) und ein anderes Team verbindet Front-End mit dem Back-End. So muss man dann nicht alles bis ins Detail wissen. Ich selber arbeite in einer Firma, die Software für Banken entwickelt. Ich habe aber auch nicht so viel Wissen über das Finanzwesen und wenn wir eine neue Anforderung bekommen, haben wir ein Team, was sich nur mit den fachlichen Themen beschäftigt und uns Entwicklern helfen, die Anforderungen umzusetzen, indem für sie uns z.B. Gesetzestexte in eine verständliche Sprache übersetzen. Dann viel Glück.
  18. Da ich einige Kontakte zu Malern und Schriftstellern habe, kann ich sagen, dass es zwischen Künstlern und Softwareentwicklern sehr viele Gemeinsamkeiten existieren. Daher würde ich schon den Entwickler auch als einen kreativen Beruf ansehen. Auch ein Maler/Schriftsteller arbeitet systematisch und methodisch. Ein Maler/Schriftsteller versucht eine Ästhetik in seine Werke zu bringen. Genauso, wie der Entwickler, der mit Clean Code, Design Patterns und Architektur seine Weise von Ästhetik zum Ausdruck bringt. Schriftsteller schreiben auch nicht gleich drauf los, sondern recherchieren auch erst mal diverse Themen und erarbeiten sich ein Konzept. Man gilt auch nicht als unkreativ, nur weil man kein großes Projekt vor Augen hat. Projekte in der Softwareentwicklung entstehen auch oft nur aus einer Problemlösung heraus. Marc Zuckerberg ist auch nicht von der Toilettenschüssel gefallen und hatte plötzlich die Idee von Facebook, sondern es entstand einfach daraus, dass die Entwicklung des offizielle Online-Jahresbuch der Harvard Universität, aufgrund von Datenschutzbedenken, zu langsam lief und er entwickelte halt ein System, wo die Studenten selbst ihre Daten online stellen konnten. Somit umging er die Datenschutzbedenken, weil jeder selber für seine Daten verantwortlich ist. Ich denke mal, dass man gewisse Menschen als kreativ ansieht, liegt daran, dass man deren Methodik nicht kennt. Man kennt nur eine leere Leinwand und auf dieser Leinwand entsteht wie von Geisterhand dann eine Mona Lisa aber Leonardo da Vinci musste auch auch erst mal Methoden kennenlernen und entwickeln, um so etwas malen zu können. Halte ich persönlich nicht wirklich für Schlau. Egal bei welchem Beruf. Wer so handelt, bei dem ist eigentlich schon Burn-Out oder eine Depression vorprogrammiert. Ich rede da leider aus Erfahrung. Man sollte schon eine gewisse Affinität mitbringen. Gerade als Softwareentwickler ist das meiner Meinung nach ein Muss, weil man auch dann bereit ist, etwas neues zu lernen. Ich hab auch ein paar Kollegen, die meinten, mit ihrem Wissen aus dem Studium, was sie mal vor 20 Jahren abgeschlossen haben, genug Wissen über die Softwareentwicklung gelernt haben, sodass sie nichts mehr neues Wissen lernen müssen. Sie sind inzwischen aber schon sehr kleinlaut geworden, als wir zwei Werksstudenten eingestellt haben, die mit ihrem Wissen jetzt schon meilenweit voraus sind. In meiner Assistentenausbildung zum Medieninformatiker habe ich viele solcher Menschen kennengelernt. Kaum einer hat die Ausbildung abgeschlossen. Die meisten haben schon nach einem Semester gemerkt, dass Softwareentwicklung doch für sie nichts ist. Das muss nicht auf dich zutreffen aber die Frage, die du dir stellen solltest ist, ob du wirklich Lust darauf hast, 8 Stunden täglich auf den Bildschirm zu glotzen und Code zu lesen? Die meiste Zeit des Tages verbringst du damit, Code zu lesen, ihn zu verstehen und zu begreifen, was der eigentlich tut. Das kann auf die Dauer sehr anstregend werden. Diejenigen, die von Java abraten, haben selber keine Ahnung und plappern dummes Zeug nach, was sie mal im Internet gelesen haben und/oder sind Fanboys/girls anderer Sprachen. Java wird noch lange Zeit eine der am meistverbreitesten Sprachen bleiben. Android-App werden ja auch mit Java entwickelt. Wenn man die imperative Programmierung lernen möchte, ist es erstmal egal, welche Sprache man nimmt, weil sie alle die selben Grundkonzepte besitzen (z.B. Schleifen oder Verzweigungen). Mache dir also da erst mal keine Sorgen. Um noch mal auf deine eigentliche Intention einzugehen: Die Frage, ob der FIAE was für dich ist, kannst nur du beantworten. Wenn du meinst, dass dies was für dich sein kann, dann mach es. Probiere es aus. Es geht fast allen Menschen so, die kurz vor der Beendigung der Schule stehen und nicht wissen, was sie später machen wollen, wenn man nicht gerade ihr Hobby zum Beruf machen können und wollen. Du brauchst dir aber keine Sorgen um deine Kreativität machen. In Laufe der Jahre entwickelt man einen Programmierstil und auch ein Gedankenmuster, an denen man sich entlang hangelt und diese immer wieder Stück-für-Stück verbessert und korrigiert. Es ist halt ein ständiger Lernprozess.
  19. Offenbar muss Microsoft Visual C++ 2010 SP1 Redistributable Package nachinstalliert werden.
  20. Bei einer Ausbildung gilt das BBiG und das BBiG sagt, dass es keine Kündigungsfrist gibt.
  21. Das gilt auch für dich... BBiG §22 Die Probezeit dauert in einer Ausbildung maximal 4 Monate.
  22. Von APEX habe ich noch nie was gehört. Wenn ich mir aber den Wikipedia-Artikel durchlese, sehe ich da wenig Zukunft, da APEX bedeutet, dass man an Oracle gebunden ist. Unsere Kunden (Banken) benutzen zwar alle noch Oracle Database aber sie wollen davon weg, weil die Lizenzen immer teurer werden und das Lizenzmodell immer undurchsichtiger. Open Source Datenbanken werden auch immer besser und nicht immer ist eine relationale Datenbank die beste Entscheidung. Wenn ich das richtig lese, wird serverseitig PL/SQL verwendet. Das ist eine proprietäre, prozedurale Programmiersprache von Oracle, die einfach nur grausam ist (ich muss auch noch vieles damit entwickeln). Im .Net-Umfeld wäre man deutlich besser aufgestellt, weil da sich mehr viel bewegt. Die Größe einer Firma ist meiner Meinung nach auch nicht entscheidend, sondern ob die Firma auch mal neue Wege wagt und wenn eine Firma nur APEX verwendet, dann wohl aus historischen Gründen, weil man es entweder schon immer so gemacht hat oder weil man da nicht mehr rauskommt bzw. auch nicht rauskommen will, weil alles neumodische eh Teufelszeug ist.
  23. Whiz-zarD

    Passwort Manager

    So, wie es für mich anhört, möchte er nur diverse Passwortmanager gegenüberstellen. Ich verstehe auch nicht so ganz, was mit "Projektphase" gemeint ist. Handelt es sich um ein Projekt der Firma oder nur um eine Aufgabe für die Berufsschule.
  24. Kunstleder... Damit kannst du den Stuhl spätestens nach 3 Jahren wegschmeißen. Das gilt auch für den teuren DX Racer-schrott.
  25. Ein Onlineshop in 70 Stunden entwickeln? Niemals. In den 70 Stunden sollst du ja auch noch die Dokumentation schreiben.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...