各位前輩大家好
小弟我目前從事IT相關產業2年多的菜鳥
工作上有開發過的語言及專案類型有:Android Studio,C# WPF、.NET Core MVC & Web API 、Window Service、Java
在前陣子面試時,深感自己能力不足
很多東西雖然平常都有在使用,卻不清楚其真正用意
例如: IOC、DI的差異
̶對̶於̶C̶o̶d̶i̶n̶g̶與̶D̶e̶b̶u̶g̶能̶力̶自̶認̶不̶差̶
通常上機考都能答得出來,但筆試都寫的零零落落
最近在空閒時間有在練習自己寫一些Side Project精進自己
想請問各位前輩,都如何精進自己,或覺得我應該怎麼做
還請各位前輩指教,謝謝各位
試著帶筆電去demo你實際可以做出來的作品!
IT人不要空手去面試,還想要拿高薪!
畢竟再資深的IT人,應該是沒人有自信每場筆試都能順利過關。
最明顯的例子應該是這篇:
雖然我們公司 90%的工程師都用你開發的工具,但我們還是不聘用你
而且大部分的公司都會看你實際能做出什麼來評斷是否是『即戰力』
然後,在職場上,當系統或服務噴錯時,試著主動跳出來解決問題,也是精進自己技術的方式。具備面對問題的勇氣,絕對是在IT職場上精進技術的「必要條件」。
最後,不要抱持著安逸養老的心,當你有自信自己的技術到一個層級,就該試著跳槽去其他公司見識見識新的世界。一方面不會安逸自大,另一方面也能知道其他公司是如何面對相同/相似問題。(每年都能重溫新人三個月的試用期其實也不差)
ps. 坦白說,紙筆寫code我都不敢保證我的『 { 』是否有漏,或是否有對到『 } 』
感謝前輩 這個建議 我會好好考慮的
不過我目前的Side Porject都做一些簡單的 在網路上很多資源
ex:股市爬蟲 畫K線圖、line bot機器人
像這種您覺得在面試上demo 有加分作用嗎
a9864277,近年來就是會一些容器化技術(docker、k8s)的程式設計師,薪資會比較好談!而且在CI/CD這部分的程式開發還是一片藍海。Web技術因為api文件已經很成熟了,爬蟲或者Linebot那些會導入的公司都應該做完了,加分不容易。另外,一般的金融業資訊人員,如果上面的人沒擔當,要有背鍋的覺悟。
去寫一套IM(即時通訊)吧,裡面的技術包山包海的
手機端 電腦端 Web端
Socket TCP UDP 打洞
叢集 同步 容災管理 點對點加密...等等
學校會教你拿刀,但不會把你訓練成殺人犯或是廚師或是外科醫生
你會很多程式語言/系統架設/網頁設計...技能,你現在要學的,要如何提供給你的老板、客戶、同事.....一個Total Solution,而不是聽命令寫程式當螺絲
老板要你做一個電視牆,至少85吋螢幕加觸控,你前端後端都要從零開,要能提供工地施工人員出退勤打卡,畫面能顯示目前工地的所有人員的資料及照片,給勞工局勞檢人員識別所有施作人員的依據,你有把握做的出來,就是你未來要做的事,而不是寫一輩子程式
聽命令寫程式當螺絲 → 對岸說的碼農
我也常常會做一些不見得有錢賺,短時間不見得找的到買家或金主的side projects來玩,委曲一點講,叫做持續練功,只是一時找不到伯樂,樂觀一點講,叫待價而沽,一定會有人懂我...
最後做50個side projects,大概只會有一兩個被人賞識,少則賣斷智產權,重則被挖去他公司上班,成了我5到20年內的主要收入來源
別說沒有,我從學校還沒畢業就一直在這樣的世界裡循環,到現在快30年都是這樣過,不見得會所有的作品都有人想要,但只要出現一個伯樂,保証吃不完兜著走......錢兜著走
碼的我回覆不了
維護的精進方式您可參考看看
我們可能會針對某項有錢賺的需求而去精進自己(不然你精進的目的是甚麼?)
例如最近業外客戶想要建置非微軟的郵件系統
沒碰過的工程師就會蒐集相關的建置資料(通常是Google搜尋)
等建置完成通過各項測試後就能賣錢了
您可反推自己是否有已完成的作品且是可以拿來賣錢的
只有能拿來營利的作品才會是企業想要的
嘗試自主開發一套可以賣錢的APP或是小型的電子簽核系統(因應疫情)
你會很多語言但卻沒有東西可以拿出來,如何在短時間的面試中展示給面試官看
程式設計師通常都能自己接案來做,平常上班只是領份基本盤(生活費)的薪水
不管你用的是哪一套語言,能碼出來並上線才是最重要的
以往兩年的工作經驗中,自己參與其中的案子也能拿出來在優化,尤其是已經正式上線的
我在物流公司看過太多碼了上好幾年甚麼系統都沒上線的工程師,接手的有百分之百的機率打掉重練
然後陷入一個奇妙的循環,我都離職五年多了,他們想要的系統還是沒能上線。
我的建議是:
1.現有的作品優化,這是最多前輩建議的。
2.接不同系統(市面上流行的例鼎新、正航、文中)資料庫對接的案子(API),例如專案成控系統導出的資料可以直接進財務系統,節省人工審核。
3.寫最多人使用的WordPress平台外掛程式賣錢,例如問卷(非Google表單)、產品線上訂購、客戶關係管理CRM等...
4.結交志同道合的工程師互相學習,我覺得旁觀者清。
如果兩年的時間樓主沒有讓任何一套東西正式上線讓同事或客戶使用,我建議您轉維護比較有前途。
Homura 只有你了解我,哈哈!
感謝大大提供方向,我會慢慢自己寫一個電子簽呈系統,就像您說的 程式設計師 能寫出一個系統並上線才是最重要的,另外我想請問大大,優化以前的作品這部分,我目前可能都是有碰到問題去找Google大神才能有所進步,但有些部份我"覺得"自己能做出來的時候,就不會去找有沒有其他更好的方式或套件,等我的方式太複雜或做不出來,才會去Google
例如:我剛畢業時面試(C#工程師),面試官問我一個List,你會如何刪除重複的數
我回答 foreach+contain去判斷,在產生一個新的List
面試官只默默跟我說,用List.Distinct()就能做到了
這部分不知道各位前輩是在Coding時就會去Google其他人有沒有更好的解嗎?
你已經很優秀了,我最多只能寫寫BAT、PS1,內行人才會計較語言的行數,真正好的產品是BUG少且可控而不是行數少,用戶(外行)最在意的是使用者體驗,另外你還得了解企業文化,以電子簽核來說,職級、代理人之間的流程,退件是直接退到第一層重跑還是可略過中間層級?每個層級可審批的金額是多少錢以內?會不會因為金額少就略過高階主管?
有時候強的程式設計師反而不懂用戶的需求,寫出令人驚奇的系統
例如最簡單的由上至下勾選頁面:
先要選第三項跟子項後才能回第二項去選,當你一一往下勾選或填表後
匯入一筆購買憑證,它會自動恢復預設讓你之前選的重新再選一次
搜尋欄做的超像新增欄,讓人想在上面直接新增一筆資料
更甚者表單歸檔後居然沒有列印的按鈕(數位無紙化到極致?國稅局可不這麼認為)
使用者體驗遠比你用甚麼語言碼還重要
你要優化的方向就在這裡
你要精進自己的技術?其實在你碼的每行字時,你都在進步,早就超越我們這些不學無術的老人了。
不知道你的背景是什麼,但做為老程式設計師,而且到現在還在寫程式的設計師,我想給你十個建議: