30KiOS程式設計師的簡述:如何快速進階成為高階開發人員
前言:
本篇文章適用於所有在這個行業已經有了幾年時間後想要在職業生涯中取得突破的開發人員,程式設計人員和程式設計師(或者你可能剛剛開始,但希望你能看到你的路徑)
本文適合那些有著簡單願望的人:你想成為一名高階開發人員,並希望在你的領域中脫穎而出。在閱讀完這篇文章後,您將獲得一組具有最佳資源列表的路徑,供您升級併成為高階開發人員。
作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個我的iOS交流群:638302184,不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 大家一起交流學習成長!希望幫助開發者少走彎路。
免責宣告:與生活中的所有事物一樣,您可以隨時設定自己的路徑。儘管這不是唯一的方法,但是這是我在自己的職業生涯中發現的一種方法,並且通過我在過去一年中與我認為是社群中資深和受人尊敬的程式設計師的人進行了許多對話和訪談。
我已經積累了這篇文章的所有共同點。所有這些不僅僅是一篇關於如何成為更好的開發人員的文章。這是一個如何指導您如何使用高效實用的工具來優化您的時間,從而讓您從生活中獲得最大收益。將來你可以在任何地方進行這種學習
我們想要什麼?
1,我們都努力做好工作。該宣告的具體內容可能取決於個人。但是,大多數人可以同意一些常見的事情:
2,我們不希望經歷被視為“無能”的生活,
3,我們希望得到我們同事的尊重
4,我們希望感覺自己聰明,並且做到了
5,我們想感受讚賞
為了實現上述目標,我們不能僅僅停留在我們的能力上,並期望事情會發生。特別是在程式設計領域,技術在不斷變化,我們掌握的資訊量非常之大,我們希望將注意力集中在成長和學習上,而不是消耗殆盡。隨著越來越多的開發者走出大學和訓練營,我們需要保持技能的銳利,而讓自己與眾不同的方法是在學習時保持智慧和高效。談得很多,讓我們一起潛入。我們將一如既往地嘗試並採取最好的方法。
什麼是高階開發人員?
作為一個可以使用十種不同程式語言編寫程式碼並構建了自己版本的多語言程式設計人員,並不會讓您成為高階開發人員(儘管您非常有才華)。這是因為高階開發人員是為公司帶來增量利益的人員。它是一個能夠讓周圍的人變得更好,並且能夠長期願景,實現並持續創造商業價值的人。您可以瞭解全球所有功能強大的程式設計技術,但如果您無法與團隊溝通,或者無法專注於為客戶提供實際價值,則您不是高階開發人員。這是重要的一點:你為貴公司/創業/企業帶來了什麼價值,如果你是為數不多的能為您的公司或企業帶來數量級(有些人喜歡10倍的想法)價值的人之一,那麼你是一位高階開發人員。高階開發人員不僅僅是另一個職位,而是能夠利用您的經驗為利益相關方提供真正的利益。
**我如何成為一個高階程式設計師?得到它。
**
這是你們所有人一直在等待的部分(或者我想象的是……也許沒人讀這個……在這種情況下,我會一直跟自己說話)。讓我們深入瞭解一下,看看我們是否能夠完成所有事情。按照以下資源,花一些時間瞭解每個主題。如果你能夠積極研究下面的技能,你將遠遠領先於其他任何人。我把這稱為開發者邊緣:在一個領域總會有比你更有經驗的人,但是你可以更聰明地工作,並以更有效的方式積累不同的技能組合,讓你分開。這不僅使你成為一個更好的開發者,它還增加了你的整體幸福感,因為你正在為人們提供真正的價值。
學習中經常被忽視的一個方面是,你需要專注於一件事而專注於一件事。然而,這不是生活的方式。生活中非常罕見,你只需要一種技能。特別是在像技術領域發生變化的領域(誰知道機器學習工程師將在5年內完成什麼?),您需要擁有多種可轉換技能,這將轉化為適應性。
這些是您需要被視為高階開發人員的6項核心技能:
**
1.技術技能**
這通常是大多數人想到的第一個技巧。希望通過這一點你相信它是一個更大的餡餅的一小部分。不要誤解我的意思,你確實需要這個技能,而且你不能偽造它。然而,你可以聰明地關注你關注的內容。高階開發人員花時間瞭解Why的技術。為什麼這個問題存在?為什麼這個框架存在?這個圖書館解決什麼問題?作為一名開發人員,您需要對所有有利於開發生命週期的工具和想法有所瞭解,並選擇在專案中獲得最大利益的工具。他們沒有專注於這個超級奇特的測試框架的每一個新版本功能,而是試圖為公司解決實際問題時專注於每個測試框架的優缺點。他們會問“我們的持續過程中可以改進哪些方面以提供更好的產品?”
他們也明白事情是如何連線的。為了開始這樣思考,思維導圖是一個很好的熟悉工具。它本質上是一種工具,可以用來將學習推向更高層次。思維導圖幫助你的大腦在不同的想法和技術之間建立聯絡。
舉個例子:如果我是一個iOS開發,一旦掌握了行業中的工具和技術,就需要制定產品在擴充套件時面臨哪些問題的思路圖,以及何時過早優化是一件壞事。通過在上述所有方面掌握這種關係,您可以通過廣泛的視角而不是狹隘的焦點,將公司的資源集中在最重要的事情上。
如果你是從訓練營走出來的,或者你沒有電腦科學學位,那麼你需要開始學習資料結構,演算法和其他電腦科學主題。為什麼?因為儘管框架和技術發生了變化,但電腦科學的主要原則(大部分)保持不變。通過理解這些更高層次的主題,您可以再次看到,大多數軟體問題和良好實踐在不同的語言和時間中通常是不變的。這本書(Rob Conery)和這本書(Gayle Laakmann McDowell)可能是我發現提升你的技能的最好工具。雖然它們只是表面上的,但它將為今後的學習奠定基礎。
開始收聽軟體工程日報等播客,這樣您就可以瞭解整個行業的當前問題和未來前景。
最後,閱讀這篇文章從純粹技術角度來看部分技巧。
2.團隊技能
這是一個經常被忽視的技巧。你如何與團隊成員合作?你是否對PR評論感到憤怒和意見,並對有其做出貢獻?或者你是否體貼,合作和鼓勵你的團隊成員?高階開發人員沒有大的自負。他們知道他們很好,不需要向他人證明自己。他們編寫乾淨簡單的程式碼,而不是編寫程式碼來炫耀其他團隊成員無法讀懂的技能。他們願意幫助別人,當他們不知道某事時,他們願意提問。
這就是情商出現的地方。社會心理學是提高這種技能的重要工具,沒有什麼比“ 如何贏得朋友和影響力的人”更好。記住:你如何能讓你身邊的人變得更好?如果你的團隊中有5人,那麼1 + 1 + 1 + 1 + 1應該大於5,因為你可以讓你身邊的人變得更好(現在我從數學純粹主義者那裡得到邪惡的眼睛……)。
如果你是任何一個專案的參與者,或者你參與的任何一個團隊,那麼你就能夠與你的隊友相處並讓其他人一起工作,你已經遠遠領先於大多數人。您還可以讓經理,主管,Scrum大師和CTO的生活更輕鬆。那些是得到晉升的人,更重要的是那些是為公司提供最大價值的人。
3.客戶/使用者技能
您是否能夠與客戶或使用者交談,並清楚地瞭解他們的需求?當他們向你提出一些建議時,你是否瞭解他們面臨的問題?高階開發人員是一個可以獨立與客戶並可以成為優秀聽眾的人,然後就最佳步驟向前邁進提供建議。他們在組建關係方面非常出色,他們不會將意見推給客戶。他們明白,目標是一個非零和遊戲,客戶和開發者都可以從互動中獲益。
最後,您需要能夠向非技術人員解釋複雜的程式設計概念。通過觀看大神分解複雜的話題開始開發這項技能。雖然他們正在教練困難的話題,但你可以觀察他們之間的一些共同點。
4.成長技巧
高階開發人員每天都在學習新的東西。這並不意味著他們每天花14小時坐在電腦前閱讀文章。他們比這更有效率。他們一直在尋找與其他開發人員交談,提出問題或探索新主題。他們不專注於一個技能組合。在做一件事情時,你可以成為世界上最好的人,但是如果你不知道整個範圍或者對你解決什麼問題有一個大概的瞭解,那麼你就不再是最好的了。
他們有一個成長的思維模式(相信智力是可塑的),他們相信有意識的練習。他們明白,學習一切都是不可能的,他們選擇把時間花在他們喜歡的事情和最重要的事情上。
他們不只是說“哦,我討厭這個!”大多數時候,說這些東西的人會因為不完全理解而憎恨某些東西。例如,不要只說“我討厭Switf。只有部分的開發人員使用Switf“並且聲名顯赫。高階開發人員說,“Switf在iOS開發方面發揮了重要作用”。他們的觀點可以改變,因為他們喜歡從別人那裡學習,並且在他們決定“憎恨”某些事物之前嘗試新的概念。
5.銷售/面試技巧
高階開發人員能夠讓自己擔任高階職位,因為他們能夠與做出這些決策的人進行交流和銷售。你能夠看到你的僱主或企業的需求,並且你可以向他們灌輸你是解決問題的人的信心。你有信心,但謙虛。高階開發人員也有足夠的信心承擔這些角色,並能夠承受壓力。他們也知道,如果你永遠不會問答案總是否定的,那麼他們會要求晉升或挑戰他們的角色,因為他們認為他們是適合工作的人選。雖然銷售和談判對某些人來說可能會很不起眼,但這是您需要掌握的寶貴技能。有一篇很棒的文章。雖然它談到薪酬談判,但其中一些原則可以應用於其他情況。
6.社群技能
高階開發人員為開發者社群做出貢獻 ,無論是做技術講座,在聚會上發言,為開源貢獻,甚至寫文章。他們是與行業共享資訊的人。他們並不是只關在工作空間的封閉盒子裡,而是和其他社群的人交流,讓他們拓寬視野。這有點像旅行:你遇到並且交談的文化越多,你越瞭解人與人之間的相似和不同之處,並且越是開始欣賞它。
**最後一件事
如果你能夠積極工作上述技巧,你會立即充滿激情。
**
我已經從這個列表中留下了最重要的主題:你喜歡你在做什麼。
如果你不喜歡每天學習有關電腦科學和軟體開發的知識,那麼你永遠不會成為高階開發人員,因為從長遠來看,你不會有更好的動力。如果你是這麼好,他們不能忽略你,你明白激情已被過度炒作。真正的激情來自你掌握了一項技能。你已經努力成為精通領域的領導者。你已經掌握了這些技能,現在你提供給他人的尊重和好處促使你變得越來越好,從而獲得更多這樣的好感受。你就是這樣開發的 你對工作的熱情。
結論
如果你已經學會了編碼,並且正在尋找職業生涯的下一步,那麼你需要以不同的方式思考。你怎麼能夠脫穎而出?你怎樣才能成長?你如何能夠幫助人們解決實際問題並提供價值?你不做簡單的事情就會成為高階開發人員。你做的事情,推動和挑戰你的頭腦和舒適水平。你要學習,並且要一天一天地做出適應,就像你第一次寫了第一段程式碼一樣。每一步都很小,但是在一生中,一小步就會變成幾公里。
永遠不要停止閱讀,永遠不要停止學習,但也要知道什麼是你寶貴的時間,什麼不寶貴。
作為一個開發者,有一個學習的氛圍跟一個交流圈子特別重要這是一個我的iOS交流群:638302184,不管你是小白還是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 大家一起交流學習成長!
相關文章
- 如何成為高階java程式設計師Java程式設計師
- 一位德國程式設計師祕訣:如何通過3個簡單步驟成為高階開發人員?程式設計師
- 一位德國程式設計師秘訣:如何透過3個簡單步驟成為高階開發人員?程式設計師
- 如何從初級程式設計師變成高階程式設計師?程式設計師
- 轉:成為Java高階程式設計師需要掌握哪些?Java程式設計師
- 程式設計師的進階之路程式設計師
- 來自阿里的P7高階程式設計師教你如何成為一名合格的Java程式設計師阿里程式設計師Java
- shell程式設計,實戰高階進階教學程式設計
- 如何從初級程式設計師順利晉升到高階程式設計師?程式設計師
- 併發程式設計進階程式設計
- 為什麼高階程式設計師討厭程式設計面試? - Adam程式設計師面試
- 如何讓自己成為一個專業的高階開發?
- 高階函式簡述 js函式JS
- 高階 Android 工程師的進階之路Android工程師
- 如何成為一名Java高階架構師Java架構
- 高階程式設計師到底強在哪裡?程式設計師
- 程式設計師的macOS系列:高效Alfred進階程式設計師MacAlfred
- 華為員工曬百萬收入!高階程式設計師的快樂,你可以想象到嗎?程式設計師
- Rust 程式設計影片教程(進階)——027_1 高階特性Rust程式設計
- 專業程式設計師進階之路:從需求出發程式設計師
- 讓你成為前端,後端或全棧開發程式設計師的進階指南,一門學到老的技術前端後端全棧程式設計師
- 程式設計師到高階架構師,必須經歷的三個階段!程式設計師架構
- 如何進階一名有競爭力的程式設計師?程式設計師
- 高階程式設計師——java語言深度解析程式設計師Java
- 如何能進階成為一個合格的測試工程師工程師
- Rust 程式設計影片教程(進階)——027_2 高階特性 2Rust程式設計
- Rust 程式設計影片教程(進階)——027_3 高階特性 3Rust程式設計
- Rust 程式設計視訊教程(進階)——027_1 高階特性Rust程式設計
- 後臺程式設計師如何進階大資料學習?程式設計師大資料
- 【Go進階—併發程式設計】ContextGo程式設計Context
- 【Go進階—併發程式設計】WaitGroupGo程式設計AI
- 【Go進階—併發程式設計】MutexGo程式設計Mutex
- shell程式設計進階程式設計
- Java開發工程師進階篇-必掌握的常用設計模式Java工程師設計模式
- Python 高階程式設計:深入探索高階程式碼實踐Python程式設計
- 如何成為更好的軟體開發人員
- 如何快速有效的學習 Python ?阿里高階開發工程師給出建議Python阿里工程師
- 程式設計師快速進階學習到底要看書還是要看視訊?程式設計師