特別的開發階段,特別的收穫

楊闖發表於2014-05-26

進入工作將近三年的時間,也一直地在這個公司工作著,無論是實習還是正式轉正,一直都在不斷地成長著,而今年過年後,一系列的變動,特別是3.3,讓我學會了更多的承擔,也讓我面對著許多的壓力,也讓我學會了更多的成長。

  1. 話說3.3的iOS組任務是我進行的分解,也是我對相關任務進行的預估,但是明天就是這一天的結束日,按照正常我的工作預期是13天半,雖然早已知道會有許多額外的工作,但是我清楚地知道在這二十多天來有許多時間上的浪費,或許有這些浪費是比較好的,因為將來會去注意這方面時間的浪費。

    1)某功能在進行開發之前感覺似乎不是那麼地難,只是邏輯很複雜,並且在完全開發之前沒有細想,等到開發到一半的時候發現邏輯越來越多,而這一塊的部分功能需求互動沒有明確給出。詢問互動後,互動的答覆是因為該功能的需求不是那麼地重要,並且現在實現功能如此複雜,可以直接將本部分的需求給以簡化。這讓我明白了作為一個程式設計師,不要一直都把自己當成一個死板不思考的程式設計師,在進行開發之前要對相關實現方法進行細緻分析,深入細節,以便能夠更好地預估工期,也能夠更好地向產品給予反饋。並且開發相關功能的時候要思考為什麼要有這個功能,實現這個功能大約要用多少時間,如果兩者不成良好的比例,就該向需求提出相關疑問,讓產品去思考本功能是否真正要實現,還是要簡化,還是要直接放棄。

    2)iOS和安卓是兩個平臺,但是面對同一個產品同一個週期同一個功能,如果感覺自己做的事情比較複雜的話,最好進行互相的溝通。因為在本期中有一些思路是詢問過來簡化了時間,是一個很好的體現,但是也許會有一個問題,那就是對方所實現的思路會違背互動的開發需求。儘管有比較快捷的開發思路的話,不如將兩個不同實現方案的開發週期、開發難度、開發弊端等方面和互動進行溝通,讓互動去選擇究竟是那個方案應予實現。

  2. 在本期中,許多額外的任務穿插過來,突然讓我想起去年的一系列事情。想起某領導和我說過的事情要根據重要情況和緊急情況進行分級,分成緊急且重要、緊急不重要、重要不緊急、不緊急不重要五個等級。要學會劃分優先順序,以便能夠讓自己合理地安排好自己的事情,也能夠對別人的工作提供更好的支援。

  3. 要學會把任務給予別人,在本期中,第一次真正作為唯一的主力,也真正地第一次在實際工作中給別人分配任務,第一次考慮自己的工作任務重要讓別人協助解決,這件事情讓我明白人不要總想自己能不能做好這個事情,而要想的是怎麼才能夠更快更好地把事情做好。

  4. 在這個開發週期中,我清楚地知道我發火了,並且是和女生髮火,我深刻地體會到了曾經那麼細心認真的我究竟為什麼就那麼地不耐煩了呢,難道自己在這方面已經不是這樣了?或許事情的堆積讓自己壓力很大,或許許多的詢問、協助讓自己有些不太耐煩,而自己應該明白人要想做事情就要認真細緻,別人的不斷詢問是對你的回答不那麼地瞭解,產品不清楚開發的技術問題,人家不清楚不懂為什麼就不能用普通的話語把技術問題給表達出來呢,反而跟女生急了,讓女生有較高的心理壓力,而這裡所體現的是自己急躁、不耐煩、語言溝通不好等問題。

  5. 不知道什麼原因,無論什麼時候似乎有些問題都敢提出,而且還去和產品提出相關產品設計上的疑問。不是說提出疑問不好,而是不能一直死腦筋,因為我想起了去年的一個事情。一個版本的開發由於功能沒有面向全部人員開放,我所接到的需求是彈出一個提示即可,而我一直在犟不應該這樣,應該不同的情況彈出不同的提示,以便讓使用者得到更好的指引,比如下載更新版本、等待功能開放等方式。而我一直都在說我雖然遵照需求實現,但是保持自己的意見。當時的一個同事和我說我的想法在互動中是比較好的,但是這個只是一個臨時的策略,或許他們不想在這方面弄得太複雜吧。在這期中,我又提出了兩次關於按鈕顯示內容切換的疑問,而這次我聽到的是互動給予他們的真正原因,也讓我想起了曾經我的一次質疑時互動和我說兩種情況都可以,但是為了適應大眾軟體風格所以這樣。這些事情讓我明白了不要永遠活在自己的想法中,要充分理解別人的想法,而這樣的溝通,是讓自己更多地去學習,去成長。

  6. 你不在事情就不能正常運轉並不是好事,或許這樣的事情更能凸顯你的位置,但是你的不存在讓整個事情停滯或延後會給整個團隊的計劃打亂,而一個人的問題導致整個團隊出現問題,這樣的問題應該越少越好,越早解決越好。

  7. 要充分考慮整個專案而非一小塊新的功能,以前每一期的開發,都想到的是我要把這個新的功能開發好,對於別人提出的bug能夠解決就好,但是現在,面對整個專案,自己要清楚的是自己要善於發現問題解決問題,而不是等著別人提出問題。

  8. 要善於調節自己,曾經的我以前沒有什麼聽音樂的習慣,不知為何這期間我似乎養成了一個習慣,就是在不配合別人工作的情況下,聽著音樂似乎比不聽音樂開發的效率更高。或許是完全一天天地只聽著鍵盤的聲音讓自己比較沉悶,或許這就是一種調節自己讓自己心情舒暢地工作,但是不能去聽音樂的相關歌詞,因為那樣會分心,所以這一期我有聽音樂但是沒有記住一句歌詞,不知道自己究竟聽了哪些歌,或許這不是一個好習慣,但是這個目前的確是一個比較有效的辦法。

  9. 要有集體觀,以前的工作只顧著自己的開發速度和開發週期,而現在自己雖然所承擔的任務是最多的,但是也相應地去為他人的工作所著想,無論是否是同組的,無論是否是同部門的,無論是否是同一個專案的。因為大家都有一個共同的目標,都在一個辦公室中,所以要有集體觀,要有責任,同時其中會有一些錯誤的闡述,所以也要勇於去承認自己的不足。

  10. 要有專案整體全域性觀。現如今在iOS開發中,我不僅僅關注了開發對應的功能,也想到將來在逆向安全、自動化測試、多方面語言協助等功能的體現。因為逆向安全的學習,會讓自己在將來更注意開發,讓自己的軟體更安全,讓使用者更放心;多方面語言協助,讓我想到的是這期的某一項功能,因為之間的存在,讓功能實現更方便,也讓給我想到以後的第三方指令碼的學習,因為以後說不一定什麼時候會用到;自動化測試,雖說是測試人的活,但是單元測試按照常理來說應該開發來測,我本身就是一個開發人員,就要想到要用更自動的方案去解決去實現。

  11. 更便利地協助工作。給我頗有感想的就是圖片資源的使用,因為一些圖片資源完全可以程式碼體現,而這樣的話,對於開發對於美工來說都方便了許多,更減少了時間的浪費,更方便以後的修改。

  12. 為將來的相容著想。不知為何突然想到在開發中應該有一個專門的軟體或檔案進行相關內容的儲存,比如曾經在軟體中儲存了什麼檔案,儲存結構是什麼樣的,為什麼而儲存。因為我想到的是幾年以後或許已經不在公司,那麼新人也新增一個這個檔案,而使用者使用老的版本不斷地升級,老的檔案和新的檔案重名造成的崩潰也不是沒有出現過,所以現如今的相關,要為將來而考慮。

  13. 做事情要深刻而透徹。記得某一天,在公司進行企業證書部署的實驗,原本感覺可以,但是後來卻告知領導他的某些想法似乎不能夠實現,白費大家的時間和勁頭。

  14. 做事情要學會風險評級。記得前幾個月的時候似乎比較煩躁,在開發過程中一直告訴測試說我不保證我的更改不會帶來問題,而在這樣的事情中,要學會去思考如果修改這方面的問題,有可能會帶來哪些問題,帶來問題的可能性有多大,最重要的測試角度在哪裡。

  15. 做任何事情要學會尋找更方便的解決辦法。在這期中,我想到的更多的是更多控制元件的編寫和重用,以及顏色等方面的使用,另外經常地配合別人的工作,也要找到配合工作的最快最簡單的解決辦法,更多的思考或許會浪費時間,但是從長遠考慮會大大地縮短時間。

一下子就想到了這麼多,這二十天來雖然現在還沒有完全完成工作,但是真的學到了許許多多。

相關文章