(被)系友訪談

緣起:


    我們嘉大資管系的同學,大三、四時會有畢業專題要做,所以大部份的同學在這之前都會找好組員,大概 4、5 個人一隊。

    有個屬於畢業專題一環的活動,叫 "系友訪談",會要求每組同學都去訪問一位已畢業、有在資訊圈工作的學長姐,並將問答的內容做成一份報告,之後每組都要上台介紹訪問的學長姐、他所在的公司、訪談內容那些。我覺得這是一個很好的活動,藉由這機會讓學弟妹們認識實際出社會工作後,到底是什麼情況。

    蠻意外有學弟會找我當系友訪談的對象的,同時也覺得開心。我是個很需要準備的人,需要 re稿,想說,既然都要寫稿子了,那就直接把它給寫成一篇文章好了。


業界常用的程式語言:


    我們部門主要幫忙開發的產品是網頁式平台管理系統,主要是用 Visual Studio 來寫程式,在編譯或建置方案上都很方便。使用的框架是 ASP.NET,設計模型是 WebForm,使用的網頁伺服器是 IIS。

  我們公司近來會將原有的產品都改為用 .Net Core 來開發,並採用 MVC 設計模型,我們部門也會開始訓練工程師寫 .Net Core。

    前端的 JavaScript 最常用到的就 jquery 跟 vue。基本上,在開發前端的功能時,會優先去查 jquery 有什麼原生的功能可以達成,沒有找到的話就再去找有哪些用 jquery 寫的第三方工具能用。

    在看其它廠商開發的網頁、或是跟他們測試 api 時,他們網頁的頁面不外乎是 .php 或 .asp。有次在測試 api 時,有看到網頁有噴錯,程式碼是 java,所以推測他們的後台是用 JSP 寫的。


要好好學的科目:


    我會把資料庫、物件導向、資料結構放在前三。

    知道要怎麼跟資料庫溝通超重要的,寫跟網頁相關的東西,除非你是設計師,不然根本離不開資料庫,沒有用到資料庫的專案才是異端,就連 PM 也要懂得資料庫的基本,才有辦法跟我們工程師或客戶討論。我也是到實際工作時,才開始頻繁的用到那些 SQL 的指令,剛開始就連最基本的那些指令也都還要上網查看看自己寫的對不對。

    使用高階程式語言的專案,一定會用到物件導向的設計,它能大大的增加開發的效率,我有一個在台北工作的朋友,他們公司是開發防毒軟體的,開發上也是用到 C++。如果不懂物件成員、方法、封裝、公有私有、繼承、抽象,這些概念的話,你會很難讀懂程式在幹啥。

    在維護專案上,我們其實沒有用到太複雜的演算法,即使需要用到,也是使用其它人開發的套件來解決問題,平常寫程式碰到最多的應該就排序吧,很常用 C# 的 List 來處理這類的事,用過最難的東西也就遞迴而已。但我覺得,對資料結構跟演算法理解得愈多,愈有助於提升你解決辦法的能力,有時在程式上即使用了套件也不一定能完美解決你的問題,你還需要有些自己的巧思來對套件進行一定程度的客製,這時候,你對資料結構跟演算法的經驗就會在這裡扮演很重要的角色。

    有個想要多提的是管理學,因為我們公司在明年要推行 KPI 制度,最近幾天有在寫自己的 KPI 文件,寫的當下就在想,哇X,當初在學校聽的這些東西,原來在業界真的是會用到的。我以前一直以為工作是只要做好自己專業領域的事就好,但出社會後才發現不是這樣,你是一個組織內的人,很多時候都需要依照組織的要求來行事,有時制度變更時,你也要調整自己的行為跟流程來順應需求。

    最後再補充個 Git,跟其它人共同開發程式會用到的,身為一名工程師,你是避不開這個工具的。推薦自己動手用命令列操作那些基本的功能。


分析工具:


    這問題好像是在問,市場需求,或是銷量之類的分析之類的,這方面我就不太清楚了,這部份是 PM 的工作,他們需要說服客戶來使用我們家的產品,而我們工程師就依 PM 談回來的需求來改寫程式。


業界常用工具:


    基本上,大部份使用的工具都是微軟提供的,它們有很多成熟的企業整合工具,我們使用的作業系統是 Windows、伺服器主機的作業系統是跑 Windows Server、公司在收發電子郵件是用 outlook、程式碼管控會用 Azure Devops、網管會用 Windows Active Directory 維護跟管理公司每個人的帳戶跟存取權。有聽過我們 PM 講過,使用微軟的套件來開發有個好處,就是,有問題的話,還有微軟能幫忙背書 (?

    專案的主機基本上都會限制連線,只允許特定某一 ip 的主機能遠端連線進入,所以我們都需要用 windows 內建的遠端連線工具來先連到跳板機,進跳板機後再一次遠端連線進入正式機內部管理。

    SQL 的管理會使用 windows sql server management studio,不管是下指令、新增表格、新增欄位、新增 procedure,都是用它來完成的。

    程式碼的管理會用到 Git,不過 Visual Sutdio 裡面就有整合 Git 工具了,所以在提交變更、整合分支、提取跟推送分支上很方便。


是否要考研:


    我是直接工作的,沒讀研究所,所以實在無法說讀研究所是怎麼樣 ? 讀研究所有什麼好處 ? 但倒是可以分享現在回頭看 "是否考研" 的想法。

    我記得在學校那時,系主任聽我說我不想繼續讀研究所、想先工作後,他有跟我說,研究所可能是人生中最後一段可以好好學習的日子了,出社會後,基本上就都是在工作了,能好好學的時間很少,而且,未來有很長的時間能工作,不用那麼急著現在就先去工作。

    我那時想說,自己目前最需要的是出社會學經驗,而且也覺得自己不是個適合做研究的人,趕緊出去賺錢比較實在,學習的話,我覺得我自學的能力應該還可以,要學的話,工作回家也能學不是嗎 ?  實際去工作後.... 我現在想跟系主任說,天啊,原來主任說的都是真的,工作完回去後就變成廢人一個了,進修什麼的根本難如登天。

    如果現在問我說,有機會的話,會不會想要回去讀研究所 ? 老實說,蠻想的,但主要也不是為了學習或加薪什麼的,而是想要再體驗當學生時那種無憂無慮的感覺。出社會後,人跟人之間的交流就沒學生時期那麼單純了,更多會是利益的考量,並且要對自己的選擇負責,也沒有人會告訴你該怎麼渡日子,對於習慣填鴨教育的我們,很常會在失去指引後覺得不知所措,輕則茫然,重則憂鬱 (不確定其它人是不是也這樣,但我自己就是這樣)。

    想想學生時期能無憂無慮,最主要是自己的負擔是由自己的爸媽、學校的老師幫忙扛的,"你會覺得歲月靜好,只是因為有人代替在負重前行"  就是這意思。現在開始自己扛自己,多少會覺得痛苦、有壓力,但轉念一想,這表示壓在爸媽身上的負擔不見了,這可是好事一件,所以,我也沒太後悔當時沒讀研究所。

    最後,想分享我朋友之跟我分享的一個 Duncan 貼文,我很喜歡,他大意是說,如果你不知道你想要的是什麼的話,你可以先從 "你不想要什麼" 開始想。


工讀經驗(卡兵役怎麼辦):


    工讀經驗 ? 我好像沒有就是了,大學那時,原本教授有推薦我去大林醫院工讀,但我後來沒有去,因為覺得太遠了。

    我錄取哈瑪星之後,有三個月的試用期,但我薪水是正職的薪水,不確定我這算不算工讀,詳細的經驗可查看這篇。我們公司,或者是說我們主管,蠻 nice 的,在錄取我之前就知道我還沒當兵,然後在我當兵那段期間是讓我留職停薪的,這篇有紀錄留職停薪前的準備。

    然後說到當兵,這篇有紀錄我當兵的心得,懶得看的話,我這篇直接說建議,就是,如果你的兵役能在大學解決的話,那就直接在大學解決吧,拖越後面當會越痛苦。我有個朋友,他是利用兩個暑假來把兵役給處理掉,那時覺得,花費兩個暑假也太貴了,但實際當完兵後,覺得他的策略真的是最優解,間段的當,受到的精神摧殘肯定比連續當來得小。


遇到程式bug心態的調整、相關問bug的平台(英中):


    先回答第二個題目好了,遇到不好處理的問題時,請教資深的工程師會是最快的做法,他們對專案的熟悉度比你高,踩過的雷比你多,你會碰到的問題,他們基本上也碰過。但不要什麼都沒準備就直接去問,這樣很沒禮貌,而且也是在浪費彼此的時間,要思考怎麼表達目前碰到的困難、希望能得到什麼樣的協助,學習怎麼問問題真的很重要。

    如果是問程式相關問題的話,我覺得 stackoverflow 大概是最適合的平台,但我其實也沒在上面提問過就是了,實在是沒辦法用英文精確的描述自己的問題 XD。中文的問問題平台的話,我就不知道了。

    比起問問題,我覺得怎麼 "查" 問題還更重要,在論壇問問題前,最好先自己爬文,查看看有沒有人問過類似的問題。如何下關鍵字也是個學問,理解搜尋引擎會怎麼使用你給的字串來查詢,能幫助你下更精確的關鍵字。關鍵字正確了,查到的結果自然也就更容易是你想要的。

    再來是關於卡 Bug 心態的調整,老實說,這個我有點難給建議,因為我不是一個心態好的人,而且心情起伏不定,心情低落時,很容易形成一個惡性循環。心情差 => 碰到小挫折後開始憂鬱 => 用不好的方式來處理情緒 (吃垃圾食物、亂買東西) => 心情更差,內心痛哭流涕 => 開始思考自己人生的意義。

    我公司的同事後來有跟我說過一句話,"程式真的寫不出來又沒關係,反正在公司裡,就算天塌下來都還有人幫你扛著",雖然這種想法很不負責任,但自從聽了他的建言後,我程式焦慮的情況好像有改善不少就是 XD。

    其實,程式 bug 解不開只是挫折的一種,人生當中還有許許多多的挫折需要你調整心態來應對,但可惜的是,我們的教育不太著重這塊就是了。如果真要我分享一種對抗挫折的方式,我會推薦的是,紀錄下生活中讓你開心的時刻,不管是用文字、圖片、影片,在 FB 或 IG 上 PO 個文也好 (像我就是寫 Blogger),讓你以後心情低落時能翻開來看,重新回憶起當下的快樂,讓你不再覺得自己有那麼糟。


勉勵學弟妹的話:


    人生痛苦的時間一定是 >> 快樂的時間的,所以才顯得那些快樂的時光是多麼的寶貴,有時間的話,真的要好好把那些快樂的回憶給紀錄起來啊。


留言

這個網誌中的熱門文章

Helldivers 2

Steam Deck

九日