Wie man 1C Programmer zum Java-Entwickler macht

Als ich vor ein paar Jahren nach Wegen suchte, von 1C-Programmierern zu Java-Entwicklern, ging ich im Dunkeln umher und versuchte, eine Tür zu finden, bei der ich mir nicht sicher war. Ich habe versucht, Erfolgsgeschichten zu finden, aber abgesehen von einigen Kommentaren habe ich nichts googelt. Die Java-Welt sah riesig aus und die Anzahl der Frameworks war endlos. Es war völlig unverständlich: was zu lehren, was nicht zu lernen, was in der Arbeit gebraucht wird und was niemand benutzt. Wenn Sie nach Java gehen möchten, sich in den endlosen Namen von Technologien und Frameworks verlieren und herausfinden möchten, welche untersucht und welche ignoriert werden müssen - dieser Artikel ist für Sie!



Einige anfängliche Annahmen


  • In diesem Artikel werden wir nicht die Frage "warum?" diskutieren, sondern nur - "wie?". Wenn Sie hergekommen sind, wissen Sie selbst warum.
  • Ich habe nie eine Ausbildung in Bezug auf IT erhalten, daher sind meine Empfehlungen Empfehlungen von einer Person und von einer Person, die zu Beginn des Java-Lernens noch nie etwas anderes als 1Ca geschrieben hat. Wenn Sie ein Diplom in Softwareentwicklung haben, sind einige der Empfehlungen möglicherweise überflüssig.
  • Ich werde versuchen, ein Bild zu zeichnen, das eine Art durchschnittlichen Leerstand widerspiegelt. Wenn Sie in eine enge, spezifische Richtung wie Big Data oder umgekehrt eingebettet werden möchten, sollten Sie natürlich mehr über diese Richtung erfahren.

Schlechte Nachrichten


Erstens, wenn Sie sich entscheiden , 1C zu betrügen , um zur Java-Entwicklung zu wechseln, sollten Sie nicht erwarten, dass der Pfad einfach und schnell ist. Mit der gebotenen Sorgfalt werden Sie höchstwahrscheinlich mindestens ein halbes Jahr für die Vorbereitung und mindestens ein Jahr für den Ausstieg aus dem Juni aufwenden.

Zweitens sollten Sie sich darauf vorbereiten, dass sich Ihr Einkommen wahrscheinlich erholt, wenn Sie zu einer selbstbewussten Mitte werden, wenn Sie jetzt die Top-1Snik sind. In der Regel sind dies nicht weniger als 2-3 Jahre Übung, aber letztendlich hängt alles von Ihnen ab.

Drittens sollten Sie nicht erwarten, dass Ihre 1Set-Erfahrung für jemanden hier von Interesse ist. Sie können 100.500 erfolgreiche Projekte und die gesamte Wand in 1Snal-Zertifikaten haben - das wird niemanden interessieren. Du wirst ein Juni sein, sie werden mit dir reden wie ein Juni und du wirst Aufgaben haben wie ein Juni. Aber hier gibt es einen Löffel Honig: Auch wenn Sie kein Top-1Snik sind, erreichen Sie in SQL-Fragen höchstwahrscheinlich ältere Java-Entwickler.

Ein paar sehr abgedroschene Tipps, die Sie schon drei Dutzend Mal gehört haben, aber glauben Sie mir, sie funktionieren zu 100%:

  1. Jeden Tag eine Stunde zu verbringen ist viel besser, als einmal pro Woche sieben Stunden zu verbringen. Wenn Sie sich entscheiden zu gehen, gehen Sie. Keine Ausreden. Täglich. Also gut, du kannst dich am Sonntag ausruhen.
  2. Wenn Englisch von Noten val - verbessern Sie es! Dies ist eine Fähigkeit, die sich als nützlich erweisen wird: Fast alles, was Sie lesen können, ist nicht nur auf Englisch, sondern Sie müssen auch Code darauf schreiben! Höchstwahrscheinlich ist das Erste, was Sie brauchen, die Fähigkeit zu lesen und zu verstehen, was Sie lesen. Mit Zuhören und Sprechen kann man ein bisschen warten.

Vorbereitung. Sprachgrundlagen


Sie sollten eine Sprache auswählen. Im Internet eine Reihe von Artikeln mit vergleichenden Eigenschaften. Sie können auch die Namen der Sprache in die Suche nach hh einfließen lassen - sehen Sie, wie gut Ihnen das gefällt, was Sie dort sehen. Achten Sie nicht nur auf die rasanten Gehälter und das Bier am Freitag, sondern auch auf die Anzahl der freien Stellen und vor allem auf die Anzahl der freien Stellen, für die Sie im Juni bereit sind.

Ich habe mich für Java entschieden. Alle weiteren Empfehlungen werden in diesem Zusammenhang gegeben, wenn Sie eine andere Sprache wählen. Ein wesentlicher Teil des Textes kann seine Bedeutung verlieren, Sie können jedoch allgemeine Ideen zeichnen. Sie sollten wahrscheinlich in die Richtung von PHP schauen, da sich Bitrix und der Übergang dorthin hinsichtlich der administrativen Barriere (es gibt 1C, hier 1C, was ist der Unterschied? ..) und hinsichtlich des Fehlens von Streams und Methodenreferenzen in der Sprache (obwohl diese vorhanden sind) als einfacher herausstellen können wild hoch).

Wenn Sie sich auch für Java entscheiden, brauchen Sie nur Java SE. Was ist Java ME und Java FX ist in der Regel besser nicht zu wissen)

Wo fängst du an? Ich rate Ihnen nicht, sich zu beeilen, um den zweibändigen Horstmann und tausend Seiten Spring 5 für Profis zu kaufen und all dies zu lernen. Selbst wenn Sie dies alles auswendig sagen, wird das Wissen, das nicht durch die Praxis gestützt wird, sehr schnell verschwinden. Beginnen Sie mit Online-Schulungsseiten für Programmierer. Ich habe JavaRush gelöst. Wahrscheinlich Level 15 erreicht. Es hat ungefähr 1-2 Monate gedauert (ich kann mit den Zahlen lügen, es ist lange her)

Dann gehe runter zum HackerRank. Lassen Sie sich nicht von seinem Namen beunruhigen - dort können Sie den Schwierigkeitsgrad auswählen und am einfachsten werden Ihnen Levelaufgaben angeboten, um die Saite umzukehren. Stellen Sie sicher, dass die Aufgaben der mittleren Ebene (mittel, Punkte um 30) problemlos gelöst werden. Obwohl das Bewertungssystem manchmal ausfällt und es solche Probleme mit 30 Punkten gibt, ist es einfacher, eine schwierige Aufgabe mit 60 Punkten zu lösen, aber im Grunde muss man damit fertig werden. Es wird noch 1-2 Monate dauern.

Jetzt ist es Zeit, Horstmann zu lesen. Denken Sie daran, dass dies ein gutes Buch ist, aber es behandelt Java in seiner Gesamtheit (nur die Sprache, nicht die Frameworks) und sogar die Teile davon, die so gut wie nie verwendet werden. Meine Empfehlung: Vergessen Sie im ersten Band die Abschnitte, die sich auf die Benutzeroberfläche beziehen, und den gesamten zweiten Band. Und doch, wenn es eng ist, überspringen Sie Multithreading und die zweite Hälfte der Generika im ersten Band - auch die Mittleren wissen das vielleicht nicht, es ist nicht beängstigend für den Juni. Es ist auch wichtig, nicht in die Versionsfalle zu geraten: Ein Buch namens Java 2 ist eine Antike. Sie benötigen Version 1.8 oder 9. Oder konzentrieren Sie sich auf das Veröffentlichungsdatum: 2015 und höher.

Ich hoffe, Sie geben den HackerRank beim Lesen von Horstmann nicht auf, vielleicht lösen Sie sogar ein paar 80-100 Punkte. Im Allgemeinen müssen nicht mehr als 60 Punkte angesprochen werden, da weniger angewandte Programmierung als "Kunst um der Kunst willen" eingesetzt wird. Aber wenn Sie die Kraft in sich spüren - manchmal schwer nehmen, wird es nicht überflüssig sein. Denken Sie auch daran, dass es sich bei den meisten komplexen Aufgaben um klassische algorithmische Aufgaben handelt, die Sie googeln können: Bei den Hackerran-Übungen geht es nicht darum, einen Algorithmus von Grund auf neu zu erfinden, sondern die Existenz des Algorithmus kennenzulernen und umzusetzen ihn.

Fortsetzung der Vorbereitung. Frameworks, Tools und Praktiken.


Nach all dem sind Sie fast bereit für ein Interview. Nur noch ein bisschen übrig:

  • Achten Sie erneut auf die Sammlungen und die Komplexität der Suche in ihnen. Alle lauschen diesem Thema. Versuchen Sie nicht, alles herauszufinden: Es ist besser, die Basissammlungen (ArrayList, LinkedList, HashSet, HashMap, vielleicht TreeMap) zu kennen, als drei Dutzend, aber "ganz oben". Das heißt Sie müssen verstehen, wie die Sammlung im Inneren funktioniert. Es gibt einen guten Kanal auf YouTube, alles wird dort für den Juni gekaut. Genau so, wie Sie es brauchen. Sie fahren in die Suche "Lektion auf Java-Sammlungen" - der erste Link dazu. Es gibt auch ein Video mit dem Titel "Was Sie vor einem Interview wissen müssen". Sie müssen nicht direkt alles wissen, was dort aufgeführt ist, Sie sind meiner Meinung nach immer noch ein Juni, wenn Sie 2/3 davon beherrschen - es wird in Ordnung sein.
  • Was ist Frühling? (Sie brauchen Spring Core und Spring Boot) - es wurde viel getan, aber 95% der Praxis, es zu verwenden, ist nicht komplizierter als halovorld. Sie sollten grundlegende Konzepte verstehen, wie z. B. was IOC ist und warum es allgemein und sicher ist, 1-2 Möglichkeiten zu besitzen, Beans zu deklarieren und zu injizieren (nicht xml). Vielleicht sollten Sie auch versuchen, mehrere REST-Services im Spring Web zu erstellen: Es ist nicht kompliziert, aber es wird definitiv ein Plus geben.
  • Wie man Tests schreibt (siehe JUnit und Mockito) - Im Prinzip gibt es in 1 keine Praxis wie das Schreiben von Tests. In Java ist Code ohne Tests kein Code, da Code als nicht funktionsfähig angesehen wird, sofern keine gegenteiligen Beweise vorliegen.

Wenn ich "look at [frameworkName]" sage, meine ich: Mindestens ein paar Heimprojekte mit dem entsprechenden Tool ausführen. Höchstwahrscheinlich sollten Sie zunächst jedes Framework einzeln auf der Ebene der Hello World ausprobieren und dann versuchen, sie in einem Projekt zu sammeln, das mindestens einen gewissen „Nutzen“ aufweist. Es scheint eine gute Idee zu sein (obwohl ich es nie getan habe) - so dass die Projekte irgendwie an die Arbeit gebunden sind. Vielleicht ist es nur so, dass Sie die Aufgabe, die Sie auf 1Se gesehen haben, vollständig in Java umschreiben, vielleicht eine Art Assistent für sich, um 1Snaya-Aktivitäten durchzuführen. Wenn Sie zum Beispiel einen REST-Austausch mit einem Lieferanten am 1. September durchführen, implementieren Sie die Lieferantenseite in Java, um die 1So-Funktionalität zu testen: Nehmen Sie einfach Anforderungen an und platzieren Sie sie an einem beliebigen Ort.

Alle Ihre Heimprojekte müssen von Maven kompiliert und von Git versioniert werden. Dies sind nur Werkzeuge, es lohnt sich, die Hand zu stopfen - und schon bemerken Sie sie nicht mehr. Als Entwicklungsumgebung empfehle ich Ihnen, Idea zu verwenden. Meiner Beobachtung nach wird es derzeit von fast allen verwendet. Die kostenlose Version sollte für Sie ausreichen.

Wenn Sie nicht an die Mittel gebunden sind, können Sie an einigen Kursen zur Java-Entwicklung teilnehmen. Ich halte den Grundkurs nicht für lohnenswert, weil es sich nicht lohnt, Zeit und Geld dafür aufzuwenden, was dort erklärt wird. Nehmen Sie an einem Kurs über Spring Core oder JUnit teil: Auf der einen Seite werden Sie Kenntnisse erwerben, mit zukünftigen Kollegen sprechen, auf der anderen Seite werden Sie 3 Tage lang nicht darüber gekaut, was ein Zyklus ist.

Irgendwo dazwischen müssen Sie die Programmiertheorie lesen. Sie werden auf jeden Fall nach SOLID und Mustern gefragt. Muster (sie sind auch Entwurfsmuster) sind sehr intuitive Dinge, obwohl Wikipedia sie beschreibt, damit der Teufel sich das Bein bricht. Es ist besser, nicht so abstruse Artikel zu lesen. Meiner Meinung nach reicht ein solches Set aus: Interface, Builder, Prototype, Singleton, Decorator, Proxies.

Gehen wir zum Sozialversicherungsamt!


Arbeitgeber
Es gibt verschiedene grundlegende Arten von Arbeitgebern, die Sie kennen sollten.

Der erste ist Body Shopper. Sie sind Außenseiter. Die bekanntesten Vertreter: Luxoft und EPAM. Sie stellen Leute ein und verkaufen sie dann an alle Arten von Sberbanks weiter. Body Shopper bringen ihre Mitarbeiter direkt in das Büro des Kunden und können kaum von den Mitarbeitern des Kunden unterschieden werden. Oft ist der Bedarf dort geringer und das Gehalt höher. Aber Sie werden unter keinen Umständen arbeiten: Dies sind nicht die attraktivsten Projekte, für die der Endkunde keine Entwickler vom Markt bekommen könnte, sie werden das Arbeitsgesetzbuch aus der Ferne kennen und Sie selbst werden kein Vollzeitangestellter sein, wo Sie sein werden Arbeit (alle Arten von Goodies und Firmenfeiern werden an Ihnen vorbeigehen). Aber du brauchst das nicht?

Outsourcer sind Büros, die von den Endkunden gemietet werden, aber dort geht es nicht um Menschen wie Body Shopper, sondern um die Erfüllung von Aufgaben. Versuchen Sie daher in der Regel, Entwickler vom Kunden fernzuhalten und sich an neuen Projekten zu beteiligen. Dies ist ein sehr würdiger Ort der Arbeit, aber es wird nicht einfach, aber nicht unmöglich sein, mit solchen Erfahrungen dorthin zu gehen.

Lebensmittelunternehmen sind Büros wie Yandex und, verzeih mir, Kaspersky, die ihren Code als Endprodukt in einer Schachtel verkaufen. Es ist die Meinung, dass es am besten ist, hier zu arbeiten: Die Gehälter sind hoch, es gibt viele Extras, interessante Aufgaben, professionelle Teams. Wenn man freitags von kostenlosem Englisch und Bier hört, geht es höchstwahrscheinlich um sie.

Als nächstes kommen die Banken und Versicherungen. Hier kann alles ganz anders sein: Banken haben in der Regel ein riesiges gruseliges Erbe, zu dem sich niemand begeben möchte, und Projekte mit neuem Modestil, in denen offene Stellen irgendwie geschlossen sind. Sie verstehen, zu Ihnen in der ersten Gruppe. Manchmal ist ihre Selbsteinschätzung jedoch übertrieben, wie zum Beispiel "ein missionskritisches System - kein Ort für die Jones". Pass nicht auf sie auf, das ist bei weitem nicht alles.

Natürlich beschreibt diese Liste nicht den gesamten Arbeitsmarkt, es gibt alle Arten von Start-ups, Einzelhandelsunternehmen und viele, viele andere.

Erstens, lüge nicht über Erfahrung. Glauben Sie mir, auch wenn Sie "aus Versehen" bei einem technischen Interview mit einer Mitte verwechselt werden - bei der Arbeit werden Sie immer noch ein Juni sein. Daher sollten Sie in Ihrem Lebenslauf nicht erfahren, dass Sie bereits 15 Jahre als Java-Entwickler gearbeitet haben, und die Tatsache ausnutzen, dass im Titel Ihres vorherigen Beitrags 1C nicht erwähnt wurde. Es können jedoch einige Schritte unternommen werden, um die HR-Barriere zu überwinden. Halten Sie Ihre 1Snoe-Vergangenheit nicht aus. Bei einigen kürzlich ausgeführten Jobs können Sie einfach "Programmer" oder "Developer" schreiben und die Buchstaben "1C" irgendwo in der Beschreibung einfügen. Sie geben den Lead nicht aus, aber HR kann ihn kaufen.

Zweitens wäre es ein Fehler, Ihren zukünftigen Arbeitgeber im Dunkeln darüber zu halten, wie Sie sich selbst trainiert haben. Schreiben Sie ein halbes Ausbildungsjahr als getrennten Arbeitsplatz (ganz oben) mit dem Schnittpunkt in Bezug auf die Zeit mit dem letzten Arbeitsplatz. Nennen Sie es "Java-Entwickler", der Ort der Arbeit ist "Selbststudium" oder "Heimprojekte" und führen Sie die Technologien auf, die Sie versucht haben. Gib einen Link zu dem Profil auf dem Hacker.

Drittens: Überlegen Sie sich einen überzeugenden Grund, warum Sie nach Java wechseln möchten. Ich rate nicht zu sagen: "Ich bin es leid, Buchhalter zu pflegen" oder "Ich möchte nicht, dass mein Gehalt mit dem Wechselkurs des Rubels zusammenbricht" und noch mehr: "Ich möchte aus diesem Gr ... herauskommen." Das Thema Entwicklung ist am besten geeignet: Sie sagen, dass ich dort bereits alles gesehen habe - wir müssen weitermachen.

Viertens: Sie sind ein Juni und Leute wie Sie, jedes Jahr veröffentlichen sie von Instituten viel mehr als es freie Stellen im Juni gibt. Gleichzeitig sind die Institute ohne Familie und Kinder und bereit, bei der Arbeit und bei der Arbeit zu leben, und sie müssen keine Hypothek bezahlen. Ok, Erfahrung ist auf Ihrer Seite, aber es ist keine relevante Erfahrung und es wird nicht als von großem Wert angesehen. Daraus folgt, dass Sie den erwarteten sn nicht schikanieren können. Wenn Sie nicht vom Juni-Gehalt leben können, ist 1Snick für ein Viertel der Wette eine gute Option für das erste Jahr.

Gehen Sie durch die Hunde, erinnern Sie sich an die Fragen, finden Sie Antworten darauf, und gehen Sie dann noch einmal durch die Hunde. Meiner Meinung nach sind 1-2 technische Interviews pro Woche akzeptabel, um die gesammelten Erfahrungen zu verarbeiten und die Suche nicht zu sehr zu verzögern.

Juni Arbeit


Das Wichtigste hier ist Tim Lead. Du hättest ihn bei tech.sobes treffen sollen und „er hätte dich wählen sollen und du hättest ihn wählen sollen“ (c). Es ist sehr wichtig, diese Chemie zu spüren. Dies ist eine Person, deren jedes Wort in den nächsten Jahren Sie zuhören, sich erinnern und erfüllen müssen. Diese Person wird Sie in die Höhe der Java-Entwicklung ziehen und Sie in die tiefsten Nuancen dieser Magie einweihen. Und von ihm, vielleicht sogar mehr als von dir, kommt es darauf an, wie cool du werden wirst und wie schnell.

Also, mein junger 1C-Spitzname, wenn Sie wissen, warum? Jetzt wissen Sie immer noch, wie? Eine Reise von tausend Meilen beginnt mit einem Schritt. Mach weiter!

Source: https://habr.com/ru/post/de479310/


All Articles