Erst kürzlich stellte eine Klassenkameradin von Coding Girls diese Frage:
Die tägliche Entwicklung im aktuellen Unternehmen wurde vom harten Modus getrennt, das heißt Es besteht kein Druck, jeden Tag ein Geschäft zu schreiben. Die Codequalität ist auch in Ordnung, aber nach dem Schreiben des Geschäfts wird es in Ordnung sein. Wie sollte dies verbessert werden?
Eigentlich habe ich diese Frage aufgeworfen, als ich mehr als ein Jahr lang gearbeitet habe. Ich weiß nicht, ob jemals jemand das gleiche Problem hatte. Das heißt, wie können Sie sich verbessern, nachdem Sie Ihren aktuellen Job erledigt haben? Dieses Problem hat nichts mit dem Geschlecht zu tun und kann jeden treffen. Deshalb möchte ich immer noch auf der Grundlage meiner eigenen Erfahrungen schreiben. Wenn es Ähnlichkeiten gibt, ist das völlig normal.
Das ist die PHP-Community, wir sprechen hier basierend auf PHP. Ich glaube, dass 70 % der PHP-Neulinge oder auch Neulinge im Programmieren zuerst mit dem Framework in Berührung kommen. Wie ich. Laravel ist ein äußerst hervorragendes Framework, das es dazu bringen kann, eine Studentin, die nicht einmal SQL schreiben kann, in das Programmieren zu verlieben. Viele sofort einsatzbereite Tools und verschiedene technische Tutorial-Beiträge machen es für uns überflüssig, unsere eigenen Abschlussarbeiten auf der Grundlage einer eingehenden Untersuchung ihrer Prinzipien zu schreiben, unser eigenes Selbstvertrauen und unser Gefühl der Präsenz in der Codewelt aufzuschreiben und Betreten Sie ab sofort die Welt des Codes.
Sie beginnen also mit der Arbeit mit dem gerade erlernten Umgang mit dem Framework und einigen verstreuten und verständlichen Kenntnissen, die Sie in der Schule gelernt haben. Nach der Arbeit stellen Sie plötzlich fest, dass Ihr Verständnis des Frameworks nicht tief genug ist, und beginnen daher, verschiedene Dokumente von Grund auf zu lesen:
● PHP-Dokumentation und verstehen die Verwendung jeder Funktion .
● Composer-Dokument, fangen Sie an, verschiedene trendige Pakete zu werfen. (Ähnliche Videoempfehlungen: PHP Composer-Video-Tutorial)
● Laravel’s Dokumentation, wie man ORM verwendet, um komplexes SQL zu schreiben, was zum Teufel ist Inversion of Control? (Verwandte Videoempfehlungen: Die neuesten fünf Laravel-Video-Tutorial-Empfehlungen im Jahr 2019)
● Redis-Dokumentation , Wenn Sie es lernen, ist es einfach, Optimierungen wie das Zwischenspeichern geplanter Aufgabenwarteschlangen zu starten. (Empfohlener Kurs: Redis-Video-Tutorial)
● Vues Dokumentation, vielleicht haben Sie das Gefühl, dass es nicht ausreicht, nur ein wenig Front-End-Wissen zu beherrschen, also fangen Sie wieder an, herumzuwühlen. (Verwandte Videoempfehlungen: Die neuesten 5 vue.js-Video-Tutorial-Auswahlen im Jahr 2019)
Auch wenn sich das Geschäft des Unternehmens weiterentwickelt, werden Sie Ihrem Team folgen, um einige der Dinge zu kontaktieren, die sind für Sie interessant. Es gibt immer noch sehr fortschrittliche Technologien wie Microservices, Verteilung, Lese-Schreib-Trennung, Master-Slave-Backup usw. Sie haben sogar begonnen, Open-Source-Projekte zu schreiben, waren aber nicht bereit, sie zu veröffentlichen.
Langsam haben Sie das Gefühl, dass Sie besser werden, weil Sie die Anforderungen Ihrer Produktklassenkameraden schnell erfüllen können. Auch wenn Ihre Testklassenkameraden Fehler melden, liegt das daran, dass Sie das Anforderungsdokument nicht sorgfältig gelesen haben Sie haben es versehentlich falsch geschrieben, verursacht durch Symbole. Die Arbeit wird immer weniger schwierig, sodass Sie anfangen, sich unzufrieden zu fühlen. Wenn das Unternehmen Ihnen zu diesem Zeitpunkt keine weiteren Herausforderungen bietet, werden Sie über einen Jobwechsel nachdenken.
Aber im Allgemeinen besteht die Herausforderung eines Jobwechsels darin, das Arbeitsumfeld, die Organisation, die Rahmenbedingungen zu ändern oder sich um eine zusätzliche Sprache zu kümmern. Wenn Sie sich an all das anpassen, werden Sie sich wieder langweilen Keine Herausforderung und gleichzeitig haben Sie kein Interesse daran. Die sich wiederholenden und ermüdenden Überstunden erzeugen Langeweile und irgendwann haben Sie keine Lust mehr, auch am Wochenende keinen Code zu schreiben. Vielleicht kannst du Dinge ändern, um dir die Zeit zu vertreiben, wie zum Beispiel ein Musikinstrument zu lernen, dich zu verlieben, eine Katze großzuziehen, ein paar Flags zu erreichen ~~
Ist das wirklich gut? Du fängst an, dich das zu fragen. Auch wenn Sie viele Dinge tun können, gibt es dennoch viele Dinge, die Sie nicht tun können. Du beginnst das Gefühl zu haben, dass du mehr bist, als du bist, du gerätst in Panik, du fühlst dich verwirrt und ratlos. Du fängst also an, die Leute um dich herum zu packen und zu fragen: „Was soll ich tun?“ Aber wenn Ihnen jemand einen Berufs- und Jobwechsel vorschlägt, wollen Sie das nicht tun. Liegt es daran, dass du es liebst oder weil du nicht weißt, was du sonst tun sollst? Wie auch immer, ich hoffe, dass der folgende Inhalt Ihnen, die die gleichen Zweifel haben, einige Antworten geben kann.
Welche Frage haben Sie?
● Ist die Qualität Ihres Codes wirklich in Ordnung? Wie messen Sie die Qualität Ihres Codes? Was kann getan werden, um die Robustheit der Schnittstelle sicherzustellen? Wissen Sie, wie viele Anfragen und Parallelität die von Ihnen geschriebene Schnittstelle aushalten kann? Sie können Millionen von Daten verarbeiten, aber was ist mit mehreren zehn Millionen oder sogar Petabyte?
● Ist das Schreiben im Tagesgeschäft stressfrei? Haben Sie schon einmal die durchschnittliche Anzahl der Fehler gezählt, die Ihnen bei jedem Schreiben eines Funktionstests gemeldet werden? Wissen Sie, wie viele Personen die von Ihnen geschriebene Funktion nutzen? Ist die Funktion, die Sie geschrieben haben, für andere einfach zu verwenden? Hat die Funktion, die Sie geschrieben haben, in der Produktion jemals „unmögliche“ schmutzige Daten generiert?
●Zum Beispiel stürzte das System eines Tages plötzlich für mehr als zehn Minuten ab und der CTO und mehrere technische Teamleiter griffen ein, um das Problem zu lösen. Haben Sie jemals versucht zu verstehen, warum es zusammengebrochen ist? Wie kann man es lösen? Inwieweit verstehen Sie? (Wenn Sie beispielsweise über langsames SQL verfügen, wie können Sie dann das Problem der durch langsames SQL verursachten Systemüberlastung lösen? Wie entsteht langsames SQL? Wie vermeide ich langsames SQL im täglichen Leben? Wie können Sie herausfinden, dass es sich um langsames SQL handelt? der Absturz?)
● Schauen Sie sich das Rahmendokument an. Reicht es aus, damit vertraut zu sein? Warum ist das Framework von Laravel so konzipiert? Warum sagen wir alle, dass es gut ist? Wie unterscheidet es sich von anderen Frameworks? Haben Sie schon einmal den zugrunde liegenden Code durchgesehen?
● Welche Art von Algorithmen werden hinter PHP-Funktionen verwendet, um deren effizienten Betrieb sicherzustellen? Hast du es jemals verstanden?
Wenn Sie den schwierigen Modus verlassen, liegt das daran, dass die Dinge einfach sind, oder liegt es daran, dass Sie sich in den einfachen Modus versetzen?
Erweitern Sie weitere Fragen basierend auf den oben gestellten Zufallsfragen, und Sie können viele Inhalte auflisten, die Sie lernen müssen.
● Wissen Sie wirklich, wie man MySQL optimiert? Was ist das Prinzip der Optimierung? Warum haben einige SQL-Anweisungen die gleiche Logik, aber so große Leistungsunterschiede? Wie stellt das Framework eine Verbindung zur Datenbank her und wie werden Transaktionen abgewickelt? Warum beschleunigt das Hinzufügen eines Index Abfragen? Wie können Indizes besser genutzt werden? Wie funktioniert „Ordnung nach“?
● Wissen Sie wirklich, wie man Nginx verwendet? Wissen Sie neben der Verwendung einfacher Bereitstellungsprojekte auch, wie Sie einen Reverse-Proxy einrichten, um einen Lastausgleich zu erreichen? Wie gehe ich mit domänenübergreifenden und Caching-Problemen um?
● Beherrschen Sie Linux? Werden alle Befehle verwendet? Was soll ich tun, wenn es im Linux-System eine große Anzahl unterbrechungsfreier Prozesse und Zombie-Prozesse gibt? Wie kann man schnell analysieren, wo der System-CPU-Engpass liegt? Wie funktioniert der Linux-Speicher? Wie läuft der Prozesswechsel ab? Wie viele Ideen gibt es zur Optimierung der Festplatten-I/O-Leistung? Wie analysiert man den Netzwerkverkehr mit tcpdump und Wireshark? Wie kann der durch DDoS-Angriffe verursachte Leistungsabfall abgemildert werden? Der Dienstdurchsatz ist erheblich gesunken. Wie kann man ihn analysieren?
Ich werde sie im Folgenden nicht im Detail auflisten, z. B. grundlegende berufliche Fähigkeiten wie Webprotokoll, Redis usw., interne Fähigkeiten in Bezug auf Datenstrukturen, Algorithmen, Entwurfsmuster usw. ~ Wenn Sie dies wirklich nicht tun Wissen Sie, welche Fähigkeiten Ihnen fehlen. Wenn Sie Ergänzungen benötigen, schauen Sie sich den Einstellungslebenslauf Ihres Lieblingsunternehmens für Ihre Lieblingsposition an~
Stellen Sie Fragen und kennen Sie Ihre eigenen Lücken. Der nächste Schritt besteht darin, Möglichkeiten zu finden, diese zu schließen sie selbst. Kennen Sie die Antwort auf die obige Frage? Verspüren Sie in diesem Moment den Drang, Baidu-Antworten zu kopieren und einzufügen? Wenn ja, dann suchen Sie die Antwort!
Im Zeitalter der gemeinsamen Nutzung von Ressourcen kann man sagen, dass die Lernkosten nahezu Null sind. Fast jede Frage, die Sie stellen können, wurde von jemandem gestellt und beantwortet. Wenn Sie ein systematischeres und tiefergehendes Verständnis benötigen, gibt es zahlreiche Bücher, Videos, Kurse und Online-Ressourcen. Sobald Sie es gekauft haben, schauen Sie es sich an und verschwenden Sie nicht das Geld, das Sie durch Überstunden verdient haben. Jedenfalls habe ich noch nie erlebt, dass mächtige Leute sagen, dass sie keine Bücher lesen.
● Im Zeitalter des Bezahlens für Wissen gibt es in großen Communities mittlerweile mehr oder weniger Tutorials zu betriebsbezogenen Fähigkeiten.
● Geeks und MOOCs haben auch viele gute Kurse, die ein tiefgreifendes Verständnis der zugrunde liegenden Prinzipien vermitteln
● Welche Bücher sollten Sie meiner Meinung nach lesen, um relevantes Wissen zu ergänzen? Wenn Sie wirklich niemanden finden, der Sie empfehlen kann, gehen Sie zu Zhihu
Lernen ohne nachzudenken wird zu Verschwendung führen, und Denken ohne Lernen wird zur Gefahr führen. Klug zu sein bedeutet, das Gelernte anzuwenden, wenn Sie es selbst verstehen und andere es verstehen können, und Sie können es Menschen erklären, die es nicht verstehen Verstehe es wirklich! Auch hier habe ich noch nie einen großartigen Menschen gesehen, der sein Wissen und seine Erkenntnisse nicht geteilt hätte. Nachdem Sie das Buch gelesen und den Videokurs besucht haben, zwingen Sie sich bitte unbedingt dazu, etwas zu schreiben. Hinweise zu Wissenspunkten, Gedanken nach dem Lesen usw. ~
Eine Person kann schnell gehen, aber eine Gruppe von Menschen kann weiter gehen. Meiner persönlichen Erfahrung nach ist mein technisches Wachstum untrennbar mit der Hilfe der Menschen in meinem Umfeld verbunden. Wegen meines Idols An Zhengchao kam ich nach Laravel China, traf den Webmaster Summer und lernte dann weitere Leute in der Community kennen. Durch wiederholten Austausch und Diskussionen lernte ich meine eigenen Defizite kennen und übte fleißig. Außerdem wusste ich, wer meine Fragen beantworten konnte, wer bereit war, mit mir zu diskutieren und wer mit mir zusammenarbeiten würde, um sich gegenseitig zu betreuen und gemeinsam zu wachsen. Auf diesem Weg bin ich den Menschen, die mich begleitet haben, den Menschen, die mir geduldig geholfen haben, und den Menschen, die bereit sind, ihre Zeit zu investieren, um mir Ratschläge zu geben, sehr dankbar.
Also treten Sie dem Kreis aktiv bei oder gründen Sie Ihren eigenen Kreis. Bitten Sie um Hilfe oder helfen Sie anderen. Youdao bedeutet Lehren und Lernen, gegenseitige Unterstützung und Wachstum. Man kann nicht von einer Person lernen, aber man sollte etwas gewinnen, wenn man einer Gruppe von Menschen zuhört. Nehmen Sie sich etwas Zeit, um Ihren eigenen Kompetenzkreis aufzubauen, und finden Sie tolle Leute, von denen Sie lernen können. Was ist daran so schwer?
Die Auflistung einer Reihe von Lernressourcen hier garantiert möglicherweise nicht, dass sie für Sie nützlich sind. Darüber hinaus trägt das Lernen selbst auch Etiketten wie Beharrlichkeit, Selbstdisziplin und Methoden, um uns realistisch in drei, sechs und neun Ebenen einzuteilen. Für Programmierer gibt es noch viel zu lernen, was die Geschwindigkeit der Wissensaktualisierung ausmacht uns... Immer unerwartet. Wie das Sprichwort sagt: Der Weg ist lang und lang, egal wie viele Jahre man gearbeitet hat, es ist ein notwendiger Weg im Leben, sich weiterzuentwickeln.
Wenn Sie es brauchen, können Sie eine Nachricht unter dem Beitrag hinterlassen, und ich oder die begeisterten Studenten in der Community werden mit Ihnen die Kurse und Bücher teilen, die wir gelernt haben und die für Sie nützlich sein könnten. Welche Bücher zum Thema Internet gibt es zum Beispiel, die es wert sind, gelesen zu werden? Die Community selbst ist ein großer Kreis, also nutzen Sie sie gut!
Darüber hinaus muss die Entwicklung eines Programmierers nicht nur die Technologie umfassen, sondern auch den Arbeitsplatz, das Management, das soziale Umfeld usw. ~ Wenn Sie die Möglichkeit haben, schreiben Sie ein weiteres „Karrierekapitel“! (Weil ich noch nicht qualifiziert bin~)
Der Autor dieses Artikels: JokerLinly, danke!
Empfohlene verwandte Artikel:
"Beherrschen Sie als ausgezeichneter PHP-Ingenieur alle diese Linux-Befehle? 》
《Bringen Sie Ihnen Schritt für Schritt bei, wie man nicht wartbaren PHP-Code schreibt》