Re: [請益] 請問大家如何帶新人?
※ 引述《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
08/18 02:36, 13F
→
08/18 02:36, , 14F
08/18 02:36, 14F
推
08/18 08:37, , 15F
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
討論串 (同標題文章)