擺脫對第一份工作的恐懼

擺脫對第一份工作的恐懼
電影《哈利波特與阿茲卡班的逃犯》劇照

這個世界的問題在於,受過教育的人充滿了懷疑,而白痴卻充滿了自信。

查爾斯·布考斯基

我最近教授了另一門一對一的程式設計課程。 與常規課程不同,主題不是語言建構或解決問題。 這位學生表達了他對未來就業的擔憂。 這個學生本身就很聰明。 其中一位來參加課程的人比任何人都更快地完成了整個程序,並提供了原創的解決方案,但他一直真誠地低估了自己。 在我看來,這種懷疑只是因為缺乏資訊而產生的。 我試著在課堂上即興填補這個空白。

問題是這樣的:

  • 每年都有很多學生從大學畢業,他們都會去找工作。 那是很多人。 他們可能會僱用最好的人,但我不會得到一個位置。
  • 如果我搞砸了並立即被解僱怎麼辦?
  • 如果在工作過程中他們發現我很蠢並把我踢出去怎麼辦?

這位學生並不是我第一個回答這類問題的人。 很多人都有這樣的情況,而且通常是在沒有準備的情況下就被告知的。 這次我決定把我的獨白寫在筆記本上。 我以為這會是幾段,但最終足以寫整篇文章。

這篇文章從我的角度並根據我的經驗描述了這個觀點。 然而,我們的世界非常多元化,其中發生著令人驚奇的事。 如果您不同意某些內容或您的體驗有所不同,請發表評論。

這篇文章是由一位開發人員為開發人員撰寫的。 但是,如果您計劃進行測試、管理或 IT 領域的其他工作,那麼其中的一些建議也會對您有用。

他們根本不會僱用你

當你想像許多大學每年都有數百名學生畢業時,你會感到不舒服。 如何與如此龐大的人群競爭?

不幸的是,並非所有畢業生都接受過足夠的技術訓練。 試著問你認識的一些大學生:他的小組中的人如何獲得「資料庫」或「演算法和程式設計基礎」等學科的考試入場券? 在一個30人的小組中,最多只有3-5個「先進」的人,他們實際上什麼事情都是自己做的。 其餘的人只需複製他們的內容,填入問題的答案並提交即可。

我自學時就是這樣。 不過,我的經驗可能不具代表性。 所以我向幾個不同的學生問了這個問題。 答案幾乎是一樣的。 受訪者來自不同的大學和學院。 我將把有關原因的討論超出本文的範圍。 我沒有足夠的時間進行全面的研究,所以我將根據現有的事實得出結論。

在數百名畢業生中,雇主感興趣的只有幾十人

很少有畢業生能夠為有能力、準備充分的學生提供真正的競爭。 然而,即使你認真學習,第一次面試後你很可能不會被錄用。 第二次之後,可能也是如此。 一切可能都會好起來,但最好不要為攻擊做好準備,而是為圍攻做好準備。 找工作的失敗只是一個改正錯誤並再次嘗試的理由。 我不會談論準備面試的事情。 網路上已經有很多關於這個主題的文章。 我只想說,面試中存在一些細微差別,您的培訓計劃可能不會花時間來解釋。 自己查找這些信息,可能會減少嘗試的次數。

瘋狂就是對同一個動作的精確重複。 一次又一次,希望改變

阿爾伯特·愛因斯坦

為了防止面試變得瘋狂,你需要在每次新的嘗試後進行改進。 記住或寫下面試過程中被問到的問題。 當您回到家時,請查看此清單並使用網路檢查自己。 這樣你就會明白你和麵試官在哪裡犯了錯。 這種情況也會發生。 回顧或研究你表現不佳的主題,然後再試一次。

此外,勞動市場有明顯的季節性。 聰明的公司會根據畢業日期來規劃招募。 春季的新人職缺比其他時間更多。 然而,此時的競爭更加激烈。

愚蠢——被解僱

當一個沒有經驗的人被聘用時,對他有相應的期望。

這份工作的新人預計將:

  • 通用技術基礎知識
  • 研究公司主題領域的具體情況
  • 掌握所使用的工具和實踐

一些組織為新來者提供有關所使用的技術、工具和本地程序的培訓課程。 例如,使用公司電子郵件時的良好禮儀、在 wiki 中更改文件的程式、使用 VCS 和錯誤追蹤器的本機功能。

還有技術入門課程,但其實實用性值得懷疑。 如果涉及到就業,那麼雇主會相信你有足夠的知識水平。 最好只是真誠地參加此類課程,作為一個小形式。 也許它們實際上會有一些有用的東西。

當你開始工作時,請記住,初學者絕對不會被委託去解決緊急、複雜且同時重要的任務。 這些屬性很可能只有其中之一。 或簡單但緊急:修復佈局,向某人發送文件,重現問題。 或很困難,但沒有任何完成的希望 - 以便初學者收集更多的耙子。 或者說很重要,但卻是實驗性的。 例如,一個大家想要很久的項目,卻找不到時間實施。

掌握這些工具的任務將是「困難的」和人為的。 這很可能是主系統的簡化版本。 此類任務使用與整個專案相同的技術堆疊和相同的領域術語。 在這種情況下,執行結果不會提供給最終使用者。 這可能會讓人失去積極性,但最好抵制這種情緒。 一項人為的任務必須認真完成,就好像專案的命運取決於它一樣。

解決第一個問題的結果將決定不在面試現場的同事對你的第一印象。

工具掌握任務的另一個選項是「在本機/測試環境上執行專案」。 有時,說明中描述了此過程。 但它們通常很舊,有些地方已經過時了。 如果您編寫新的說明並澄清已出現的問題,您可以為專案帶來真正的好處。 當然,在大學裡你必須為某些學科的報告寫一份 RGR。 這裡幾乎是一樣的。 該文件應反映啟動時需要執行的操作。

通常,在測試環境上執行產品的步驟如下:

  • 克隆儲存庫,切換到某個分支或標籤
  • 創建一些配置文件
  • 準備資料庫結構
  • 用測試數據填充它
  • 建置或編譯項目,
  • 按特定順序執行一組控制台腳本

系統在本地運作的過程中,難免會出現一些意想不到的問題。

發現問題的解決方案必須加入部署說明。 那麼下次按照說明操作時,這些問題就不再出現。 填寫設定檔和呼叫腳本時,需要注意在哪裡使用哪個值以及應該匹配什麼。 例如,如果一個專案是使用 CI 系統組裝的,然後透過腳本啟動的,那麼了解在哪裡寫入分支名稱或提交號碼就很重要。 該腳本恰好涉及傳輸資料庫的 IP 位址或 DNS 名稱、其登入名稱和密碼。 在這種情況下,您需要知道測試環境使用哪個位址、有哪些登入名稱以及需要為其指定哪些密碼。

有些任務對於經驗豐富的開發人員來說可能看起來很簡單,但對實習生來說卻是個挑戰。 這個是正常的。

開發人員每天都要解決技術問題。 有經驗的員工以前已經解決了很多問題,而新人還沒處理好。 最好的策略是將遇到的所有錯誤記錄在文件「解決${任務名稱}的問題」中。 對於每個問題,你需要對原因提出一個假設,在網路上找到解決方案並一一嘗試。 每次嘗試的結果也必須被記錄下來。

以文件形式註冊您的研究將使您能夠:

  • 從你的頭腦中卸下小細節。 例如,設定參數、DNS/IP 位址、控制台命令和 SQL 查詢。
  • 當任務持續幾天時記住“我昨天做了什麼”
  • 不要原地踏步。 你總是可以閱讀你之前所做的事情並了解你又回到了原來的問題
  • 明確回答問題:“你今天做了什麼?” 即使還沒有現成的解決方案。

您需要能夠向同事傳達任務的狀態

有時,同事會對您的成功感興趣並分享他們的成功。 每天或每週為此留出一些時間。

如果你不記錄遇到和解決的問題,那麼描述你的成功就會像這樣:「我試著完成任務,但我做不到。 我仍在尋找解決方案。” 從這個故事中並不清楚實習生是在做任何事情還是只是坐著看書。 他需要幫助嗎? 與昨天相比,情況有改變嗎?

如果您保存一份文件來尋找解決方案,您可以說「我正在嘗試完成這項任務。 我有這樣的錯誤。 我就是這樣決定的。 我還沒有處理過這個問題。 有這些假設和解決方案。 我現在正在檢查它們。”

如果任務可以以任何方式衡量,那麼狀態應該包含數字。 例如,對於“為模組編寫單元測試”的任務,您可以說“我計劃進行 20 個測試,現在我已經編寫了 10 個。”

您提供的詳細資訊越多,您的同事就越能理解您所做的事情。 這將使您的同事對您產生積極的態度,並使他們了解您是否需要幫助。

請隨時尋求幫助

我在上面寫道,當出現問題時,您需要對其原因和可能的解決方案提出假設。 然而,這些假設往往是不成立的,獨立找到的問題解決方案也行不通。 在這種情況下,最好尋求幫助。 為了不濫用同事的注意力,你需要親自解決每個問題。 如果你在幾個小時內還沒有找到解決方案,那麼是時候向更有經驗的同志尋求建議了。

一個好的起點是問“以前有人遇到過這個問題嗎?” 並簡要描述問題。 建議附上一段錯誤訊息或螢幕截圖。 第一次發送此訊息最好是在一些一般的工作聊天中。 這樣你就不會分散那些真正忙於工作的人的注意力。 免費同事將看到您的訊息並能夠提供幫助。

如果在一般聊天中發出訊息後沒有人提供幫助,請嘗試在休息時間聯繫一位經驗豐富的同事:午餐、喝茶/咖啡、打一場網球或抽煙休息。 如果這不起作用,請在會議或站立會議上報告您的困難。

如果已知的問題得到解決,這一切可能就到此為止了。 如果問題是新的,那麼就會開始調查,有必要根據具體情況採取行動。

最終用戶需要的「重要」初學者任務將是無聊且瑣碎的。 例如,「向報表新增附加列」或「修正列印表單中的拼字錯誤」或「實作從 DBMS 載入用戶端屬性的模型方法」。 此類任務的目的是讓初學者熟悉學科領域並融入日常工作。

不僅從技術上解決問題很重要,擴展學科領域的知識也很重要。

術語將出現在任務描述、聊天和對話中。 它們可能看起來像熟悉的名詞。 然而,在資訊系統的框架內,它們具有特殊的、更精確的意義。 發現的術語的含義最好記錄在特殊文件中—術語詞典。 當添加到字典時,寫下您對單字的理解就足夠了,但要進行真正的解碼,最好聯繫分析師。 如果缺少,則去找該專案的老前輩。 維護術語詞典是熟悉專案主題領域的最簡單方法之一。

一旦你與同事找到了共同語言,他們就會開始將你視為平等的專家,而不是新的實習生。

有一些特殊任務,例如“為模組編寫單元測試”。 你很難長時間陷入困境尋找解決方案。 同時,它也相當嚴肅,不只是為了實習生訓練。 書面測試透過減少應用程式中的錯誤並減少人工測試的時間來提高專案的穩定性。 在理想的世界中,單元測試是在開發過程中立即編寫的,但現實總是不同的。 碰巧模組的開發人員將其完全保留在自己的腦海中,並且認為沒有必要編寫它們。 “一切都已經很明顯了,還有什麼好測試的呢?” 有時模組是以匆忙的方式編寫的,沒有時間進行單元測試。 所以在現實世界中可能不存在單元測試。 因此,編寫單元測試的任務就交給了初學者。 這樣,實習生就能更快適應項目,而專案也能節省高薪專家的時間。

碰巧實習生和新人被分配了成熟的測試員的角色。 通常,在執行此操作之前,您需要在本地部署產品並閱讀需求。 因此,新員工預計將:

  • 諸如「如果你這樣做,結果就會像這樣」之類的問題。 這不在要求之內。 它應該是?”
  • 錯誤追蹤器中的任務“需求是這樣說的,但實際上它的寫法不同。”

對本文來說,測試的範圍太廣了。 如果您面臨類似的任務,請在網路上搜尋完成該任務的最佳方法。

如果你搞砸了,你就會被解僱

在正常的組織中,如果突然發生缺乏經驗的員工存取某些關鍵內容並破壞某些內容的情況,那麼允許這種情況發生的人將受到指責。 因為預設情況下,初學者無法存取關鍵基礎設施。 如果有足夠的指導,他們不會讓所有的狗都浪費在一個沒有經驗的受訓者身上。

如果發生什麼事,他們不會因為一件事情而解僱你。 人們從錯誤中學習。 搞砸的實習生吸取了寶貴的教訓,與其他實習生有很大不同。 如果你解雇了一個搞砸的人,其他人就會接替他的位置,以同樣的方式搞砸。

最重要的是從錯誤中學習,不再重蹈覆轍。

如果一個人不從自己的錯誤中得出結論,那麼他們就會試圖和他說再見。 然而,世界是多種多樣的。 在一些黑幫組織中,如果你犯了第一個錯誤,他們就會立刻把你丟出窗外。 但最好避開此類公司,先進行詢問或在面試時了解更多資訊。

最好避免發生事故

即使您個人沒有因錯誤而被解僱,此類事件也會為您的團隊和整個專案帶來不必要的問題。 因此,對專案知識庫中的資料庫、文件、服務實例和文件中的刪除或建立表格的操作尤其要小心。 如果您遇到新連接的地址,請與至少兩個不同的人核實可以在那裡做什麼。 檢查您在環境中的權限不是透過反覆試驗,而是透過使用適當的命令。 例如,使用「ls」指令刪除檔案的權限,使用「SHOW GRANTS FOR 'user'@'host';」指令處理 mysql 中的資料表的權限,等等。 幾乎在任何工具中您都會有類似的機會。

編輯文件時,請自行保留一份原件副本,以防萬一。

受訓者和最終使用者之間存在一些障礙。

如果你能立即把你的產品交給消費者,你就不再能找到工作,而是可以開始「自由游泳」了。 但是,雖然您沒有這樣的機會(同時也沒有責任),但您需要經歷專案控制的幾個階段。
第一個是導師的驗證。 他從技術角度評價新手的決定。 如果尚未指定導師,那麼您需要尋找一位導師。 為此,您需要選擇該專案的一位老前輩,並在休息時請他查看解決方案:問題是否正確解決? 如果他開始尋找並做出回應,那麼就找到了一位導師。 如果他忽略了這一點,那就值得去問別人了。

下一階段是品質保證。 用俄語-測試人員。 蘇聯風格-標準控制和品質控制部門。 他們必須確保受訓者的表現與分配給他的任務一致。 他們很少會閱讀程式碼。 大多數情況下,測試人員會檢查開發人員儲存在版本控制系統中的建置專案。

第三階段是發布管理器。 可能沒有單獨的人來完成這項任務,但仍然有人扮演這個角色。 他檢查測試人員是否已確認該項目可以發布。 此後,它開展將產品交付給最終用戶的活動。
在小型組織中,由於各種原因,這些障礙可能不存在。 然而,他們不會給新手一個改變重要事物的任務。 因為沒有人需要這種風險。

你需要先參與戰鬥,然後我們再看看。
拿破崙·波拿巴

我希望這篇文章能幫助您克服不確定性並提交您的第一份履歷。 當然,你必須先做好準備。 但沒有必要過度擴張。 您很可能已經在大學或學院學習了幾年。 接下來要去哪裡? 最後,最好是從專家那裡聽到一次「不」並改正錯誤,而不是每天對自己說「不」並停止專業成長。

一旦被錄用,您需要專注於從實習生成長為成熟的團隊成員。 這種類型的成長通常伴隨著你的薪資的增加。

我希望你有耐心和毅力。

只有註冊用戶才能參與調查。 登入, 請。

您在 IT 領域的第一份工作中的首要任務是什麼?

  • 複雜的

  • 重要的

  • 緊迫的

  • 以上都不是

75 位用戶投票。 20 名用戶棄權。

你在第一份工作中首先必須做什麼?

  • 本地安裝產品

  • 測試現有產品

  • 進行訓練、假任務

  • 為客戶做一個實驗性的、真實的項目

63 位用戶投票。 25 名用戶棄權。

你們組有多少學生在訓練期間能夠獨立完成技術科目作業?

  • 1的10

  • 1的5

  • 每一秒

  • 一切,除了極少數例外

70 位用戶投票。 19 名用戶棄權。

來源: www.habr.com

添加評論