JavaRush /Java Blog /Random-TW /登山者程式設計師
Илья Альтерович
等級 33
Одесса

登山者程式設計師

在 Random-TW 群組發布
捲宗
  • 人物:伊利亞·阿爾特羅維奇
  • 職業:工業登山者
  • 開始訓練年齡:35歲
  • 居住地:烏克蘭敖德薩
  • 第一份程式設計師工作:1年8個月後(2015年2月)-37歲。
  • 他目前做什麼:還是程式設計師,換了一家公司 =)
  • 本事
登山者程式設計師 - 1
如果你已經35歲了,這不是不開始讀書的理由!當然,當你在背後有多年在另一個行業的寶貴經驗時,這並不那麼容易,但也並非毫無希望。我們有一個很好的例子 - 來自敖德薩的伊利亞決定在這個年齡從工業登山者重新培訓為工業程式設計師。他成功了。閱讀 JavaRush 上最引人入勝、最徹底的成功故事之一!

背景

我想分享我的故事,因為我對創造這個資源的優秀人們以及它所誕生的社區負有道德上的責任。我想以某種方式感謝創作者,我想鼓勵那些尚未實現他們所珍視的目標的“Javarashites” ,並為他們提供很大的動力!底線:我作為程式設計師已經工作兩週了,這很大程度上要歸功於Java Rush
我今年37歲,已婚,有兩個孩子,一個6歲,一個3歲。在過去的 15 年裡,我一直擔任工業登山者(高海拔登山者)。正如你所理解的,這項工作與程式設計的關係不大,或者根本沒有關係。
總的來說,工作還不錯,空氣新鮮,它迫使你保持“狀態”,你有足夠的空閒時間,你是你自己的老闆。而且物有所值(當季)。
  • 具有明顯的季節性。也就是說,一年中有3-4個月幾乎沒有工作。
  • 沒有前景。在這個領域工作了 15 年,我意識到在接下來的5 到 10 年內,任何事情都不太可能改變(至少變得更好)。
  • 孩子開始長大,錢顯然不夠了…
  • 就開始變得無聊了…… 15年是一段很長的時間,任何事情都會變得無聊。
因此,2013 年5 月,我權衡了所有的利弊,得出的結論是,是時候換工作了……並且換了一份沒有上一份工作缺點的工作。那是:
  • 一年四季都有工作;
  • 良好的成長前景;
  • 明顯更高的薪水(如果不是立即,那麼將來);
  • 我有興趣從事有趣的工作。
我對程式設計有著濃厚的興趣。確實,在實踐中,這只導致了這樣一個事實:我在學校用 BASIC 寫了一點,用彙編語言寫的更少(在ZX-Spectrum上,又名Sinclair曾經是一台非常受崇拜的計算機) 。學習期間「高層建築」的缺點對我來說卻是一個優點:我在春天,尤其是冬天有充足的空閒時間,我可以有效地花在學習程式設計上。程式設計是一個靈活的概念。我用谷歌搜索,權衡了前景……我的選擇落在了Java陛下。

學習

我的第一本關於Java 的書是Yakov Fain寫的《 Java 程式設計給孩子、父母和祖父母》。我不確定是否要向初學者推薦這本書;也許還有更好的書,但當時讀起來很有趣,也很容易理解。我仔細研究了那裡給出的實際例子,這為我提供了進一步進步所需的最低限度的實用技能。我讀完這本書並決定尋找課程。面對面的課程很昂貴,而且我不確定它們是否值得。就在那一刻,我想起在寫這本書時,我在某個地方(似乎在 habrahabr 上)看到了有關 JavaRush 的文章。一切都開始發生…讀完這本書後,我像種子一樣破解了前10-12個級別,這太簡單了。但仍然很有趣。然後它變得更加困難,甚至更加有趣。
我嚴格地按順序完成了各個級別,即 我讀了講座,雖然我的理解是新鮮的,但我解決了它的問題,並且直到前面的所有問題都解決了才繼續下一講,除了極少數例外。所以我到了 20 級,還有 3-5 個未解決的問題。
如果您在解決問題時遇到問題,當然,論壇上的交流有很大幫助,同時,透過幫助其他論壇用戶,您自己也提高了自己的技能!大約六個月後,我決定是時候碰運氣並嘗試參加面試了。我在 google 上搜尋了簡歷範例,朋友給我發了幾個簡歷範例,我還寫信給 Sepp(Java Rush的負責人,編者按),他給了我一些簡歷的提示和模板。我將其編譯並發送給 Sepp 進行審查;他對此表示讚賞。接下來,我在熱門求職網站上發布了我的履歷,整理了敖德薩最大的 IT 公司人力資源部門的地址列表,其中有 Java 開發人員的職缺(不僅僅是初級」)。他們大約有20人。我立刻留出一半以防萬一我到處搞砸,然後把另一半的履歷表發出來。

第一次採訪

我不會說我受到了邀請的轟炸,但最終,在一個半月的時間裡,我參加了六次面試。結果有些或多或少取得了成功,有些則不然。有兩到三項測試任務,我都以不同程度的成功完成了,還有一個英語口語面試。我成功通過了,但沒有參加技術面試:另一位申請人在我之前。我也差一點就進入了Luxsoft所謂的「標竿」:我通過了測試和麵試,但在最後一刻,當我讀到合約時,我改變了主意並拒絕了。簡而言之,他們教你三個月,並支付你300 美元的津貼。如果他們喜歡你,他們會給你一份初級工作(500美元)。9個月後,他們可以給你加薪,但是,從合約上看,如果你不參加課程,或者在課程結束後一兩年內想換工作,你就有義務向他們支付培訓補償金。金額為2,500美元。我覺得這樣的條件無法接受,就拒絕了。我還拒絕了另一個空缺:在我看來,我在那裡沒有前景。
但最主要的是我在面試中獲得了非常寶貴的經驗。每次面試之後,我都對下一次面試有更好的了解,大約會問我什麼問題,以及期望得到什麼答案……並不是所有面試都會問同樣的問題,但幾乎總是有人問很多問題。
每次採訪結束後,我都會給自己列出一個小問題清單,在其中“游泳”,然後找到明確的答案。總的來說,不管結果如何,去面試確實有用...

實習

大約在同一時間(2013 年秋冬), Java Rush在私人訊息中寫信給我,並提出參與「Real Project」的邀請。說實話,在他們列出其中使用的技術(SpringHibernateGWTMySQLMavenGit)後,我有點害怕,因為大多數情況下我是突然聽到這些詞的,甚至是為了第一次。我想我沒有什麼好失去的,我有時間參與,就同意了。
起初確實很難,但在一兩週後,閱讀書籍和文章後,我深入研究了現有程式碼的工作,足以自己寫一些東西並進行第一次提交。
我很幸運能和參與這個計畫的人在一起。我們有四個人:帖木兒(Timur)、熱尼亞(Groomsh)、謝爾蓋(SergeyKandalintsev) 和我。我們直接從 JavaRush 監督我們的專案。Timur 大部分工作在後端,Zhenya工作在前端Seryozha工作在資料庫在前端工作了一點,在後端工作了一點。幾個月後,我們成為第一個成功完成真正的「真實專案」的團隊,現在所有 Javarashites 都在使用它 - 這就是「Ratings」專案(在新版本的 JavaRush 中不再使用該專案) 。說《The Real Project》給了我很多,其實是沒什麼意義的!除了有價值的知識明顯增加之外,我還得到了一個更重要的認識:Java 遠非唯一必要的技能,儘管它是基礎技能。Java是程式設計的基礎知識,但除了基礎知識你還需要了解拼字規則、文法、句法、正確造句、擁有豐富的詞彙……並且在程式設計中你需要了解並能夠使用很多框架,模式和發展工具,並且也知道從哪裡尋找解決問題和回答您的問題。在真正的專案之後,我對更先進的技術產生了興趣,加深了對那些我已經知道的技術的理解……我的興趣超越了「純」 Java Core的界限。而且 - 我的履歷中的「工作經驗」欄出現了一個新的、可靠的項目,其中描述了該項目中使用的酷炫和時尚的技術。

進一步的考驗

實習結束,我在高層開始了新的工作季節……空閒時間變得稀缺,轉行的問題逐漸淡出人們的視野。然而,我幾乎把所有的空閒時間都花在了編程上:我編寫了各種“迷你項目”,有時在Java Rush中解決問題,監控職位空缺,並在秋末報名參加IT 辦公室 DataArt 的免費課程。這些課程本身太籠統了:我在那裡幾乎沒有學到任何有用的東西。但作為這些課程的一部分,學生被要求分成小組並編寫一個「專案」。該項目包括編寫一個線上測試系統,包括用戶註冊、用戶部分(填寫問卷)和管理部分(建立問捲和管理帳戶)。我最終加入了四個團隊之一,後來發現這個專案實際上是我自己寫的。在大約一個月的時間裡(在高層工作時),我自己編寫了一個在我看來還算過得去的 Web 應用程序,基於我們在Java Rush實習中使用的相同技術和模式(加上 jsp、Spring安全性和其他)。如果有人有興趣,我可以發布一個包含該專案來源的開放儲存庫的連結...

身高已拿下!

12月,我受邀到一間辦公室面試。他們告訴我,當他們做出決定時,他們會打電話給我……「好吧,一切都像往常一樣,」我當時想。“如果不立即服用,那就沒什麼希望了。” 但一個月後,新年過後,我給這家公司的HR經理寫信,詢問我的命運。令我驚訝的是,她回答說職位空缺仍在招聘中,尚未做出決定...
又一個月過去了,現在,一月底,她打電話問我是否適合找工作,我「毫不留情」地回答說是的,我還在找工作。她回答說我已經找到她了,因為我適合他們!
當然,這種感覺是難以形容的,當你在電話中得知這一點時,你的翅膀就會長起來!要明白這一點,你需要親自去體驗。這就是我在不久的將來對你的祝福!我的第一份工作是參與一個大型ERP計畫的發展──一個應用、長期建設。事實證明,該應用程式有很多具體的細微差別,因此基輔開發公司需要一名距離客戶不遠的程式設計師 - 在我居住的敖德薩。該應用程式是用GWT + ExtGWT + Spring + Hibernate + MySQL編寫的,以及一堆支援的次要程式庫。恰好這正是我所研究並有一定經驗的技術棧。在缺點中,我要提到的是,該專案很舊,它使用舊版本的庫和過時的設計方法,而且它們已經過時了,幾乎不需要更新。原來我一個人才能完成其他程式設計師3-4年的工作成果!當然,我希望像任何後輩一樣,為我分配一個更有經驗的團隊領導,他也將成為指導我並審查我的程式碼的導師。但命運卻另有安排;我被委以一項專為經驗豐富的獨立開發人員設計的工作。“既然這樣,”我想,“那就趕緊要求加薪吧。” 他把原來的數字提高了200美元。這並沒有引起他們的任何憤慨。我不會給出具體數字,我只是提到薪水大大超出了我的預期。此外,我只有一個月(而不是通常的三個月)試用期。他們像往常一樣透過SPD為我註冊(這是程式設計師的常見做法)

對您工作有用的技術:個人經驗

了解資料庫、SQL ( MySQL )、jdbcHibernateJpa、網路技術htmljspservletxmlTomcat是非常理想的,甚至可能是必要的。需要了解基本的JavaSE 模式所謂的GOF模式);至少了解SpringSpringMVC、Maven 專案建構器log4j日誌記錄和JUnit 單元測試也將是一個巨大的優勢。您需要能夠使用版本控制系統,例如Git 。有時他們會詢問或給予有關 Web 服務( SOAP、REST )的測試任務。除此之外,對 Java 核心的了解即使不是無可挑剔,至少也是非常有信心的。

第一印象

經過前兩週,我開始深入研究程式碼,現在我知道一切都會成功...
我想立即指出,程式設計師的工作仍然不是一種手段;它首先是一項早起晚歸的工作。但這項工作比許多其他工作要好得多。它有利息、金錢和前景。當你能夠透過你的思想、工作和毅力自己實現這一目標時,那就特別好。我能夠改變我的生活,從很多方面來說,你是自己命運的主人。
我唯一擔心的是懶惰會戰勝我。在取得一定的成績後,我會變得懶惰並停止專業成長。但我還是真心希望這不會發生。我要再次感謝這個精彩資源的創造者!對於你們,賈瓦拉什人,我祝愿你們在自己選擇的道路上堅持不懈和耐心,正如列寧祖父所說:“同志們,你們正在沿著村莊的道路前進!” =),但不要放縱自己的懶惰,最重要的是「永不放棄」。走的人,才能掌握路!

後記:兩年後...

……決定寫我的「成功故事」的續篇。原因有三:
  • 政府問我 =);
  • 我仍然相信這個特殊的資源在我「進入IT」過程中發揮了關鍵作用;
  • 我仍然相信,動機也是這件事的關鍵因素之一,而最好的動機之一就是與你(爪哇人)處境相同的真實人士的成功故事。因為我自己知道,有時一個人的手就會放棄……對許多人來說,他們再也不會站起來。這確實是一條艱難的路,但這是值得的!
以下是我對以下問題的回答: 在你找到新工作後,你的生活總體上發生了怎樣的變化?那一刻你的感受如何? 嗯,當然已經改變了……首先,永恆的「時間-金錢」平衡已經改變了。錢明顯多了,時間卻少了…終於有足夠的「日常麵包」了,但還不可能存錢以備「未雨綢繆」。不過,我確信,如果你努力一點,你每月可以節省 200-500 美元(儘管事實上我是 4 口之家中唯一的一個人,我的妻子有機會安心地照顧孩子)。穩定、對未來的信心,或至少已經出現了一些幻覺…… 請描述一下你的工作。你做什麼、學什麼、與團隊互動的流程是什麼? 我目前在我的第二家公司 Electric Cloud 工作。這是一家美國公司,產品並不簡單——一個用於持續整合/持續交付的DevOps工具,類似於Jenkins,只是規模大得多,而且是純粹的商業產品。此外,它已經相當古老,充滿了遺留程式碼(過時的程式碼,編者註),需要維護,修復錯誤,有時還需要編寫新功能。總之,科技動物園讓媽媽不用擔心!你必須或多或少地處理 Java8、GWT、JS、PHP、Perl、HTML、CSS、Spring、Hibernate、JUnit、Mockito、Maven、Perforce,這些只是主要的......前幾個月我很容易就看到了光,然後就習慣了。工作條件是標準的。每週 5 天,每年 18 個工作天 - 假期(加上所有公共假期)。日程安排基本上是免費的;如果您願意,您可以在家工作。不過,我比較喜歡辦公室,那裡的氣氛更像工作。我通常工作 12 至 19-20 小時。我們每天都有 Scrum 更新(編者註, Scrum是一種靈活的軟體開發方法),每週我們都會在晚上與我們的美國團隊領導開一兩次會議。 您在職業生涯中已經達到了哪些高度?您還計劃翻越哪些大山? 我時常會查看我有興趣的公司的良好職缺。雖然很少,但還是會發生,我會去面試。我已經意識到,找到一個高薪的地方比找到一個有好專案的地方更容易。要做到這兩點,你需要非常努力。而且,我越來越認識到,我進入這個職業並不是偶然的,而是透過我的工作和毅力贏得的,儘管一定程度的運氣,特別是在一開始,肯定會發生,而且:我非常懷疑我會改變它。到二月份,我的商業開發經驗已經兩年了。如果按照普遍接受的概念來評價我的水平,在我看來,它類似於Strong Junior或Regular Middle。不過這個評價很主觀,只是我確信還不是Senior。  對於那些仍處於旅程開始(或中期)的人,您有什麼臨別贈言嗎? 我衷心祝福每一個相信自己的人都能實現自己的目標,也希望我的榜樣能為此做出貢獻。我再說一次:無論別人告訴你什麼,這都不是一條容易的路,而且很少人開始實現他們的目標。但有更多的人可以做到這一點!只是大多數人在道路中間缺乏一些東西:動力、慾望、毅力、對自己和自己優勢的信心。許多人想出複雜的藉口,不再實現自己的目標…所以相信自己,不要半途而廢(小突破當然不算=)),你就會成功!正如古希臘人所說:「燒鍋的不是神」。“程式設計師不是天生的”,還記得這句話(JavaRush 座右銘,編者註)嗎?最後,還有一條建議:通過面試!這是最直接的路。我曾經在一次 IT 活動上聽到過這樣一句話:“我從來沒有遇到過一個參加了 20 次面試卻沒有被錄取的人。” 您已經參加了多少次面試?我知道你可以回答我:
  • 我還沒準備好,我還需要學習…
  • 呃,沒人打電話給我…
所以:這些都是爛藉口!21級後我找到了第一份工作(薪水1100美元)!確實,當時我已經在 GWT、Hibernate 和 Spring 方面有了一些經驗,這些經驗都是從我的 JavaRush 實習中收集到的。但面試時他們並沒有問這個;幾乎所有的問題都是關於Java Core和一點SQL。所以不要害怕,尋找職位空缺,去面試吧!在 LinkedIn、Gina、求職網站上註冊 - 無論您身在何處!追蹤最新的職缺並做出回應!“敲門,他們就會為你開門”,你的簡歷和信件充斥著你所在城市的所有 IT 辦公室,這樣你就不必等待很長時間就能收到面試邀請。很多選擇!所以最短的行動方案是:
  1. 我完成了 JavaRush 20-30 級,也學了一點 SQL 和 JDBC。如果您還具備 Spring 和 Hibernate 的基礎知識,那麼您就完全有麻煩了。
  2. 我用例子打出了一份簡歷,在專門的網站上註冊,發布了它,然後用我的簡歷用垃圾郵件轟炸了所有的 IT 辦公室。相信我,你不會沒有回饋,很多人只會回信說他們會記得你,有些人一定會邀請你參加面試。
每一次面試,即使是徹底失敗,都會讓您離目標更近!因為在接下來的每一場比賽中,您都會感到準備得更充分、更有自信。而且 80%​​ 的問題幾乎在所有地方都被問到相同的問題。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION