我們知道 CodeGym 的學生希望聽到那些已經從事 IT 工作的人的故事。我們親自著手解決問題,推出了一系列有關來自不同國家和公司的開發人員的系列文章,這些開發人員完成了我們的 Java 培訓。這個故事是關於一位名叫Anzor Karmov
的軟體開發人員(他在我們課程的俄語版本中學習了 Java)。從高中開始,這傢伙就喜歡用 Pascal 編寫程式碼,但他並不打算成為一名程式設計師。他最終在我們的課程中學習了編程,現在已經作為後端開發人員工作了幾年。安佐爾告訴我們他是如何做到的。
“我永遠不會觸碰這種恐怖”
在高中時,我喜歡程式設計和 Pascal 語言。我有一個導師。我進入大學攻讀商業分析學位。本學習課程包括程式設計課程,包括學習 C# 和 Java。我記得當我發誓不再將我的生活與Java聯繫在一起時:我的老師沒有向我們解釋基礎知識。學習材料似乎假定了一堆先驗知識,所以很多內容都不清楚。假設每個人都已經了解程式設計了。就在那時我想:“我永遠不會接觸這種恐怖。” 當我透過部署了 Microsoft ERP 系統的公司的面試時,我的 IT 之旅開始了。他們的 IT 部門有兩種員工:開發人員和顧問。顧問扮演測試人員和產品經理的角色,而開發人員則毫不奇怪地進行開發。我被聘為顧問,但我的履歷顯示我在學校學習 Pascal。基於此,他們建議我成為開發人員。我們用 C#L 語言進行編碼,這種語言被親切地稱為“糞便”,是 Pascal 的某種“後代”。當我或多或少了解這個領域時,我意識到,粗略地說,這是開發人員可以工作的最低位置。不是因為公司不好,而是因為我們使用的語言適用範圍非常狹窄。期望將這些知識應用到其他地方是不切實際的。我想,如果我是開發人員,那麼我需要學習一些更通用、更廣泛適用的東西。“當我放棄學業時,我責備自己太懶了。”
在選擇學習哪種程式語言時,我的最終選擇是 C++、C# 和 Java。從我在論壇上讀到的內容來看,我得出的結論是 C++ 對我來說很難,需要花很多時間才能進入這個主題。我選擇了Java,可能是因為我遇到了這門課。我學習了程式語言大約一年半。我的老闆「幫助」了我很多:他是我工作中的一個強大的消極因素,但他確實激勵了我學習 Java。他是個壞老闆,我想趕快離開他。但我花了大約1.5年的時間才意識到我想離開,這與我花在自學的時間相同。我透過各種方式學習。我制定了一個計劃:毫無疑問,我的工作必須改變,我必須學習Java,但我不能持續一年半的時間投入到這個工作中,我不能每天都學習。我有一兩個月的短暫休息,也有幾個月我積極學習。日程安排大概是這樣的:我比平常起得早,學習,上班,如果不是很忙就在那裡學習一些東西,回到家,然後再學習。當我放棄的時候,我責備自己太懶了,然後與老闆的「密切合作」再次激勵了我,我又滿懷熱情地回到了學習中。我記得每個新關卡都比上一個關卡越來越難。如果第一個等級需要大約一週的時間,那麼接近中間時我花了大約一週的時間來解決一個任務。我從來沒有想過要完全放棄這一切,因為這是我一生中唯一一次下定決心,無論發生什麼,我都會到達終點。我採納了這樣的座右銘:如果你長期致力於某件事,那麼遲早,某件事就會成功。我通常會被任務困住,但由於所有解決方案都發佈在網路上的某個地方,所以找到我需要的解決方案並不困難。完全無法忍受的時候,就抓起現成的解決方案來黏貼。順便說一下,我有一個實踐項目。當我在學校當家教的時候,我想寫一個叫《海戰》的遊戲。這就是我的設計:你玩電腦,在控制台中輸入目標單元的位址,電腦就會顯示你是否擊中、錯過或摧毀了一艘船。以類似的方式,計算機會做出反應,並且你可以讓它知道它是否擊中、錯過或被摧毀。然後我陷入了這樣一個事實:在撞上一艘多單元船後,我無法讓電腦更聰明地開火。當人類玩家擊中對手的船隻時,在下一個回合中,他或她將在上一次擊中的上方或下方、左側或右側射擊。我無法讓電腦那樣拍攝,因為我可能腦子不夠用。在某個時刻,我想我應該最終完成這個遊戲的實現。我坐下來寫程式碼 並克服了先前的癥結所在。甚至在28級之前,我就去參加了面試。後來我覺得現在做這件事還太早。我意識到我不了解框架,也不知道如何使用資料庫。我面臨一個選擇:要么在 CodeGym 上學習所有內容並學習框架,要么開始參加面試。我決定找工作。“在某個時刻,我取得了突破,每個人都開始打電話給我”
當你學習Java時,你有兩個選擇:進入後端開發或Android。於是,我同時開始學習Android。我編寫了幾個原始的應用程式。一個是數字遊戲,一個是計算器。我的第一次面試並不順利,因為我仍然不明白或不知道很多事情。我決定在第一次面試六個月後重新參加面試(這是一次史詩般的失敗)。當我對 Java 的了解較少時,出於某種原因,我收到了大量面試邀請,但過了一段時間,當我提高了自己的技能時,他們就不再打電話了。這持續了大約六個月——相當痛苦的六個月。一種感覺一切都是徒勞的。計劃很簡單:我將繼續學習,遲早我會被要求參加更多面試。在我的部落格上,我開始發布面試中可能提出的問題的答案。我收集了信息,研究了它,然後開始發布。有人寫信給我,感謝我的帖子,並提出在需要時幫助我寫簡歷。他給了我關於我履歷的回饋,我更正了。但出於某種原因,我仍然沒有被邀請參加面試。我將這與市場的平靜聯繫在一起:雇主很可能在六月不需要任何人。“然後在某個時候,我取得了突破,每個人都開始打電話給我。” 有幾次採訪。例如,有一次集體面試,我們必須在紙上準備答案,然後他們輪流要求未來的開發人員給出答案。第三次是我現在工作的公司的面試。它被稱為忠誠工廠。它最初是一家新創公司。該公司開發旨在提高品牌忠誠度的行銷工具。我們的產品是為不同品牌製作的行銷工具包,主要針對餐廳,但也適用於加油站、美容院、購物中心。該產品由CRM系統和行動應用程式組成。因此,如果客戶是一家餐廳,那麼我們會為其製作一個行動應用程式。餐廳的顧客下載行動應用程序,餐廳老闆可以訪問 CRM 系統,從而可以看到目標受眾並在各種促銷活動中發送優惠訊息。在該應用程式中,目標受眾能夠累積積分並兌換某些獎勵。我們的獨立模組之一支援與支付網關的整合。我們在隔離之前就進入了國際市場,但隔離正是產生了對家庭食品配送的巨大需求的原因。許多餐廳需要能夠讓顧客透過行動應用程式下訂單,其中許多餐廳向我們求助。沒有利用送餐模組的客戶要求我們為他們客製化這個模組。這有助於他們在隔離期間維持生意,因為餐廳只能透過送貨來生存。“我在工作中請了病假,除了吃飯、睡覺和完成測試任務之外什麼都不做。”
我可能是因為我的求職信才得到了這裡的工作。這是我提交的第一百份履歷。我的心情很糟糕,因為沒有人邀請我去任何地方面試。在我的求職信中,我概述了我所有的痛苦並將其發送出去。招募人員後來告訴我,這是她一生中最感人的求職信,這可能是我被叫去面試的原因。面試結束後,他們給了我一個測試任務:編寫一個帶有 Web 介面的程序,透過 Wi-Fi 測試 Android 應用程式。我的程式應該顯示哪些測試成功,哪些測試失敗。我被給了一周的時間來完成測試。這是我一生中最忙碌的編碼週。我在工作中請了病假,除了吃飯、睡覺和做測試任務之外什麼都不做。最後我完成並提交了。一段時間後,招募人員打電話給我,說我測試得很好,他們不會再等其他候選人了。我去那裡是想成為一名Java開發人員,但結果發現這個空缺已經被填補了,所以我被邀請成為測試人員,編寫自動化測試。在我們的測試部門,除了我之外沒有人懂 Java。有人告訴我有一個用於手動測試行動應用程式的系統。這是一個帶有 Web 介面的程式:您轉到 Web 介面,將測試應用程式連接到測試會話,然後您就會看到需要做什麼。我的第一個任務是替換在測試會話中點擊的測試人員。一切都在不久之後開始:我自動化了我的第一個測試用例,然後是第二個、第三個......不幸的是,我的想法從未見過生產,因為行動應用程式的起飛速度比我適應自動測試的速度要快得多對他們來說。後來,我得到了第二個自動化測試專案——測試 Web 介面。我必須對內部管理面板進行測試。我開始從頭開始編寫一個程式來測試它。當我完成第三個專案時,我被邀請轉到伺服器開發人員的部門並為他們編寫程式碼。我對此感到高興。在這個部門,我開始做一些小小的改進,並且熟悉了這個系統。我對每一個新任務都有點害怕。我擔心自己無法應付。最終,一切順利。現在,我是負責行動應用程式後端開發的團隊的負責人。我的一個下屬,也是我的表弟,也學過這門Java課程。我一直在指導他。他目前是一名初級開發人員。你可能會說我激勵他學習。這次培訓幫助我的生活變得更好,我想與我所愛的人分享這個機會。給初學者開發者的提示:
1. 如何安排學習
首先,我會告訴你我是如何學習的。我一波又一波地學習。有一段時間我根本不學習,可能是因為倦怠。有一個月或更長時間我沒有做任何事情。然後就會開始一段恢復期。當我意識到如果我繼續什麼都不做,那麼我的生活就不會改變時,就發生了這種情況。這個信念促使我早上 4:30 起床,在上班前先學習一下。我在工作中學習。下班後,我回到家又開始學習。一段時間後,這自然會導致倦怠,並且一次幾個月無所事事。我沒有完全放棄,只是因為我清楚地看到,如果我停下來,我的生活將保持原樣。我也不喜歡以前的生活。所以我努力不讓自己可能停止的想法進入我的腦海。我的座右銘是“如果你長期致力於某件事,那麼遲早,某件事會成功。” 四年後的現在,我不建議做同樣的事情。我不認為每個人都會忍受這種自虐行為。不休息地工作會導致倦怠。只有在壓力之後放鬆一下,壓力才是有益的。因此,當談到如何組織你的學習(就像在其他方面一樣)時,我建議你一次學習一點,但從長遠來看定期學習。你必須放鬆。不要強迫自己。只有當你休息和睡覺時,大腦才會開始吸收一切。這意味著你應該同樣認真地對待你的學習和你的休息。2. 如何找工作
這很簡單。找工作時,您的首要目標是獲得面試機會。你很可能會失敗。因此,不要對立即找到工作考慮太多。首先,您只需參加面試即可。要實現這一點,您只需要做 3 件事,直到您收到某個地方的邀請:- 創建一份履歷。
- 把你的履歷發給大家。
- 查看您收到的回饋。如果你沒有得到很多回复,那麼你的履歷就沒有吸引力。了解如何撰寫履歷、如何申請工作以及如何撰寫求職信。轉到步驟 1。
GO TO FULL VERSION