給未來程式設計師的留言

所以,你決定成為一名程式設計師。

也許您對創造新事物感興趣。

也許高薪正在誘惑你。

也許您只是想改變您的活動領域。

不是重點。

重要的是你自己決定 成為程式設計師.

現在做什麼?

給未來程式設計師的留言

有幾種方法。

第一: 去上大學 攻讀 IT 專業並接受專門教育。 最平庸、相對可靠、極度漫長、最基本的方式。 如果你還在完成學業,或者你有能力養活自己一年半(最好,如果你能趕上所有事情並可以在第二年開始工作)到四年(如果將工作和學習結合起來),那麼它就有效。不是你的強項)年。

這裡需要知道什麼是重要的?

  • 有必要選擇合適的大學。 查看培訓計劃、評級。 一個很好的指標是大學的競賽。 如果大學團隊至少定期在相對大型的程式設計奧林匹克競賽中進入前十名,那麼在大學程式設計將不會是一個雛形(儘管事實上你個人可能對奧林匹克競賽根本不感興趣)。 嗯,一般來說,常識規則:貝加爾州立大學布拉茨克分校不太可能讓你成為一個強大的全端人才。
    好的大學的例子:莫斯科國立大學/聖彼得堡國立大學(顯然)、Baumanka(莫斯科)、ITMO(聖彼得堡)、NSU(新西伯利亞)。 儘管它們都很出名,但如果你的目標不是頂級部門,那麼很有可能在預算有限的情況下進入它們。
  • 不僅僅是一所大學。 儘管事實上你將接受各種方面的全面培訓,但這還不夠。 由於官僚主義,培訓計劃幾乎總是落後於現代趨勢。 最好的情況是一兩年。 最壞的情況是5-10年。 您必須自己彌補差額。 嗯,顯而易見的是:如果您與其他學生一起學習材料,那麼他們每個人都將是您平等的競爭對手。 如果你選擇領先,你在市場上會看起來更好。
  • 儘早找工作。 我從第二年開始工作。 到大學結束時,我已經是一個相當中等的開發人員了,而不是一個沒有經驗的謙虛的大三學生。 我認為很明顯,大學畢業後,賺100萬比賺30萬更令人愉快。 如何實現這項目標? 首先,請參閱 A 點和 B 點。其次,參加聚會、節慶、會議、招聘會。 監控市場並嘗試在任何您至少大約適合的公司找到一份兼職初級/實習生的工作。 不要害怕付費會議:他們經常為學生提供非常好的折扣。

如果你遵循所有這些要點,那麼當你獲得文憑時,你可以成為一名非常優秀的專家,擁有工作經驗和豐富的基礎知識,而自學成才的人往往由於不應用的性質而忽視這些知識。 好吧,如果你出國的話,地殼會有所幫助:他們在那裡經常看到這個。

如果不遵守的話……好吧,順其自然,連夜抄寫備考,就能拿到分數了。 但你認為那時你的競爭力如何? 當然,我並不是說你需要每件事都拿A。 你只需要獲得知識。 使用常識。 學習有趣、有用的東西,不要在意成績。

給未來程式設計師的留言

最主要的不是他們試圖強加給你什麼。 最主要的是有趣且相關的

-

此外, 第二種方式: 程式設計課程。 網路上充斥著讓您在短短 3 個月的課程中成為大三學生的優惠。 只要有一個作品集,他們甚至可以幫助你找到工作。 一個月就10萬吧
也許這對某些人有用,但純粹是恕我直言:這完全是胡說八道。 不要浪費你的時間和金錢。 這就是為什麼:

一個遠離IT的人,3個月內是無法了解這個職業的具體情況的。 根本沒辦法。 有太多的資訊需要吸收,太多的資訊需要理解,而且還有太多的資訊需要適應。

那他們會賣給你什麼? 他們會向你推銷「機械技能」。 無需深入研究細節,他們就會向您展示需要編寫什麼才能獲得準確的結果。 在詳細的說明和老師的幫助下,您將編寫某種應用程式。 一個,最多兩個。 這是投資組合。 對找工作的幫助是向大公司的初級員工發送職缺,而你不太可能獲得面試機會。

為什麼會這樣呢? 很簡單:抽象思考對程式設計師來說非常重要。 程式設計師解決的問題可以用十億種可能的方式解決。 主要任務是從數十億中選擇一個,最正確的一個,並實施它。 根據說明創建一兩個專案會給你一些程式語言的知識,但不會教你如何解決抽象問題。 打個比方:想像他們承諾教你定向運動,帶你走幾條簡單的健行路線,然後說你已經準備好獨自在冬天征服針葉林。 嗯,什麼,你被教導如何使用指南針並在沒有火柴的情況下生火。

總結一下:不要相信那些承諾在短時間內「碾壓」你的人。 如果可以的話,大家早就成為程式設計師了。

給未來程式設計師的留言

左:您將學到什麼。 右:工作中對你有什麼要求?

-

第三條路 - 大多數人選擇的道路。 自學.

最困難,但也許是最崇高的方式。 讓我們更詳細地看看它。

所以你決定成為一名程式設計師。 從哪裡開始?

首先,你需要回答自己一個問題:為什麼你想要這個? 如果答案是 “嗯,當然,這不是特別有趣,但他們付出了很多”,那麼你就可以停在那裡。 這裡不適合你。 即使你的意志力足以篩選一堆訊息,寫出數千行程式碼,忍受數百次失敗,仍然找到工作,但如果沒有對職業的熱愛,只會導致情感倦怠。 程式設計需要大量的智力努力,如果這些努力沒有以解決問題的滿足感形式的情感回報來推動,那麼大腦遲早會發瘋並剝奪你解決任何問題的能力。 這不是最令人愉快的場景。

如果您確定對此感興趣,那麼您可以決定具體細節 - 您到底想做什麼。 如果您不知道程式設計師之間有何不同,Google 可以幫助您。

我會立即寫下第一個建議,這樣你就不會忘記:學習英文。 需要英語。 沒有英語你就去不了任何地方。 決不。 沒有英語你就無法成為一個普通的程式設計師。 就是這樣。

接下來,建議制定路線圖:您將根據其製定的計劃。 研究細節,看看你的專業的空缺,從表面上找出那裡使用了什麼樣的技術。

後端程式設計師的範例路線圖(當然,不適合所有人,這只是可能的選項之一):

  1. html/css 基礎知識。
  2. Python。 基本。
  3. 網路程式設計。 python 和 web 之間的交互作用。
  4. 發展框架。 薑戈,燒瓶。 (附註:要了解它們是什麼類型的“django”和“flask”,您需要查看職位空缺並閱讀那裡需要什麼)
  5. 深入研究python。
  6. js 基礎知識。

, 我重複, 一個粗略的計劃,其中的每個點本身就很大,並且許多主題沒有包括在內(例如,程式碼測試)。 但這至少是某種知識的系統化,讓你不會對自己知道什麼、不知道什麼感到困惑。 隨著我們的研究,缺失的內容將會變得更加清晰,而這個路線圖將會得到補充。

接下來:找到您將用於學習的材料。 主要可能的選項:

  • 線上課程。 不是那些「三天六月」的課程,而是那些教某一特定事物的課程。 這些課程通常是免費的。 提供普通課程的網站範例: 史泰皮克, coursera.
  • 線上教科書。 有免費的、分享軟體的、付費的。 您會自己弄清楚哪裡需要付費,哪裡不需要付費。 例子: html學院, 學習.javascript.ru, Django 書.
  • 圖書。 有很多很多。 如果你無法選擇,三個建議:試著讀新書,因為… 資訊很快就會過時; O'Reilly出版社的品質水準相當高,呈現也正常; 如果可能的話,用英語閱讀。
  • 聚會/會議/講座。 就資訊豐富度而言,不是那麼有用,但就與同事交流、提出相關問題和結識新朋友的機會而言,卻非常有用。 甚至可能找到一個空缺。
  • Google. 很多人低估了,但簡單找到某些問題答案的能力非常重要。 不懂的地方可以自行Google。 即使是經驗豐富的前輩也會這樣做。 快速查找某事物資訊的能力本質上與了解某事物相同。

好的,我們已經決定了資訊來源。 如何與他們合作?

  1. 仔細閱讀/聆聽。 累的時候不要讀書。 深入研究其意義,不要跳過看似顯而易見的要點。 通常,從顯而易見地看到難以理解的轉變發生得很快。 請隨意返回並重新閱讀。
  2. 做筆記。 首先,當資訊量很大時,你會更容易理解你的筆記。 其次,這樣資訊可以更好地被吸收。
  3. 完成消息來源向您建議的所有任務。 雖然不,但不是那樣的。 做 所有 來源為您提供的任務。 即使是那些看似簡單的事情。 尤其是那些看起來太複雜的。 如果您遇到困難,請尋求協助 堆棧溢出,至少透過谷歌翻譯。 寫作業是有原因的;它們是正確吸收材料所必需的。
  4. 自己提出任務並完成它們。 理想情況下,實踐應該多於理論。 您將材料固定得越緊,一個月後您就越有可能不會忘記它。
  5. 可選:閱讀時為自己做測驗。 在單獨的來源中寫下棘手的問題,一周或一個月後,閱讀並嘗試回答。 如果不起作用,請再試一次。

我們對所研究的每項技術重複這 5 點。 只有這樣(深入的理論學習和密集的實踐)你才能建立高品質的知識基礎,從而成為專業人士。

看起來一切都很簡單:我們一一學技術,領悟禪,然後去工作。 事情就是這樣,但事實並非如此。

大多數學習程式設計的人都是這樣的:

給未來程式設計師的留言

圖片確實是偷來的

在這裡您需要更詳細地查看每個步驟:

Старт: 你的知識為零。 出發點。 目前還不清楚,但這可能非常有趣。 這條路一開始是上坡,但坡度不大。 很快你就會爬上去

愚蠢之巔: 「萬歲,你已經完成了你的前幾門課程! 一切順利!” 在這個階段,第一次成功帶來的欣喜蒙蔽了雙眼。 儘管您仍處於旅程的開始,但似乎成功已經很近了。 當你努力爭取成功時,你可能沒有註意到你將如何快速掉入深坑。 還有這個坑的名字:

絕望之谷:所以你已經完成了基礎課程,閱讀了一些書籍並決定開始寫一些你自己的東西。 突然 不起作用。 似乎一切都已知,但如何將其組合起來使其發揮作用尚不清楚。 “我什麼都不知道”, “我不會成功”。 到了這個階段,很多人就放棄了。 事實上,知識確實存在,並且沒有消失到任何地方。 明確的要求和支持就這樣消失了。 真正的程式開始了。 當你必須在一個有目標但沒有中間階段的空間裡機動時,很多人會陷入昏迷。 但實際上,這只是學習的另一個階段——即使前十次經過巨大的努力,一切都變得醜陋。 主要是一遍又一遍把事情完成, 至少以某種方式。 第十一次事情會變得更容易。 五十號時,會出現一個對你來說很漂亮的解決方案。 到了一百歲就不再害怕了。 然後它就會來

啟蒙斜坡:在這個階段,你的知識和無知的界線就清楚地顯現出來了。 無知不再可怕;人們知道如何克服它。 無需做出任何決定即可在太空中進行機動將變得更加容易。 這已經是終點線了。 已經意識到自己作為專家所缺乏的東西,您將完成並鞏固必要的東西,並以平靜的靈魂進入該領域。

穩定期: 恭喜。 這是終點線。 你是一位專家。 你可以工作,面對不熟悉的技術你​​不會迷失方向。 只要付出足夠的努力,幾乎任何問題都可以克服。 儘管這是終點線,但這只是更偉大旅程的開始。

程式設計師之路。

祝你好運!

可供選讀的文學作品:
關於成為程式設計師和鄧寧-克魯格效應: .
9個月成為程式設計師的硬派方法(不適合所有人): .
您在學習期間可以獨立實施的項目清單: .
只是一點額外的動力: .

來源: www.habr.com

添加評論