原文地址: PJ 的 iOS 開發日常
去年暑假旅行回來後,開始萌生要著手用在大學最後一年的時間來寫完自己的大學回憶錄。可在網易雲音樂中搜尋電臺《PJHubs》收聽語音版。此篇文章為第三篇,主要講述了大學四年中,我所經歷的工作。
簡介
很多時候我都在思考一個事情,“我來到這個學校到底需要的是什麼?”。從大一上結束後,基本上每個人都可以預知到自己的大學生活接下來要怎麼過了。身邊的很多同學有把大學四年每天都過成一樣的,也有每天都過得讓我十分羨慕的。只能說每個人的追求、認識這個世界的方式都不一樣。
很多我們以為是無法理解、驚掉下巴的事情,在他人眼中看來就是一件稀疏平常的事情。有這麼一個同學讓我到現在都忘不掉,他有一輛公路腳踏車,全車身碳纖維,據他所說全北京只有他才能修自己的腳踏車,單是車輪就五千多(甚至更高?)。我的第一輛腳踏車是在中關村的家樂福花了 800 塊買的永久牌 22 寸小山地,當時說服自己從生活費中拿出這 800 塊買這輛車,內心糾結了將近一個星期,最後跟另外一個舍友互相說了幾個理由,把對方都說服了,才搭夥一同去買了。關於這輛腳踏車的事,後續會繼續展開。
我說這個事情存粹只是想證明一下人與人之間的差距真的從一開始就有了。正是因為在日後的與這位擁有全身碳纖維腳踏車的同學生活了一年多,慢慢的逼迫我要更早的認識自己,更早開啟自己對這個世界、對這個社會的認識。
第一步
邁出面向社會的第一步是在大二下剛開學那一會兒,群裡有位學長在釋出一個外包,僅僅只需要寫一個 iOS 客戶端,並不需要做其它額外的事情。這個機會被我抓住了,當時心裡只想著能夠讓自己透過技術來賺到自己的第一桶金。
在後續的開發工作中,因為我相當於是乙方,做的東西上有很多需求不明確的地方,但在溝通的過程中也看出來了這個 app 並不是一定要上線。磕磕碰碰的整合了一個三方繪相簿就草草了事,過了一個星期甲方居然沒動靜了。最後實在等不了就自己開口問了這個事情,當時對接了快一個月,第一次明白了開口讓人拿錢是一件多麼需要勇氣的事情。
不過最後還算順利,自己透過所學技術賺到了第一桶金兩千塊,對於當時的我來說數額是相當客觀了。雖然最後看著多出的這兩千塊不知如何是好,但現在想起來這快一個月的時間其實讓自己感受最深的是轉變了自己的思維,同時也認識到了只待在學校裡是一件多麼可怕的事情,待人接物和學會說話是一件多麼重要的事情。
同時也因為這件事讓我確信了學習 iOS 開發的這條路,畢竟因為它讓我賺到了第一桶金。
第二步
接下里,繼續上了幾天課。但是越上課我就越迷茫,我以為經過了外包的事情能夠讓自己安心下來繼續上課,但事實證明實際上我還是沒能給自己找到一個合適的答案。
隨後又有一位學長(暫且稱為 X 學長)在群裡釋出了招聘 iOS 和 Android 實習生的訊息,我立馬聯絡了這位學長,把面試約在了一週後。在這一週的時間中,我把自己做過的所有關於 iOS 的內容都整理在了一個單獨的資料夾中,還問了 X 學長是否需要準備演算法,學長很志趣的說,“大家都是明白人”。
到了面試當天,學長問了我都做過什麼,我一五一十的把自己的所有都展示了出來,唯一值得算得上是“工程”的專案只有當時拿來參加比賽的“大學+”了,我個人覺得是“大學+”救了我,因為當時和小夥伴設計了很多小的細節,雖然對於那時的我來說實現起來非常困難,但最後用了一些“奇技淫巧”給實現了。而且“大學+”整體來看功能相當完整,甚至還整合了一個完整的“IM”,現在想起來才大一完就敢這麼玩真是有點佩服自己了。
印象畢竟深的是,學長最後考了我一個當時幾乎所有 app 都會放的一個功能,“如何實現帶有 headerView
下拉放大的功能?”,當時聽到腦子裡懵了,學長讓我慢慢想,有什麼想法直接說出來就好。但是我實在是怕說錯,以前根本沒想過這個事情。最後說的內容大致為:“可以獲取到 scrollView
的距離,透過距離去調整 headerView
的寬高”,沒想到當時居然被我蒙對了,學長笑了一下說就是這麼做的,後面還問了一些其它的事情現在已經記不得了。
在學校等了一兩天,學長說透過了,下週可以來上班了。當時開心不得了,我居然可以實習了?還真有人想要我這個剛上大二的小屁孩?睡覺都要笑醒。
進去後才發現,其實我十分的不喜歡的這個環境,是家外包公司,燈光昏暗,工位狹小,我經常性的被擠到一角,而且偶爾椅子還會被佔用,只能坐板凳,板凳坐一天的滋味真是無法言語。最要命的是開發流程我現在看來十分不嚴謹,而且幾乎是不顧及規範,怎麼方便怎麼來,怎麼快怎麼來。
但對於當時的我來說每天也是開開心心的來,開開心心的回去,因為每一天都在學習新的東西,正是因為這段現在看來十分難受的經歷,讓我完全熟悉來 iOS 中的 MVC
架構到底是怎麼回事,同時也熟悉了工廠模式等一些之前完全沒聽過的設計模式。換句話來說,這段兩個多月的時間,我是去熟悉 API 的哈哈,給自己一個大量練習的機會。
第三步
實習中負責的兩個專案結束後,基本上沒我什麼活了,也就慢慢的不去了,但沒想到的是第三個月的工資居然沒給我發!從那時起徹底對外包公司產生了惡意。也就這麼莫名其妙的“離職”了。
中途調整了差不多一個月,暑假快到了,想著自己暑假不能閒下來,又踏上了找實習的道路。在這次找的實習中,我的膽子放大了很多,投了京東、銀客網等一些看上去好像挺不錯的公司。當時自己還是沒有習得多上面試套路,基本都是被面試官帶著耍,自己之前做過的很多東西都沒辦法去展示,最難受的在銀客網的面試,面試官上來就問了一堆 C++ 的問題,他的臉慢慢的黑了下來,我的臉也慢慢的黑了下來,雙方都不滿意。
在京東的面試讓我感到最意外,整體非常舒服,確實是對準在了 iOS 方面上,也確實是讓我說到了自己不能說為止,記得非常清楚,第一題就是要自己實現一個圖片下載器。當時腦子一下子也懵了,完全不知道如何回答,同樣是因為平時沒有往這方面去想過。面試官在最後推薦了我幾本書去加強基礎,非常感謝他!在騎車回學校時,我一路狂奔,開始對自己的選擇產生了些許懷疑,“出來面對社會這件事情是否是正確的?”,當時我已經發現了在學校裡漫無目的學習一些不知道用來幹什麼的知識,我更願意去接觸實際生產環境中遇到的問題,透過遇到的問題來折射出我應該去學習什麼知識,這樣有目的性的學習動力會更強。
隨後在蝸牛睡眠的面試中,一進門我就有種“就是它了!”的感覺。當時的蝸牛睡眠是在望京凱德 mall。出電梯後一開門就聞到了異常的芳香!留給了我一個非常好的印象!在接下來的面試過程中,因為經歷過了前幾次的教訓,我還是借用還是“還是大二,目前還有很多東西需要繼續學習”等的思路對待一些我回答不上來的問題。非常高興的是,一兩天後我得到了 HR 小姐妹的回覆,下週可以直接入職。
剛開始我以為做的是“蝸牛睡眠” app,在待入職的這幾天的時間中,一直在使用,還找出了一個 bug,但進去後才發現,其實並不是這樣的。boss 給我和另外一個同為實習生的同學開了一個新的業務線——遊戲。需要在接下來的時間中做一個類似與“方塊彈珠”的遊戲。確實,又把我給整懵了。
到後來還好,我們選擇了使用 Cocos2D-X
這個跨平臺遊戲框架,雖然用了跨平臺遊戲框架,但實際開發中卻不是跨平臺,我和另外一個實習生都各自針對 iOS 和 Android 各寫了一套完全獨立的程式碼,估計當時我對自己的成果比較看重,不願意與人直接分享自己的工作成果,現在想起來感到很奇怪,為什麼當時自己要有這麼幼稚的想法,導致專案進行到最後我都在糾結一些毫無意義的點子上。
不過也正是因為在蝸牛睡眠的這段遊戲開發的經歷,讓我對遊戲開發有了一個完整的流程認識,真正的理解了一個遊戲是怎麼從無到有開發出來的,同時也因為這是一個全新的產品,也讓我學習到了如何去與團隊中的其它同學進行溝通,如何跟 UI、PM 等同學進行描述自己遇到的問題,同時也熟悉瞭如何在 App store 上架一個 app,也收到了蘋果爸爸發來涉及抄襲的郵件。
在蝸牛睡眠的最後時間是在等待上架,但當時正值國內遊戲行業規範階段,版號相當難搞,最後在我去新疆旅行的飛機上收到了我被迫離職的訊息。到現在想起來我都很傷心啊!三個小夥伴打磨了三個月的產品說沒就沒了,心情極度鬱悶,這個遊戲後續我有開源計劃,大家可以期待。
第四步
經過了蝸牛睡眠的實習後,我已經大三了,對學校的厭惡更上一層樓。看到身邊的同學們對未來依舊沒有想法,讓我更不願意呆在學校。從新疆旅行回來休息了一個多星期時,我原本想著讓自己繼續休息,但在完成 PLook
第一期開發後的某個夜晚難以入眠,又開始思考起了我大學的意義。最後我開啟實習僧,瀏覽當時在招的實習生崗位。這次我的膽子又大了,沒聽說過的公司一概不投,愛奇藝、美團、滴滴等大公司都投了一遍,最後看著簡歷都傳送出去後,才迷迷糊糊的睡著了。
第二天在社團實驗室中繼續寫著 PLook
,沒記錯的話,應該是 10:00 一過,我的手機就開始一個接著一個的響,各大公司的 HR 都給我打了面試邀請電話,按照電話的撥打順序,我把滴滴的面試排在第一。
面試當天我來到了位於數字山谷的滴滴大廈。共經歷了兩面,這次的面試我開始運用了一些技巧,比如把一些技術問題轉移到我曾經做過的專案中來,其中 PLook
幫了我很大的忙!面試的細節總體來看還算正常,沒有問一些稀奇古怪的問題,最讓我沒想到的是,面試我的兩位 leader 都不是寫客戶端的,但是他們在面試過程中對客戶端問題把握得實在是穩,雖然有現場查題的嫌疑,但這種從容不迫的老司機實在是讓我又愛又恨。面試結束,我走去公交站乘車回校,剛走到公交站牌 HR 就給我打了電話,恭喜我透過了面試,什麼適合可以入職。當時我激動得差點跳了起來,滴滴的環境十分優異!我二話不說立馬答應下週入職。
進去滴滴的第一天,leader 找我的談話時對我做的 PLook
贊善有加,十分喜歡,還問了我準備什麼時候上架等一些問題。直到現在我還在滴滴,並且已經拿到了滴滴的秋招轉正 offer。仔細一算,到今天為止,我在滴滴待了一年零三個月。
在這一年零三個月中,我也慢慢的發生了很大的變化,從最開始“跪舔”各大網際網路公司,到現在已經看透這些網際網路公司的本質,對這種日復一日的工作早已厭倦。在這一年零三個月中,我也慢慢的開始正視工作這件事情,不再抱著所謂“美好”的一面去看待這些事情,有不算討厭的事情做,有錢拿,這就夠了。
至於以後的安排,如果不出意外,我還會繼續在滴滴待下去,直到我真的無法忍受國內網際網路公司的各種劣性,比如 996、大小周等毫無意義的事情,不過我之所以能夠在滴滴呆的這麼久,有很大一部分原因是滴滴沒有我目前所討厭因素中的任何一個,就算資本寒冬,滴滴也保持著它最初“可愛”的樣子,要不然,我早就走了,不會來來去去的思考了 N 多次後繼續這份工作。
第五步
以後啊~以後的事情很難決定呢!但是現在可以確定的是,我會慢慢的遷移到大前端方向上,雖然其它的一些東西也雜七雜八的都做過,但回過頭來看,其實自己最喜歡的還是跟使用者打交道,iOS 還是一直會做下去。
非常遺憾的事情是,大學四年,我居然還沒有釋出任何一個完全屬於自己的 App,在接下來的時間中,我會逐漸的走向這個過程,而且會進入更多的 Apple 平臺裝置,比如朝思暮想的 Apple Watch,在 Watch 上,這是一個更加容易引起開發者思考的平臺,會讓開發者從本質上去思考,使用者到底需要的是什麼。
總結
我的實習生涯從 2017 年 3 月到今天,過去了整整兩年的時間,在這兩年的時間中,真的非常感謝當初自己對自己下的目標,逼著自己提前去接觸這個社會,去看看在實際的工作到底是怎麼樣的。
到現在,我還是那句話,如果你也想像我一樣,像我一樣去認真的發掘自己是否真的適合這個行業,那麼越早出去實習越好。
本作品採用《CC 協議》,轉載必須註明作者和本文連結