對于大學生來說,暑期兩個月的假期是一個很好的時間去實習,讓我們在成長中學習中度過有意義的暑假,你寫好暑期實習心得了嗎?下面小編帶來的是遠程工作獨立開發(fā)者暑期實習工作總結(jié)。
六月中旬,我接手了一個基于WordPress平臺的網(wǎng)頁開發(fā)項目,作為遠程工作的獨立開發(fā)者,計劃用三周時間實現(xiàn)核心功能,但沒有取得任何實質(zhì)性的進展;七月初,我作為實習生開始為期八周的全職工作,繼續(xù)獨立的推進這個項目,用四周時間實現(xiàn)核心功能,上線了內(nèi)部員工測試版;在接下來的四周中,我實現(xiàn)了更多重要功能,整合同事提供的用戶界面,最終在離職前上線了對外部訪客的正式網(wǎng)頁。本文試圖從一名開發(fā)者的視角,以上述三個階段為線索,總結(jié)這段經(jīng)歷。
6.18 ~ 7.4 圣地亞哥
考到學期最后一天的期末考,令人精疲力盡的搬家,短暫愉快的潛水旅行,這些之后我宅在家中開始著手項目。坦白說,這是一段舒適而效率不高的時光:每天花四五小時在電腦前工作,白天在陽光通透的客廳,晚上在燈火昏黃的臥室。因為處于剛剛放暑假的心態(tài),難以長時間專注,經(jīng)常是遇到障礙時研究一兩小時就開始刷社交媒體,瀏覽無關(guān)的網(wǎng)站。
我的計劃是一邊研究項目所需的技術(shù),一邊與身在上海的領(lǐng)導溝通網(wǎng)頁設(shè)計,試著確定一版設(shè)計稿。然而,遠程工作溝通不便的性質(zhì)決定了我們的交流不可能百分百有效,不能完全理解領(lǐng)導的意圖;而急于給領(lǐng)導留下好印象的我,在技術(shù)研究不順利的情況下,盲目的希望用設(shè)計圖展示自己的能力,于是精耕細作的設(shè)計出許多我們所不需要的東西,浪費了不少原本可以用于學習技術(shù)時間。
在技術(shù)研究上,我的問題是急于求成,缺少腳踏實地的耐心。面對一個新的編程語言和開發(fā)環(huán)境,一開始的手足無措是正常的。但我的應(yīng)對方式是花一半左右的時間尋找第三方插件,寄希望于通過修改專業(yè)人士的代碼來解決我的問題,或至少通過看別人的代碼搞懂項目架構(gòu)。但是,項目的復雜性不允許我們整體采用第三方代碼,而且我并不能完全看懂專業(yè)開發(fā)者的代碼,修改更無從談起。
我也有自起爐灶的嘗試,下載了文件傳輸,本地服務(wù)器等各種軟件,但慚愧的是,在我遠程工作期間始終沒有走出自己開發(fā)的關(guān)鍵一步:搭建本地網(wǎng)站。現(xiàn)在回頭看,我當時已經(jīng)有了搭建本地網(wǎng)站的所有軟件、文件,也許再多Google一次,再看一篇教程就能做到。但別的無效嘗試耗盡了我本就不多的耐心。
7.11 ~ 8.6 上海
經(jīng)歷了上一階段的不順利,我一度覺得自己沒有能力在這個項目中起到主導作用。所幸,公司依然安排我擔任項目開發(fā)的主力,這要感謝領(lǐng)導對我的信任。
在同事的幫助下,我搭建起本地網(wǎng)站,F(xiàn)下有了八周全職工作時間,不再急躁的我打開我能找到的最貼近實用的教程,像個初學者一樣一個一個模塊的實現(xiàn)教程里的代碼,不去想是否有用。比起復制黏貼,我更喜歡一行行打出功能相同的代碼,換幾個變量名稱,即便代碼一模一樣也堅持自己手打。這樣做讓我以最快的速度上手了PHP這門對我來說全新的語言。
跟隨教程建立最基礎(chǔ)的開發(fā)環(huán)境后,我接下來所面臨的一大問題是明白自己要找什么。一個例子,在上一階段對于第三方包裹的研究中,我知道了“短代碼”這一概念。這時我搜索的內(nèi)容,從“WordPress插件如何在用戶端顯示內(nèi)容”,變成“如何實現(xiàn)WordPress短代碼”?梢韵胍,后者遠比前者更容易找到滿意的答案。知道“短代碼”這一概念,使我能夠把較為模糊的最終目的,具象為清晰可行的技術(shù)手段,這便是我所謂的“明白自己要找什么”。
另一個更為曲折的例子,在本地實現(xiàn)核心功能后,我發(fā)現(xiàn)在線上測試時數(shù)據(jù)庫讀取不成功。改用了新版本的數(shù)據(jù)庫函數(shù)并在本地測試通過后,運用到線上時依然不成功,但報錯信息發(fā)生改變,花了五六小時調(diào)試沒有成效。這時我認為我已經(jīng)排除了數(shù)據(jù)庫函數(shù)版本問題,問題理應(yīng)不在我的代碼中,于是請求負責數(shù)據(jù)庫的同事著手,自己開始研究下一步的開發(fā)。兩天后,同事發(fā)給我一段代碼讓我嘗試,雖然沒有成功,但其中一個關(guān)鍵詞引起我的注意。經(jīng)過幾番搜索,我發(fā)現(xiàn)我的數(shù)據(jù)庫函數(shù)版本在改動后仍然不符合現(xiàn)有平臺,改用面對對象的數(shù)據(jù)庫函數(shù)后,問題解決。
目前,我把“明白自己要找什么”不準確的定義為“已知所需的功能,落實到技術(shù)細節(jié)”的過程,我認為這經(jīng)常比學習一項技術(shù)更難。比如在第二個例子中,我先前誤認為問題出在線上數(shù)據(jù)庫,正是已知出錯的功能,而沒有準確定位需要修改的技術(shù),直觀上說就是“找錯了地方”。單純學習一項技術(shù)可以簡單的借助搜索、教程以及不斷地實踐;而功能落實到技術(shù),常常不能搜索到明確的答案,而要依賴自己或他人的經(jīng)驗與主觀判斷。至于如何更好的“明白自己要找什么”,容我留到下一部分再說。
我能在四周中完成核心功能,做完之前三周毫無進展的工作,主要是做到了專注、踏實——專注于技術(shù),踏實的從零開始做起。
8.7 ~ 8.10 & 8.20 ~ 9.6 上海
進入這一階段的開發(fā),我面臨一些新的難點。面對更多樣的功能需求,快速上手使用各種第三方包裹;在編寫面向客戶的頁面時,與領(lǐng)導合作完成設(shè)計。好處在于,此時的我更熟悉崗位和項目,與領(lǐng)導和同事更好的溝通使我更專注并獲得更多支持,對編程語言和項目結(jié)構(gòu)的熟悉讓我更好的工作在手頭需要的功能中。
我上文提到的,如何“明白自己要找什么”,在這一階段的工作中依然是最大的困擾。具體而言,學習、編寫新功能之后,測試時出現(xiàn)“網(wǎng)頁超時”、“下載失敗”等有多種可能原因的問題,此時我往往沒有好辦法。也是在一次次解決問題的嘗試中,我獲得一些淺薄的見解。想要“明白自己要找什么”,根本的途徑是提高項目經(jīng)驗與代碼能力,前者幫助我們更準確的推斷問題,后者使我們能夠更快更好的驗證每個改動。但顯然,這兩者不是一時能夠提升的。
一個事半功倍的解決方法是高效的搜索,一項重要而需要練習的技能:用英文簡短準確的描述問題,篩選有用的搜索結(jié)果(因為英文互聯(lián)網(wǎng)中的技術(shù)指導更多更精)。比如,針對“WordPress插件如何在用戶端顯示內(nèi)容”這個功能,谷歌搜索“WordPress plugin display content to user”,跳過搜索結(jié)果中前三項對可下載插件的介紹,第四項就是對于我們需要的技術(shù)的詳細教程。
同樣重要的是耐心和交流。有用的一則信息完全可能出現(xiàn)在十篇不相關(guān)的文章之后,少一分耐心就會錯過;向他人解釋自己遇到的問題可能是最好的理清思路方法,而外來的建議,即便來自不如自己了解技術(shù)的人,也常有旁觀者清的效果。
以上之外,我想提的另一點不僅僅關(guān)于代碼,同樣關(guān)于做好任何一樣工作,那便是精益求精。一方面是追求完美,在領(lǐng)導和同事無暇配合時,能否不僅僅停留在“我已經(jīng)研究好了技術(shù),就等你來配合我”,而是盡力做好所有自己眼下能準備的要素,待開始合作時就能緊密無間;另一方面是不懈努力,在一個功能測試失敗,想盡辦法沒法獨立解決時,能否不要沮喪的開始玩手機,而是轉(zhuǎn)而研究另一個將來也要用的功能,保持整個項目總有一處在推進。這當然是說起來容易的高標準要求,但我清楚要是我在這兩方面做的更好,或許能留下更完滿的結(jié)果。
當然,盡管留下一些不完美的妥協(xié),我最終在離職前比較好的完成了這個項目。這些能力和意愿上的可提高之處,不妨礙我為自己的工作成果而驕傲。
總結(jié)
開展新項目時,應(yīng)聚焦于眼下的技術(shù)研究,并在搭建完整的開發(fā)環(huán)境后從最基礎(chǔ)開始。
“明白自己要做什么”,即把功能上的問題落實到技術(shù)細節(jié),是最大的難點,可能的應(yīng)對方案包括:
提高搜索效率
秉持更大的耐心
更主動的交流
工作中追求完美,不懈努力
來源:網(wǎng)絡(luò)整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。