1. 程式人生 > >如何成為一個iOS開發者

如何成為一個iOS開發者

如果你想知道如何成為一個專業的iOS開發者,這個清單就是我建議你要做的。我會從我作為5年的iOS顧問、8年的軟體開發者以及一個HR——我在最近3年內僱傭了幾個iOS開發者來處理我無暇顧及的工作——的經驗來說明。這些是當我僱傭一個iOS開發者時會考慮的。這裡的清單很重要,是一步一步遞進的,在某些情況下,前一步甚至是後一步的必備條件(即必須的)。

1.學習軟體技術

有很多描述軟體構建方式的術語。我說的是技術,與術語是不相干的。你應該知道如何很好地構建軟體——如何很好地開發它、測試它、除錯它以及如何在最低限度上進行版本控制。如果你仍然對這些實踐不太熟練,那就該學習了,在開始之前,我推薦閱讀一下The Pragmatic Programmer

2.學習如何使用版本控制

版本控制非常重要,所以我提了兩次。對,它是軟體技術的一部分,同時它也足夠重要到單獨說明。如果你計劃和其他iOS開發者一起工作(即使你不打算),你絕對需要知道如何使用版本控制。它讓你可以打點,回到以前的某個程式碼版本,並解釋為什麼你要做出更改。很有可能你會使用git,現在很多公司都是用的它,但你也可以檢查一下他們使用的是什麼。對於git,你應該知道:

  • 如何建立一個倉庫(repo)
  • 如何克隆(clone)一個倉庫
  • 如何提交(commit)和推送(push)到遠端
  • 如何從遠端拉取(pull)與合併(merge)更改
  • 如何檢查你本地倉庫的狀態
  • 如何(以及什麼時候)建立與合併分支(branch)
  • 如何建立標籤(tag)(至少你應該在每次提交到App Store的時候做)

這些是基礎——還有很多你可以用git做的事情,並且你可以(也應該)學習更多的東西。如果你還不知道git,可以從學習try.github.io開始

3.學習Swift或者Objective-C

如果你想要做一個專業的iOS開發,就需要了解Swift或者Objective-C(兩個都瞭解最好)。對於一個初級職位,你應該至少要知道語法和大量的基礎框架(物件、集合、資料型別、網路、JSON)。此外,你需要了解基礎的面相物件概念,比如物件是什麼、類是什麼以及如何寫一個方法。

而且你可以在iOS Boot Camp

中學習任何你需要知道的關於Swift的內容。

4.學習iOS

如果你想要成為一個專業的iOS開發者,你就不得不瞭解iOS。這表示你需要對如何做下面的事情有一個好的理解:

  • 構建檢視(使用Storyboard、xib或者純程式碼——三者都瞭解會加分)
  • 通過多種控制來處理使用者互動(按鈕、開發、滑動條等等)
  • 在列表檢視中顯示資料
  • 顯示警告框
  • 在檢視之間處理導航和過渡
  • 顯示圖片、標籤或者文字檢視
  • 整合REST API並理解JSON

5.構建一個app

如果你已經構建過一個app了,就已經證明了你知道如何構建一個app。而如果你知道如何構建一個app,對於潛在的僱主來說就比一些說了解Objective-C和iOS但卻沒有構建過任何內容的人更有價值。所以通過構建一個真實的app來證明你瞭解你要做的事情吧。

因為你這時候應該瞭解版本控制了,在構建你自己的app時就應該使用它。如果你在一個iOS工程上真實地使用版本控制,就會更加清楚什麼檔案應該忽略而什麼不應該。

6.(可選,但高度推薦)提交你的app到App Store

我說這個可選是因為對一些僱主來說,你可能不需要提交一個app到Apple——可能團隊中有一個高階開發者來處理或者可能只是把app釋出到內部使用。但因為你可能需要釋出你未來的僱主的app到App Store,你應該知道其過程。而自己做一遍是最好的學習方法。即使團隊內有一個高階開發者負責提交app到Apple,也可能有時候你需要登入到iTunes Connext來處理更新的元資料、取消一次更新或者其他的事情。做這件事,就可以向你未來的僱主證明你瞭解App Store。

7.申請工作並展示你可以為他們做些什麼

如果你想要專業地開發iOS,就需要申請一份工作。但在你做之前,思考一下:為什麼一家公司想要僱傭你?為什麼公司總是僱傭員工?

知道麼,他們想要從你什麼賺錢。他們想要銷售你的工作然後獲取比在你身上花費的更多的金錢。或者,如果他們準備精簡開支,他們想要保留比花費在你身上的更多的金錢。無論哪種情況,他們都想要通過僱用你來增加他們的利益。

所以你的工作就是說服你未來的客戶/僱主:

  • 你可以按時完成工作
  • 你可以在他們的預算內完成工作
  • 你可以幫助他們抵達他們的商業目標(即賺更多的錢)

大部分公司甚至不會問你這個。他們可能會做一個技術面試以及一個性格面試來看看你是否合適並且能幫助他們。但如果你明白他們想要從你的工作上賺錢並且清晰地溝通你可以如何做到,你就更有可能被僱傭。向他們展示你的iOS工作是你可以做的一種方式——你在向他們證明你可以完成工作。此外,如果你與一些公司員工有關係並且你可以獲取一些參考或者被你認識的人僱傭,會更容易獲取工作。所以在你繼續提高你的技能和尋找工作時閱讀一下focus on building relationships吧。

本文翻譯自博文How to become a professional iOS developer,也就是如何成為一個專業的iOS開發者,我覺得要求比較基礎,因此去除了專業二字。從一份建議的閱讀清單看到的,本想看看如何變得更加專業的,不過作者寫的很有條理,也非常注重版本控制系統,比較適合新手吧。

相關推薦

如何成為一個iOS開發者

如果你想知道如何成為一個專業的iOS開發者,這個清單就是我建議你要做的。我會從我作為5年的iOS顧問、8年的軟體開發者以及一個HR——我在最近3年內僱傭了幾個iOS開發者來處理我無暇顧及的工作——的經驗來說明。這些是當我僱傭一個iOS開發者時會考慮的。這裡的清單

一個iOS開發者必須掌握的66個知識點,你掌握了多少?

1.不可變陣列轉變為可變陣列宣告例項變數的陣列  必須記得實現 對於遍歷陣列找到物件後 如果還需要查詢 記得先結束 再查詢(return/break) NSArray * arr = @[@"人在囧途",@"煎餅俠",@"西遊記",]; NSMutableA

一個資深iOS開發者對於React Native的看法

本文轉自:http://blog.csdn.net/zhe13/article/details/48439967?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 當我第一次嘗試ReactNative的時候,我

如何成為一個Linux核心開發者(經典)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

一個獨立開發者的自白:我如何在一年賺得60萬美元(IOS兒童教育軟體)

L'Escapadou 是一名法國的全職獨立開發者,他曾經發布過數款教育類應用,並由此獲利。他在部落格中分析了在2012年從iOS教育類應用市場得到的經驗,目的是為了通過展示一些具體資料,來告訴其他獨立開發者,這一年都發生了什麼,並幫助他們對明年的計劃作出更明智的決策,其中一些觀點也在論壇中引起熱議。

如何自學成為一個WEB前端

網頁設計 是個 網頁版 成本 webp 嘗試 hot 合並 出了 WEB前端是做什麽的?   那些什麽高大上的介紹作者就略過了,簡單來說就是做網頁的,我們上網瀏覽的網站界面就是WEB前端工程師做的。   在互聯網迅速發展的近幾年,你上網沖浪的時候是不是感覺WEB網站越來越漂

你能否成為一個全棧工程師

你能否成為一個全棧工程師 如果你是有非常強的學習能力,又對嘗試新的事物非常熱心,那麽這個職業將會非常適合你。全棧開發是一個學習、實現、提高的過程。持續的工作將會給你帶來各種不同的視野,你可以將這些都應用在開發中。作為一個全棧開發工程師,為了解決問題,你需要去知道怎麽去開發,用哪種方法,怎麽樣去面對一個新

一個JavaScript開發者都應該知道的10道面試題

結束 vid 認識 本質 特定 更新 mixin 構造函數 程序猿 JavaScript十分特別。而且差點兒在每一個大型應用中起著至關關鍵的數據。那麽,究竟是什麽使JavaScript顯得與眾不同,意義非凡? 這裏有一些問題將幫助你了解其真正的奧妙所在:

成為一個優秀的測試工程師需要具備哪些知識和經驗?

重構 集成 常常 頁面 匹配 archive 靜態代碼檢查工具 作用 安全測試 根據我的觀察,優秀的測試人員可以做的事情可以包括如下3點: 由單純的測試變成項目質量保證工作持續集成探索和推動和自動化測試技術研究測試相關工具的開發1、我們先來講第一點,由單純的測試變成項目質量

iOS開發者證書和描述文件申請

保存 content iphone 2個 gem 密碼 ica nsh 推送 iOS開發者證書是用於開發調試的,可以直接連接你的xcode進行灌裝到你的設備進行測試,第一步需要添加你的設備id然後再申請iOS開發證書。 現在xcode也可以免證書進行調試了。 一、添加

如何成為一個內外兼修的合格程序員

Web開發 Java 一個內向的天才不一定是個合格的程序員。 公司和組織正在尋找有認知能力的人來增加他們的技術能力。這很難用數字表示,因為它非常依賴於公司,但可以在這裏應用70/30規則。意為:人們應該擁有大約70%的技術技能和30%的軟(認知)技能。如果他/她缺乏所需的軟技能,那麽

百度陸奇最新內部演講:如何成為一個優秀的工程師?

web 市場 less 科技 engine 我們 是把 需求 style 作者|陸奇 來源|百度 Family 一位工程師,如何才能稱得上優秀?除了寫得一手好 Code,什麽樣的工作態度和方法才是一個優秀工程師的必備?7 月 11 日,陸奇出席百度內部 Engineeri

菜鳥如何成為一個高效程序員

blank 編程語言 ora struts myeclips 開源框架 掌握 視野 pri 築基階段: 1.敲代碼速度要快,要求手指靈活,盡量減少輸入出錯。這個是基本功,不然何以達到一定的代碼量。 2.精通幾個常用的代碼編輯工具。(註意,這裏說的是編輯工具,除了常用的ecl

成為一個優秀的硬件工程師,你需要具備這些能力!

發展趨勢 時序圖 做到 硬件 sig 利用 討論 單片機 加固 一個好的硬件工程師實際上就是一個項目經理,你需要從外界交流獲取對自己設計的需求,然後匯總,分析成具體的硬件實現。還要跟眾多的芯片和方案供應商聯系,從中挑選出合適的方案,當原理圖完成後,你需要組織同事來進行配合評

使用php寫出一個驗證碼圖片,由於寬度被定死了,所以操作起來不太方便,之後盡量寫靈活,成為一個可調用的函數。

新手 put 由於 -type draw cat 驗證 font 寬度 <?php // Due to the height and width of the captcha image is fixed, not so easy to use, change

如何給一塊新硬盤安裝grub,讓它成為一個只有一個內核的系統

libc key 分區類型 con mount 問題 2.6 usr grub.conf (1)先關機 (2)添加一塊硬盤 (3)將硬盤分區,/dev/sdb1為boot分區,/dev/sdb2為swap分區, /dev/sdb3為根分區 (4)調整/dev/sdb2

成為一個偉大程序員的 10 個要點

並且 重現 練習 abcde fun 全棧 爆炸 實現技巧 match 最近我在接受采訪時被問到我關於成為一名偉大程序員的見解。這是一個有趣的問題,我認為我們都可以是偉大的程序員,無論我們的天賦如何,如果我們遵循一些規則的話——我相信——這應該是常識。實際上,這些規則並不只

ios開發者相關的幾個apple郵箱

itl blog support 發布 dex api 問題 dts view [email protected]應用在提交後(處於“審核中”),應用和應用內購的狀態-狀態更新通知——與開發者遭拒和影響審核時間相關的信息-應用遭拒通知咨詢-快速審核請求-----

成為一個什麽樣的人

解決方案 時間 知識 一件事 log 想去 事情 mar logs 成為一個什麽樣的人 1 當我想去完成一件事情時,能夠提出解決方案,並有能力將其做好,做完美的人。 2 一個有知識、見識、冷靜、對工作認真負責,生活中可雅可俗的人。 3 能夠隨心去做自己想做的,喜歡做的事情,

iOS 開發者的 RxSwift(一)

ner 調度 obs 觀察者 ble 事件 let original super RxSwift 或許我們都聽說過,但或許只知道 RxSwift 這個單詞,長篇大論關於 RxSwift 的介紹往往使讀者迷失在各種概念當中,卻不知如何讓它大展伸手。或許我們可以換一種姿勢,