Re: [請益] 請問大家如何帶新人?

看板Soft_Job作者 (有些事,有時候。。。)時間9年前 (2016/08/17 14:42), 9年前編輯推噓14(1406)
留言20則, 19人參與, 最新討論串2/3 (看更多)
※ 引述《p52189 (鼠霸)》之銘言: : 各位前輩大家好 : 我是一個研究生 : 正在為了畢業奮鬥中(說到畢業真是一把眼淚阿) : 老闆希望我能把手上的程式交給兩位大學部學妹 [--] 這裡我將它明確定為 工作交接,而非成長引導 : 不過老實說...在這之前我已經帶過好幾批學弟妹,成功率非常低 : 我想這應該是我的問題 : 所以想上來問問有什麼好的解決方案 : 先說一下我現在的狀況 : 我手上有一個專案,使用LAMP,伺服器作業系統是Ubuntu和CentOS : 裡頭包含幾支定時爬蟲程式 : 幾支實作別人論文的後端程式,主要是用OpenStreetMap的地圖資料算一些路徑問題(使用php,沒有使用任何框架,全部手刻,雖然我盡力寫整齊了不過能力有限,整體不是很漂亮) : 一個MySQL資料庫,程式裡大部分是不太難的query,因為我也是現學現賣orz 但是因為是跟前述的程式很緊密的一起工作,所以不容易直覺的理解的地方應該是實作的演算法本身的邏輯 : 一個處理暫時資料的Redis資料庫(基本只有用到最入門的那幾個資料結構,主要是用list來處理多個process一起來要資料的問題) : 一支DEMO用的前端程式,使用AngularJS、地圖相關的畫圖用函數庫,以及一些例如轉換色彩模型啊讀讀XML之類的小東西 : 老師希望能讓學妹們使用已經寫好的函數,兜一兜做一些分析之類的應用 : 學妹的狀況就是普通大學生 : 會乖乖讀書寫作業但是不會主動寫玩具,也不太關注業內新聞的那種 : 想問問各位板友,如果是你們的話會怎麼規劃呢? : 因為我在別的匿名討論區問過類似的問題……結果大歪串 : 所以附注一下,希望板友認真一點回覆QQ 我不是男生不要再建議我帶回家教學了orz : 謝謝!! : ----- : Sent from JPTT on my HTC_M9u. 有些任務與角色需要區分的。 交接任務是把東西傳遞給對方,讓他可以重製你現有的成果。 並確認你移交的事項是完整可用的 (未完成的部分靠 known issue 清單解決) 輔助他們完成 hello world 等級的實作,可以算在交接的一部分 但不需包含『個人』應該努力學習的基礎知識, 你的角色是知識傳遞者,非導師(mentor),他們後續該怎麼成長 是否會與其中一些人建立出密切的師徒關係,這就靠緣份了。 目前的情境來談交接的話,你可以大致區分: [基礎建設安裝] 1. 基本系統架設(裝哪一個 Linux Distribution), 裝完後要裝哪些應用程式(LAMP?) 2. 基本系統參數調整,剛裝好要調哪些設定 ulimit、my.cnf、... 3. 第三方套件與應用程式,其他不是由 software repo 來的, 像要自編的東西,或另外設 repo 的軟體 [既有應用安裝] 簡單說,就是屬於你們 lab 的創作(相關開發工具應該前一階段安裝) 0. 如何取得程式(版本控制系統與授權、基本的倫理概念) 1. 程式怎麼編譯 2. 程式怎麼更新 3. 程式由哪些地方執行(也就是你提到的 cron job) 4. (optional) 如果有問題時的排查策略與方法 [開發環境建立] 有了前 2 者的基礎後,應該會比較容易指導開發環境的建立 考慮到開發者可能是用 windows,也許得用 vagrant(或直接使用 vbox)輔助 如果能直接出 Vagrantfile 會更方便 (出 image 檔也很方便只是有檔案肥大的缺點) [新功能開發] 1. 各程式元件與功能的介紹 2. 如何在各元內新增功能? 資料由哪裡來,該往哪裡去,偏好以什麼型式記錄結果 3. 開發完怎麼部署到 {開發、正式} 環境 4. 團隊版本控制系統使用的慣例 ============================================================== 以上每一個大項該學的東西,都可以列出 Reference 不管是書單、官方網址、快速上手教學。 真的太『基礎』通用的,請務必列入該 lab 『新生訓練』課程, 編好簡單的教材,一代傳一代,不該由你獨立去弄。 有 lab 就不該單打獨鬥啊!團體作戰發揮的力量比較大。 若你真的非常有動機指導他們成長,那也要這些東西都會做之後才算有意義。 ============================================================== 若是『脫離』了學生階段,進入正式工作的情況下,會用些更有效率的工具 (其實我覺得,學生階段就能先接觸更好,沒人規定學生就得苦勞地手作啊!) [基礎建設安裝] <== ansible, puppet, chef, ... [既有應用安裝] <== ansible, puppet, chef, ... [開發環境建立] <== docker, vagrant, packer, ... [新功能開發] <== 弄成空白專案的範本, 或出 code generator 或出 IDE plugin 給團隊使用 基礎知識部分則是個人的責任, 大概只有 domain 相關知識才會特別拿出來『新生訓練』 Deploy 部分就用 CI/CD 的工具,例如 Jenkins -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.21.157.224 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1471416134.A.FD1.html ※ 編輯: qrtt1 (211.21.157.224), 08/17/2016 14:43:07 ※ 編輯: qrtt1 (211.21.157.224), 08/17/2016 14:44:21

08/17 14:49, , 1F
推推
08/17 14:49, 1F

08/17 14:57, , 2F
推~說明詳細
08/17 14:57, 2F

08/17 15:00, , 3F
推推
08/17 15:00, 3F

08/17 15:03, , 4F
大大實在太認真回答了 推推推
08/17 15:03, 4F

08/17 15:12, , 5F
但很多老師還是習慣用同一套工具教練 很少會跟上主流的
08/17 15:12, 5F

08/17 15:16, , 6F
理想很豐腴而現實是很骨感的
08/17 15:16, 6F

08/17 15:32, , 7F
推這篇
08/17 15:32, 7F

08/17 16:20, , 8F
08/17 16:20, 8F

08/17 19:43, , 9F
專業
08/17 19:43, 9F

08/17 20:10, , 10F
認真
08/17 20:10, 10F

08/17 21:41, , 11F
08/17 21:41, 11F

08/18 00:34, , 12F
推用心!!!
08/18 00:34, 12F

08/18 02:36, , 13F
我是原PO 太謝謝你了 大大 我會按照這個方向準備一些
08/18 02:36, 13F

08/18 02:36, , 14F
文件和範例 真是解救了我XD 謝謝!!
08/18 02:36, 14F

08/18 08:37, , 15F
推q大!有時後知識傳遞和導師的角色沒有那麼明確
08/18 08:37, 15F

08/18 10:01, , 16F
推一個
08/18 10:01, 16F

08/18 12:45, , 17F
插補大學生第一步就困難重重,第三步就失敗逃跑
08/18 12:45, 17F

08/18 17:56, , 18F
08/18 17:56, 18F

08/18 22:58, , 19F
推這篇~夠實用
08/18 22:58, 19F

08/19 00:46, , 20F
真的寫得很詳細,在學校的時候根本沒人教
08/19 00:46, 20F
文章代碼(AID): #1Nj0T6_H (Soft_Job)
文章代碼(AID): #1Nj0T6_H (Soft_Job)