SFFamily 板


LINE

※ [本文轉錄自 Soft_Job 看板 #1EPw1wG3 ] 作者: qrtt1 (null) 看板: Soft_Job 標題: Re: [請益] 新人的訓練 時間: Thu Sep 8 00:48:56 2011 目前看起來,你還在能自由安排時間的狀態。 即使現在覺得相當地悠閒,但事實上有許多準備工作在你踏出新手村之前能做的。 =============================== 觀察情勢與環境 =============================== 這裡不討論人際關係,而是觀察一個 task 是由何處產生的,最後導向何處。 如果是做產品的,可能會是 QA 要求修 BUG,可能是進行 PM 規劃的進度。 如果是新創的公司,可能會是一段 brainstroming 後的概念證明實作。 這些流程大概是你工作好一段時間會有的流程, 但初始可能只是分到別人 task 的一小塊。 比較少會有全新的內容到你手上, 除非大家已經對你的 coding style 與程度有足夠的理解。 在剛開始,你還沒有足夠的知識處理全新的局面時, 你可能會被指派到分析 Bug 的 root cause, 如果分析的出來就能試著解看看,如果分析不出來,你得練習你的回應方式。 『不知道』、『不懂』都是最簡單,最輕鬆的回應。 但這對你的信任感與可靠度提昇沒有幫助。 如果你想要能處理更多豐富且多變的問題, 你得在這理的回應練習一下。 在毫無頭緒的時候,有幾種方式獲得幫助。 0. 一定要把有 bug 的程式執行起來。 1. 對流程毫無概念時: 一定要讓程式跑起來,善用 debugger 配合單步追蹤。 並試著寫下你對流程的理且,配合程式命名慣例, 或註解上用到的 term 去相互解釋。 2. 即使用了 debugger 也無法理解流程, 也許能試著回到再原始一點的 log message, 3. 若上招也起不了作用,只好麻煩同事給你一個清晰的輪廓。 (若有人願意講,你最好筆記下來。這是難得的機會) 但在這一步之前,你最好能描述一套你自已的理解, 並說明試著用這個理解的方式去解釋、或分析 bug 成因似乎對不上。 請同事指出你的盲點。 註:也許有人不好意思問,但只要想著 『如果我會了,就是減輕大家的負擔。』就會覺得這麼做是正確的。 註:對自己描述自己的思路是相當有益的。 對自己的理解再理解,有時能發現自己的盲點,或是新的選擇。 4. 如果你已經拿到『版本控制系統』與『議題追蹤系統』帳號, 試著找詢相關專案的 bug,取出 bug 解決前的版本,試著分析問題看看。 有了自己的見解後,你再去比對修正版本的解法。 註:如果還沒有跟同事混熟,這時的解法如果有不同,就不用硬著頭皮去問了。 依個人成長背景的不同,偶爾會有想要抵抗陌生人的情緒出現。 =============================== 準備好你的工作環境 =============================== 在進行上一段修煉的同時,你應該會接觸到同事使用的開發環境。 0. 如果打字太慢,請有空就練習。雖然開發軟體不是打字而已, 但不要讓打字的不流暢感阻礙了你開發的流暢度。 1. 準備你的 IDE。這裡的 IDE 並不是單純指 Visual Stuido 與 Eclipse 這類東西, 而是輔助你工作流程流暢的各種設置。 以我個人的情況來說,大部分時間在寫 Android Library 與 NDK, 在 Java 部分是使用 Eclipse 為主要開發介面, 而 NDK 部分,我是使用 vim 寫 c 配合 ndk-build。 要怎麼讓這二組我所習慣的不同語言的開發環境緊密結合呢? 特別是它們二個產出的檔案得複製到約定的位置才能正常運作(當然也包含相依的檔案)。 這裡我利用 Eclipse + Ant Builder Script 做一些自動複製的行為, 讓 NDK 部分編譯完成,只要 refresh project 就會自動將 Eclipse 管理外的檔案連帶做一些額外的動作。 利用這些用來將你各種開發環境『黏』起來的 script,才是完整的『IDE』。 因為我們不能只在別人預先提供好的 Eclipse 下流暢, 或是在 vim + c + make 的情況下,『個別』地流暢。 2. 善用 IDE 內圖形化的除錯介面 有些人知道 IDE 自動完成很好用,但卻從來沒用過 debugger。 對 debugger 的掌握最好要知道: *. 編譯出來的程式是否含有 debugger 所需的資訊 (turn on/off) *. 如何跑一般模式與 debug 模式 *. 了解 breakpoint: 如何設定、如何列出已設的 breakpoint、如何刪除、如何暫時停用。 *. debugger 執行到 breakpoint 時,停下了。如何查看 breakpoint 之前的變數內容。 *. step into, step over, return 或切換不同 thread 的功能 *. 使用 Watcher 3. 記錄環境設定與備份檔案 有些時候,我們會面臨不得不重建環境的情況。 而這個動作,可能在剛進公司時,前輩會比較有耐心教你。 你得妥善記錄,除了重灌 OS 的時間,你最好能在半小時內完成這個動作。 *. 環境變數設定(PATH, etc ...) *. 安裝各種 SDK、下載需要的 library、建立開發用 server (httpd, db, memcached ...) *. 配置 IDE 與 glue script *. 安裝版本控制系統 client,並確定能由版本控制系統取回你需要的程式 (只需確定能 checkout/clone 即可,因為加上下載時間,你可能來不及。 如果立刻取得程式碼是重要的,那請在移機前備份,或放在重建時的第1步做) =============================== 熟悉那搭起高樓的磚頭 =============================== 1. 熟悉函式庫 觀察公司使用那些 library 或 framework。 不管他們是不是 3rd-party 的產物,專案裡總有些基礎的材料。 熟悉他們總是會有好處的。 2. 熟悉例行公式的相關實作 以 Web App 為例,將有一部分實作是與資料庫讀寫相關。 對你個人來說,這些例行公事的基礎是否掌握住了? =============================== 保存你的成果 =============================== 在先前提到『版本控制系統』,雖然這不是每個公司都有。 但這會關係到你如何處理每日的工作成果,並且是否容易回溯到特定的狀態。 我個人很重視版本控制系統的使用: http://qrtt1.blogspot.com/2011/02/1.html http://qrtt1.blogspot.com/2011/02/2.html 如果你的公司有版本控制系統,你能先熟悉它的所有操作方式。 而學習的重點很簡單,你得學會版控的 CRUD。 以 Mercurial: The Definitive Guide 來說, 它除第一章的基本教學,還有提供: Chapter 5. Mercurial in daily use http://hgbook.red-bean.com/read/mercurial-in-daily-use.html 讓學習的人能用較短的時間,先掌握一些基本指令來處理日常工作所需。 就算你使用的版本控制系統不是 Mercurial, 你也可以透過這樣的段落安排抓出一些必學的要點。 如果你的公司沒有版本控制系統,或是版本控制系統很難用! 通常與『分散式版本控制系統』合用會是一種快樂自處的方式。 如果你對版本控制系統沒有概念,就想像成是電玩裡的金手指吧。 想在任何時間點都備份,並且能回到備份的時間點重新來過。 簡單地說,你得在新的環境照顧好你自己。 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.52.27
1F:推 mocad:受用 tks 09/08 01:21
2F:推 leicheong:個人在未了解流程下debug時, 比較喜歡利用stack trace 09/08 07:38
3F:→ leicheong:視窗. 在要觀察的地方下breakpoint後, 很快就可以回到 09/08 07:39
4F:→ leicheong:相關function的最外層. 這對破解extension method / 09/08 07:40
5F:→ leicheong:partial class地獄相當有幫助...... 09/08 07:40
6F:推 kimkao:個人認為新人最好不要把四不一沒有太直接的掛在嘴上 09/08 08:07
7F:→ kimkao:不知道、不清楚、不懂、不要問我、沒有意見..雖然是在不了 09/08 08:08
8F:→ kimkao:解環境或工作下的正常反應,但應避免直接的使用這類消極的 09/08 08:08
9F:→ kimkao:字眼或語氣回復其他人的關心或提問,如果可以再輔以一些正 09/08 08:09
10F:→ kimkao:面的口吻,像是雖然不是很清楚但我想可以從哪個方向進行, 09/08 08:10
11F:→ kimkao:再與資深同事討論看方向可不可行,我相信會皆大歡喜的! 09/08 08:10
12F:→ qrtt1:樓上讓我想起,我曾帶過一個新人。他什麼也沒說,但用迷矇 09/08 08:18
13F:→ qrtt1:且無辜的眼神望著你。。。 (默) 09/08 08:18
14F:推 kimkao:哈哈,是正妹嗎XD 這真的是過與不及的示例,提問的方式挺關 09/08 08:20
15F:→ kimkao:鍵的,說話時不要一副讓人感覺好像是我欠你的就可以了 09/08 08:21
16F:推 RouterHsieh:我倒覺得不懂裝懂比說不會更糟糕吧...zzz 09/08 08:35
17F:推 fannys23:我認為 kimkao 的意思是:不懂要說出來哪邊不懂 09/08 09:04
18F:→ fannys23:只是冷冷的說「我不懂」,對想幫忙的人實在是一種打擊啊 09/08 09:05
19F:推 lwecloud:然後對方跟你說他「全部都不懂」...XDDDD 09/08 10:23
20F:推 kimkao:fannys23說的對一半,另一部分是提問者必須呈現出有想要解 09/08 12:20
21F:→ kimkao:問題的熱忱以及有動腦去想並尋求意見,而不是丟出一個炸彈 09/08 12:20
22F:→ kimkao:後,就一副看戲的嘴臉,這樣就很機車了XD 09/08 12:21
23F:推 littlebau:說得很棒阿! 09/08 12:45
24F:→ andymai:問問題以前先google一下囉~先讓自己有點觀念比較好... 09/08 13:09
25F:→ andymai:找不到也沒關係~給人家一種"我試過"的感覺也比較好 09/08 13:10
--   「大哥!你....」   「你在以旁門左道的方法,逼自己的劍氣踰越極限﹖」   「廢話!」應雄反駁:   「什麼旁門左道﹖能夠將最強的功力提昇至無法再上的強中之強, 才是必勝的最佳戰略!」 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.117.169







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP