關鍵要點
沒有人會在做之前真正知道如何完成一項工作。大多數人通過某種奇怪的、與經驗、人脈和努力工作相關的組合獲得夢寐以求的職位。真正的經驗來自於工作本身。那時,你才有機會將你所知道的知識應用到實際問題中,並看到它獲得回報。以下四位程序員以不同的方式獲得了他們的第一份 Python 工作。有些人有之前的 Python 經驗,有些人沒有。有些人知道自己在做什麼,有些人則後來才發現。了解他們是如何獲得第一份 Python 工作的,或許可以幫助你獲得你的第一份工作。以下是他們的做法。想要提升你的 Python 技能並在快速發展的市場中脫穎而出?查看 SitePoint Premium!你會發現一些入門書籍(如《Python 學徒》)和一些可以讓你掌握就業技能的書籍(如《Python 前端測試》)。通過《Python 大師》提升你的技能,並訪問一個不斷增長的圖書館,其中包含 400 多本關於網頁設計和開發的書籍和課程。 ——Nathan Grieve
第一份 Python 工作:數據科學家 Nathan 獲得工作的途徑
在我完成物理學學位的同時,我申請了一家小型科技創業公司的數據科學工作,該公司主要使用 Python(和 SQL)。問題是,當時我沒有 Python 經驗。面試時,我用偽代碼來回答編程問題,以證明我理解這些概念。偽代碼使用編碼邏輯,而不使用編碼語法。因此,通過使用與 Python 相同的邏輯,我可以展示對概念的理解,而無需針對任何特定語言。例如,任何計算機科學家都可以理解下面的簡單偽代碼,但除非他們以前使用過 Python 函數,否則他們可能無法理解 Python 函數。
Python 代碼:
loop_index = 0 while loop_index < 5: print(loop_index) loop_index += 1
偽代碼:
loop_index = 0 while loop_index < 5: print(loop_index) loop_index += 1
偽代碼對人類來說也更易讀。它實際上與代碼並沒有太大區別,只是避免使用特定於語言的語法。而使用它奏效了!他們給了我這份工作。但當然,在我入職之前,我必須真正學習這門語言。
Nathan 的建議
對於那些想進入這個領域的人,我的建議是盡快解決實際問題。在我共同創立的Project Hatch 公司,我們分析初創企業並為他們提供分析數據以幫助其業務增長,我們確實會聘用自學成才的人,但只參加Codecademy 式課程的人與真正運用知識的人之間存在巨大的技能差距。我會說,繼續完成 Codewars 的挑戰,直到你達到不需要反複查找應該使用哪些參數以及它們的順序的程度。如果你正在尋找需要解決的實際問題,可以去 Kaggle,那裡有大量的數據集可以使用,並練習從中提取有用的信息。例如,如果你正在查看食物食譜的數據集,可以將數據集與當地食品價格對齊,以查找所有製作低於 5 美元的餐點的食譜。當你準備好迎接真正的挑戰時,可以嘗試 Kaggle 競賽。你會發現需要解決的問題和願意付費的公司。這些挑戰一開始會非常困難,但你將在論壇上與其他計算機科學家討論解決方案的過程中學到很多東西。 ——Bill Price
第一份 Python 工作:網絡安全架構師 Bill 獲得工作的途徑
作為 NASA 網絡管理員和安全工程師,多年來我一直為 Python 開發人員提供支持,所以在新的機會出現之前,我就已經了解了這門語言的強大功能和靈活性。 2017 年,一家大型金融機構聯繫我,邀請我加入一個團隊,該團隊負責開發一個新的評估程序,以識別特定業務流程及其支持應用程序中的監控差距。我相信他們找我,是因為我的:
有趣的是,在我不知情的情況下,這竟然成了我的第一份 Python 工作。我們的團隊需要對差距進行分類,確定可能的緩解措施,並將我們的發現報告給領導層。我們首先將應用程序映射到每個業務流程,但很快意識到我們需要審查的不同數據集(應用程序和硬件清單、Qualys 漏洞掃描、每日BladeLogic 報告、Splunk 日誌等)對於導入到Excel 電子表格中來說太大了。此外,我們無法訪問傳統的 UNIX 文本處理資源,也無法訪問我們的工作站的管理權限,我們可能在那里安裝了任何新的數據管理工具。而且我們沒有預算購買新工具。但是,我們可以訪問 Python、一整套 Python 庫,並且可以使用現有的企業支持軟件來安裝 Python。我一開始並不了解 Python。我必須在工作中學習,幸好我做到了。 Python 對我們能夠根據業務流程使用的應用程序解析硬件清單、隔離與適當硬件相關的漏洞以及識別在支持一個或多個應用程序的任何設備上運行的未授權服務至關重要。
Bill 的建議
我對有抱負的 Python 開發人員的建議有三點。首先,熟悉 Python 中可用的不同庫,這些庫可能有助於你未來的工作。我們的團隊廣泛使用了 mechanize、cookielib、urllib、urllib2 和 csv。如果你正在關注機器學習項目,請注意 TensorFlow、Numpy 和 Keras 等庫。接下來,留意需要自動化的流程,或者現有自動化可以改進的地方。很可能有機會應用 Python。最後,準備一本好的 Python 參考書,以補充所有可用的在線資源。我推薦 T.J. O'Connor 的《Violent Python》。 ——Vinay Naik
第一份 Python 工作:全棧開發人員 Vinay 獲得工作的途徑
當我開始我的 Python 程序員職業生涯時,我是一個完全的新手,對 Python 和其他編程語言只有非常基本的了解。為了準備面試,我連續幾天在互聯網上學習 Python 的基礎知識。我瀏覽了幾乎所有關於“面試中被問到的十大 Python 問題”之類的文章的變體。但事實證明,我在第一份工作(為基於雲的軟件工作的全棧開發人員)的面試官知道初學者用來通過面試的所有常用技巧,並且他看過我讀過的相同文章。謝天謝地,他只問我一些實際應用問題和一些基本的 Python 語法。他的重點是檢查我是否具有正確的分析思維和良好的邏輯。他對我說:“任何開發人員都可以從基本的Google 搜索中復制語法。只有邏輯才能區分優秀開發人員和糟糕的開發人員。”正是這種邏輯讓我得到了這份工作,但這只是我必須通過的第一次測試。作為一名全棧開發人員,我不僅必須學習 Python 作為後端語言,還必須學習 Angular、HTML、CSS、JavaScript 等前端技術。在一周內鞏固我對所有這些技術的掌握是一場噩夢。另一個問題是,一旦我找到工作,他們期望我立即掌握所有知識,並直接把我推入一個有嚴格時間限制的項目中。我花了六個多月的時間才進入狀態,並對任務和工作量感到滿意。大多數人未能理解的一件非常重要的事情是,我們的教育並沒有為開發人員的職業生活中面臨的挑戰做好準備。完全取決於我們自己投入時間,學習和發展我們的技能。
Vinay 的建議
不要只學習語法和閱讀有關這門語言的信息。相反,實現一些簡單的應用程序,並嘗試學習該語言的一個框架。只有當你開始實現時,你才會提出更多問題並真正學習這門語言。你面臨的問題的答案將使你精通這門語言。 ——Jordan Rowland
第一份 Python 工作:技術支持 Jordan 獲得工作的途徑
我沒有大學學位,大約 22 個月前開始自學 Python。 2015 年,我在一家餐館做點餐員。我技術上比較擅長,但沒有做過任何編碼。我基本上是一個失敗者,酗酒嚴重,沒有真正設定和追求目標的能力。六個月後,我被這家公司解雇了。這是一個巨大的幸運。之後,我得到了我的第一份與電腦相關的工作。我被一家科技創業公司聘為支持人員,但這並不需要太多技術技能,只需要能夠以中等水平使用電腦。我在那里工作了 20 個月,然後又被解雇了,這也是一個巨大的幸運。在我停止在那里工作幾個月前,我已經戒酒了,很快就找到了另一份工作,為另一家創業公司做支持工作。但我很快了解到,這份工作將會搬遷,這意味著我必須找到另一份我可能會討厭的工作。在我離開工作之前,我有幾個月的時間,所以我開始自學 Python,每天下班後使用《用 Python 自動化無聊的工作》。離開那份工作後,我有兩個月的失業時間,我繼續自學 Python,以及一些網頁開發。我申請了一家使用 Python 作為後端技術的網絡應用程序的支持職位,我在面試中提到我熟悉 Python,並且能夠與他們討論他們的程序(它嚴重依賴於網絡抓取)。他們錄用了我。在那里工作期間,我自學了 SQL,並利用晚上時間參加了 Udemy 課程。這不是我的工作描述的一部分,但我正在使用 Python 並編寫腳本,以提高我的工作效率,例如對應用程序收集的數據進行質量保證。我每天下班後仍在繼續學習和編碼,熟悉數據科學,並構建更大、更健壯的程序。在那份工作期間,我開始尋找作品集的想法。我的計劃是建立我的作品集,然後一年後開始申請開發人員職位。我認為尋找想法的好地方是一個名為 AngelList 的招聘網站,在那裡我可以找到使用 Python 作為其技術棧的公司,然後構建與他們的產品類似的東西。當我搜索這些職位時,我發現了一個與我正在做的工作(支持)類似的職位發布,但它非常強調 Python 和 SQL。而且薪水高得多。我一時興起就申請了;我的本意甚至不是要找新工作。我與產品經理進行了電話預面試,進行了一次小型技術測試,然後與一些開發人員和其他產品經理進行了三個小時的面試。我最終被錄用了,所以我離開了我的工作,去做了我的第一份正式在工作描述中要求並需要編寫 Python 代碼的工作。我現在仍然在那裡,最近轉為全職後端 Python 開發人員。我開始學習 Python 以來兩年整的日期是 2020 年 2 月。我下班後幾乎每天都在學習,提高我的技能並理解更高級的概念。
Jordan 的建議
你需要為此努力。你需要為了未來的回報而放棄短期內的快樂和便利。在我看來,如果你投入時間,最終它會得到回報。我沿途確實獲得了一些幸運的突破,而且我最終處於一個完美的職位,可以被我現在的公司錄用,但這仍然會發生在我身上,因為我為此非常努力。我沉浸在編碼文化中,訂閱了 subreddits,收聽了播客,並閱讀了書籍。編碼成了一種痴迷。
總結
儘管這些程序員都採取了不同的途徑來獲得他們的第一份 Python 工作,但他們的故事有很多相似之處。
通過 SitePoint Remote 尋找你的下一份遠程 Python 工作,我們為開發人員、設計師和數字專業人員精心挑選最好的遠程工作。
關於獲得第一份 Python 工作的常見問題 (FAQ)
要獲得你的第一份 Python 工作,你需要對 Python 編程語言有紮實的理解。這包括 Python 語法、數據結構、控制流和錯誤處理方面的知識。此外,你應該熟悉 Python 庫和框架,如 Django、Flask 和 Pandas。了解數據庫(SQL 和 NoSQL)以及 HTML、CSS 和 JavaScript 等前端技術的知識也是一個加分項。除了技術技能外,解決問題的能力、良好的溝通能力以及對敏捷方法的理解也可能是有益的。
有幾種方法可以獲得 Python 編程的實踐經驗。你可以從事個人項目,為開源項目做貢獻,或者參加編碼挑戰和黑客馬拉松。這些活動不僅可以幫助你在現實場景中應用你的 Python 知識,還可以為你提供可以向潛在雇主展示的技能的實質性證據。
要讓你的 Python 求職申請脫穎而出,你需要有效地展示你的 Python 技能。這可以通過包含你的 Python 項目的作品集、突出你對開源項目的貢獻或提供指向你在 GitHub 等平台上的 Python 代碼的鏈接來實現。此外,來自知名平台的認證也可以為你的申請增加價值。
作為初學者,你可以申請初級 Python 開發人員、Python 測試工程師或數據分析師等入門級 Python 工作。這些角色通常涉及編寫和測試 Python 代碼、調試 Python 應用程序或使用 Python 分析數據。
為了準備 Python 工作面試,你應該複習你的 Python 知識,包括 Python 語法、庫和框架。你還應該準備好解決編碼問題,因為許多雇主使用編碼測試來評估候選人的 Python 技能。此外,複習常見的 Python 面試問題並練習你的回答也可能會有所幫助。
Python 工作的平均工資差異很大,這取決於職位、公司和地點。但是,根據 Indeed 的數據,美國 Python 開發人員的平均年薪約為 110,000 美元。
是的,初學者有遠程 Python 工作機會。許多公司都接受遠程工作,尤其是在科技行業。 Upwork、LinkedIn 和 Indeed 等網站經常列出遠程 Python 工作。
要隨時了解最新的 Python 開發,你可以關注與 Python 相關的博客,加入 Python 社區,參加 Python 會議和聚會,並參加在線 Python 課程。
是的,即使沒有計算機科學學位,你也可以獲得 Python 工作。許多雇主重視實踐經驗和技能,而不是正規教育。但是,擁有計算機科學或相關領域的學位可能是一個加分項。
Python 編程提供了許多職業發展機會。隨著經驗的積累,你可以晉升到高級 Python 開發人員、Python 架構師或數據科學家等職位。你還可以專門從事網頁開發、數據分析、機器學習或人工智能等領域。
以上是四個程序員如何獲得他們的第一個Python工作的詳細內容。更多資訊請關注PHP中文網其他相關文章!