看板 Soft_Job 關於我們 聯絡資訊
※ 引述《n080925 (Lonely Journey)》之銘言: : 原PO是個今年要滿28歲,退伍一年多的魯蛇, : 大學從資管轉醫管, : 去年一年終於知道醫院的行政工作真的不是那麼容易找到,然後才下定決心走coding。 : 然後到巨匠買了JAVA-Android的專案課程(10W多....), 我跟你說, 這是好事... 肯花十萬元學個東西絕對會讓面試官眼睛一亮. : 上完一次JAVA就開始寫一些類似大學程設的回家作業,遇到不懂的就拜託Google大嬸, : 因為我想找一間可以讓菜鳥快速學習coding的公司,最好是作系統維護之類的工作就好 : ,所以就開始寄履歷找軟體公司。 但是你這個選擇就有問題了. 寫程式跟維護系統在軟體產業分工裡「通常」是天差地遠啊. 想要寫程式, 就找寫程式的工作. 想要維護系統呢, 才是去找 MIS 領域的工作. 譬如說我也懂系統維護, 但是我的本業是程式員. 那個隔壁部門一天到晚被我喊「喂, quota 不夠用」了的 MIS... 他們也會寫程式, 但是他們的本業是系統維護... 找錯方向就是個... 好吧, 偶爾是美麗的誤會, 大部分會是沒力的誤會. : 中間我面試了兩家軟體公司, : 第一家是巨匠介紹的,作公家的系統,職缺是系統工程師, : 面試的氣氛相當良好,從1330聊到1500,但是他們說已經錄取了一個新手,所以希望能 : 再錄取一個有經驗的。 經驗或直覺都很重要... 程式員的「天賦」是看得出來的. 但是....................留著後面講. : 第二家是天下數位,104找的,但是今天去初試的結果也是失敗(答案沒寫完啊~~)。 : 現在的工作在一間作家具的工廠,星期一到六,08:00~17:00上班,不定期加班, : 待遇22K(包含全勤),雖然說南部大概也只有這種公司讓我有時間可以晚上去上課, : 但是在這間公司待了快四個月,每天還是哪個機台有缺人就叫我去幫忙, : 真的沒辦法好好的把一台機台學好。 : 所以我最近也一直在思考: : 1.繼續作吧...原PO是有經濟壓力的人,盡量擠出時間來寫程式... : 2.辭掉工作吧! 專心寫一兩個大型的JAVA程式,然後再找工作吧 不必特別辭工作就是了. 專心寫作品嘛, 當然很有用. 但是不同領域所要求的程式背景其實也不太一樣. 所以你根本不會知道什麼是「好題目」. 譬如我這個領域會希望看到的... 是你能用電腦解決生活中常見的許多問題, 程式短短的沒關係. 十個有意義的小程式超過一個不知所云的大程式... 於是呢, 假設求職者用 wiki 的資料寫出一套預測月蝕的程式. 對我來說絕對比看到一套俄羅斯方塊要有用. 我的部門並不是做天文的, 科科... 但是求職者並不知道這是好題目. : 這幾個想法一直在腦袋裡面拉扯,所以才會上來找各位軟體業的大大指點迷津。 : 以下附上一個大概可以表示我現在的coding功力的程式碼。 : /* : * 利用Arrays.sort進行排序 : */ : import java.util.Arrays; : import java.util.Scanner; : public class Main { : public static void main(String[] args) { : Scanner scanner = new Scanner(System.in); : System.out.println("三角形邊長測試:請輸入三角形三邊長。"); : System.out.print("請輸入邊長a : "); : int a = scanner.nextInt(); : System.out.print("請輸入邊長b : "); : int b = scanner.nextInt(); : System.out.print("請輸入邊長c : "); : int c = scanner.nextInt(); : //將三邊長丟入陣列再來排序 : int[] edge = new int[3]; : edge[0] = a; : edge[1] = b; : edge[2] = c; : Arrays.sort(edge); : a = edge[0]; : b = edge[1]; : c = edge[2]; : //再將排列後的數值,指回三邊長,方便迴圈條件編寫 : if (a > 0 && b > 0 && c > 0) { : if (c < (b + a)) { : if ((c * c) == ((b * b) + (a * a))) { : System.out.println("\n直角三角形邊長"); : } else if (c > b && b == a) { : System.out.println("\n等腰三角形邊長"); : } else if (c == b && b == a) { : System.out.println("\n正三角形邊長"); : } else if ((c * c) > ((b * b) + (a * a))) { : System.out.println("\n鈍角三角形邊長"); : } else if ((c * c) < ((b * b) + (a * a))) { : System.out.println("\n銳角三角形邊長"); : } : } else { : System.out.println("\n此三邊不能成為三角形邊長"); : } : } else { : System.out.println("\n三角形任一邊長不得為0 或負數"); : } : } : } : 拜託各位大大不要鞭太慘<(_ _)> 這份程式碼有非常嚴重的問題: 我看不懂「它打算做什麼」. 當然, print 裡面的中文字寫得很多啊... 所以我知道「程式員打算做什麼」. 但是看到裡面... 光是用 sort() 來排一份只有三筆資料的東西... 這種程式精神絕對會讓面試官昏倒. 你絕對可以跟我爭論 sort() 用在這裡其實也還好. 但是我如果有空的話會跟你討論... 1.) 其實 scan() 之後就可以先比大小了. 2.) 這個未必要全排, 找到最大值就可以了 3.) 做邏輯分析化簡全部的條件式 4.) 用解析幾何, 寫向量式做判斷很可能會更優雅 但是呢............通常面試是沒空的. 這表示你的題目根本就沒選對. 我前面提到「天賦」, 新手程式碼所透露的就是天賦問題. 你要找到一個適合發揮天賦的題目. 而不是等面試落選之後跟其他落難者一起抱怨... 「這個主官根本什麼都不會, 連我寫個 sort() 他都看不懂. 」 非也非也, 沒空而已. 建議你 google 一下這個: The Evolution of a Programmer 那是一個關於程式員的超級老笑話, 我第一次聽到的時候是上個世紀末. 有一個版本在(這是 google 跟我說的... ) http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html 讀懂這個看起來很呆但其實很殘酷的笑話, 我說... 這裡面有些東西會是面試官想看到的, 科科. -- 新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.170.150.172 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1397885991.A.F6B.html
f1234518456:可是我覺得維護舊的比新專案還難搞阿... 04/19 14:07
sedgewick:系統維護不是專案維護啦, 科科... 04/19 14:11
lovdkkkk:推 04/19 14:22
typepeter:推 04/19 15:42
GoalBased:靠腰..昨天才用SORT來排三筆資料.. 04/19 17:46
GoalBased:因為懶的自己寫判斷...直接拿現成的.. 04/19 17:46
sedgewick:嘿, 「sort() 用在這裡其實也還好」... 我原文有寫. 04/19 18:03
sedgewick:但是自己這樣寫, 跟找來當奴隸的人只會這樣寫嘛... 04/19 18:03
sedgewick:"The Evolution of a Programmer" 對這種差異有答案的. 04/19 18:04
sedgewick:對了, 這叫做管理相對論... 一切都是階級分化, 科科. 04/19 18:07
andymai:@@這邊的系統維護說的到底要不要寫程式?如果要~該算被凹? 04/20 11:20
sedgewick:其實做 system administration 偶爾也是會寫寫程式啊. 04/20 13:03
sedgewick:反過來我也是要知道怎麼翻 /var, /proc, /etc 這種咚咚. 04/20 13:04