python - 一個PHP出身碼農工作5年各種語言都學感覺不倫不類心慌怎麼辦?
我,大專非科班出身,自學PHP+js入行。今年第5個年頭,在2家公司待過,第一家待了3年,現在這家已經滿2年。第一家公司學習沉澱了lnmp環境下WEB開發前後端的基本技能,學了python.和JAVA,JAVA只在一個項目中的部分任務中用過,如今只剩下模糊的記憶。
換了工作後最近2年,自己計劃的學習路線一度被打斷,一直被公司的業務牽著鼻子走,先後學習了lua,openresty.這些小腳本還好,要命的是最近半年接手公司的搜尋服務,後端用C/C++維護ES索引。 C/C++學了點皮毛,ES搜尋引擎也學不好,工作都要焦頭爛額了,一度想離職,只是考慮到隨便離職會給自己帶來糟糕的履歷。
像我這樣簡直不倫不類了,樣樣會點沒樣精通(至少學來的僅用在堆業務邏輯上面)。或者說給自己定個大目標,後端全端程式設計師,這些都要學,只是目前還不夠精通而已。 。 。
回覆內容:
我,大專非科班出身,自學PHP+js入行。今年第5個年頭,在2家公司待過,第一家待了3年,現在這家已經滿2年。第一家公司學習沉澱了lnmp環境下WEB開發前後端的基本技能,學了python.和JAVA,JAVA只在一個項目中的部分任務中用過,如今只剩下模糊的記憶。
換了工作後最近2年,自己計劃的學習路線一度被打斷,一直被公司的業務牽著鼻子走,先後學習了lua,openresty.這些小腳本還好,要命的是最近半年接手公司的搜尋服務,後端用C/C++維護ES索引。 C/C++學了點皮毛,ES搜尋引擎也學不好,工作都要焦頭爛額了,一度想離職,只是考慮到隨便離職會給自己帶來糟糕的履歷。
像我這樣簡直不倫不類了,樣樣會點沒樣精通(至少學來的僅用在堆業務邏輯上面)。或者說給自己定個大目標,後端全端程式設計師,這些都要學,只是目前還不夠精通而已。 。 。
我也是野路子出身, 技能加點也是跟著公司業務走哪打哪, 遊走於各種框架之間, 疲於奔命苦不堪言. 偶在知乎看到蕭井陌的這篇專欄文章, 深感自己基礎不厚, 現在在Coursera上跟一些名校的基礎課, 已經搞定所有Python
課程, 正在惡補編譯原理, 算法等基礎知識, 明顯的進步是現在也可以自己造點輪子了, 雖然還很拙劣.
題主能意識到自己的問題已經比很多渾渾噩噩混日子的碼農強了不少, 我覺得不管科班非科班程序員以下幾點非常重要:
英語(必須的)
基礎(各種框架輪子滿天飛, 其實萬變不離其宗)
面向Google / StackOverflow編程(就是有輪子先用輪子交活, 騰出時間惡補技能點)
Stay hungry, Stay foolish.
保重身體
以上, 共勉~
個人覺得未免題主有點太浮躁了,而且走入了一個很大的誤區,感覺學好一門語言或學精一門才是一個程式設計師的必經之路?
個人建議千萬別去這麼想問題,否則你可能一輩子都是一個程式設計師
萬事看本質,程式設計師的價值在哪裡?
就是解決問題的能力,所以語言、架構等等只是解決問題的輔助工具,還要從更廣更全面的去考慮問題,這樣你的思路才能拓寬。
舉例:不要為了公司說要做搜索就去做搜索,先考慮為什麼要做搜索,公司現狀、人員配備、後續維護等等,然後在考慮技術方案,比如除了ES還有沒有其他方案?還是高大上的方案介入太早還要帶來龐大的工作量?是否可以現有技術堆疊內的解決方案例如看上去有點Low的xunsearch,然後碰到了性能瓶頸的時候再去調研新的東西,因為已經在生產了,或許有足夠的時間去研究ES,同時踩過搜尋的坑,發現去研究去選型的時候更有專注點了
另外個人認為程式設計師的發展路線應該是先廣再深。只有系統需要深入的時候才會深,這個要看你公司的發展以及定位。
但是絕大部分都是「廣」這一步就夠了,因為現狀決定沒有那麼多的公司那麼多的系統需要非常深入的去研究語言本身,更多時候解決系統問題或者技術問題,更多的時候瓶頸在於思路而不是語言。
由於每個人對廣和深理解都有差別,所以以上都是個人建議,僅供參考。
或許你應該補補科班。
例如:
http://study.163.com/curricul...
不用太深入,可以選擇系統的了解一下。
然後根據你的選擇再確定方向。
能理解你的心情,目標肯定是要的,不然這種下去只會增廣視野缺沒有深度的積累.
給出一些個人建議
1.深入某種語言學習,從語言層面到框架,從寫業務到寫基礎架構.
2.了解各種環境,例如PHP的nginx,appache,你至少要熟練
3.熟悉語言相關技術,比如redis,並發,優化等
其實總結就一句話,人的時間和精力是有限的,能做好一件事情,學精一門語言就足夠了.
科不科班沒關係,工作的東西學校根本教不了。
技術這東西永遠學不完,現在工作引導學習的很多,這也正常。如果有什麼工作可以按照自己的學習計畫下去,那根本不可能。而且技術更新換代很快,沒準你學完就不流行了。
程式設計的本質是為了更好的為人們去服務,如果單純的考慮自己學會了什麼,能牢固掌握什麼,工資可以達到什麼程度來衡量自己的話,那根本不准確。一般來說,前期無所謂吧,換一份工作換一種語言或技術,多學點是沒錯啦。不過必須深入去理解這項工作的本質,累積經驗,學以致用。如果換了多份工作,感覺每次都要重新學起,而且基本上都是皮毛的入門,這只能說學的不深了,需要好好總結一下了。
我的想法是,找一種自己有興趣的來學,專門學精。皮毛學會了,就學優化,學軟體開發的流程,學團隊管理,深入到軟體開發的所有環節。
真的,你已經到了需要係統知識(科班知識)的時候了。
系統知識對你解決沒有具體細節問題可以作用並不是太明顯,但是對於管理項目,管理自己的知識體系,宏觀的看問題很有幫助。
另外,全棧什麼的就先聽聽吧,每一個真正全棧都有至少一個特別精的專業方面,因為語言的相同所以對相關業務稍作研究也會有不錯的成績;而所有方面都只會一點皮毛的那不算全棧,說好聽的叫工程師助理,難聽的其實就是打雜的。
建議如果立志做一個全棧,先是確定一個專的點,先做專後做廣。一口吃不成個胖子。
還有,不要被公司的業務牽制,公司不需要對你的未來負責。你自己需要鑽研什麼和公司給你的任務是什麼並不是必然相關,充分利用好你的業餘時間。等你某項專精後,你才有權利選擇更適合你能力的任務。
身為剛入行的新人我也幫不到了題主你什麼,給你加個油~
所謂技多不壓身,總會有一天你會覺得前面學的「皮毛」並不沒有白學。
程式設計師要有廣度更要有深度,建議你找到自己的興趣所在深入研究,共勉。
首先題主你要有目標,就像樓上說的全才還是專才?你要考慮清楚。
誰說辭職就會有糟糕的履歷的?如果你覺得自己想要做專才,在一門技術上鑽研到底,把一門語言弄精弄通,那麼公司的發展前景和你的人生規劃產生矛盾,你辭職離開也是帶著浩然正氣的。反之,如果你選擇全才,想創業,那麼你的工作經歷剛好和你的目標相同,也不會有什麼怨言了。 (說一點題外話,我認識一個5年的PHP大牛,在5年的瓶頸期,一直“居無定所”,基本三個月一跳槽,還是有用人單位會用,他說,公司不合適就走,都這個年代了,還憋屈自己在一個和自己人生價值觀、世界觀不同的公司裡,我們還是60、70年代的人嗎)
人生道路上,老天不會只給你一個選擇,他會給你多種選擇,至於你要選擇哪一條,都是你自己的路。想好再出發,堅持到底!題主加油~
所謂技多不壓身也是在精力範圍內搞。樓主,我覺得你可以離職。
天道酬勤,厚積薄發
全而精,簡而潔,加油! ! !
謝謝各位大神指點,許多回覆很有參考性的指點意義!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP在過去幾十年中塑造了網絡,並將繼續在Web開發中扮演重要角色。 1)PHP起源於1994年,因其易用性和與MySQL的無縫集成成為開發者首選。 2)其核心功能包括生成動態內容和與數據庫的集成,使得網站能夠實時更新和個性化展示。 3)PHP的廣泛應用和生態系統推動了其長期影響,但也面臨版本更新和安全性挑戰。 4)近年來的性能改進,如PHP7的發布,使其能與現代語言競爭。 5)未來,PHP需應對容器化、微服務等新挑戰,但其靈活性和活躍社區使其具備適應能力。

Golang和C 在性能競賽中的表現各有優勢:1)Golang適合高並發和快速開發,2)C 提供更高性能和細粒度控制。選擇應基於項目需求和團隊技術棧。

PHP是一種服務器端腳本語言,用於動態網頁開發和服務器端應用程序。 1.PHP是一種解釋型語言,無需編譯,適合快速開發。 2.PHP代碼嵌入HTML中,易於網頁開發。 3.PHP處理服務器端邏輯,生成HTML輸出,支持用戶交互和數據處理。 4.PHP可與數據庫交互,處理表單提交,執行服務器端任務。

在 VS Code 中,可以通過以下步驟在終端運行程序:準備代碼和打開集成終端確保代碼目錄與終端工作目錄一致根據編程語言選擇運行命令(如 Python 的 python your_file_name.py)檢查是否成功運行並解決錯誤利用調試器提升調試效率

PHP的核心優勢包括易於學習、強大的web開發支持、豐富的庫和框架、高性能和可擴展性、跨平台兼容性以及成本效益高。 1)易於學習和使用,適合初學者;2)與web服務器集成好,支持多種數據庫;3)擁有如Laravel等強大框架;4)通過優化可實現高性能;5)支持多種操作系統;6)開源,降低開發成本。

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

VS Code 全稱 Visual Studio Code,是一個由微軟開發的免費開源跨平台代碼編輯器和開發環境。它支持廣泛的編程語言,提供語法高亮、代碼自動補全、代碼片段和智能提示等功能以提高開發效率。通過豐富的擴展生態系統,用戶可以針對特定需求和語言添加擴展程序,例如調試器、代碼格式化工具和 Git 集成。 VS Code 還包含直觀的調試器,有助於快速查找和解決代碼中的 bug。

VS Code 在 macOS 上表現良好,可提升開發效率。安裝和配置步驟包括:安裝 VS Code 並進行配置。安裝特定語言的擴展(如 JavaScript 的 ESLint)。謹慎安裝擴展,避免過多導致啟動變慢。學習基本功能,如 Git 集成、終端和調試器。設置合適的主題和代碼字體。注意潛在問題:擴展兼容性、文件權限等。
