iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0
自我挑戰組

【Tech愛情對談】軟體新手入門指南系列 第 26

【Tech愛情對談】Talk 26 - 轉職前三思~寫APP比你想的難多了!

  • 分享至 

  • xImage
  •  

老公老公~你以前不是也有寫過APP嗎,有碰過哪些挑戰呀?有沒有什麼建議可以給想轉職APP的人呢?

哦~~這個問題問的好,想要趁這機會也提醒有打算轉職寫APP的讀者,千萬別抱著"因為APP很簡單,可以輕鬆就轉職當工程師”的想法轉職過來,因為寫APP其實比你想像的難多了~!

讓我舉幾個以前聽過的玩笑梗"如何一句話惹怒APP工程師":

APP不就是寫前端的嗎!

或許在一些相對單純的應用裡面,的確是跟前端工程師有點像,都需要處理與使用者互動有關的UI或功能。這樣的題材對於初學APP的人而言,或許是個不錯的練習標的,搞不好還真的能獲得轉職機會,但若不小心在公司裡都只寫這樣難度的APP,那麼你被更新鮮的後輩替代的可能性將會非常高。

寫APP這麼簡單~

上面這些話聽在APP工程師耳裡會很不舒服,不舒服的點,是因為這過度簡化了APP的複雜度及低估了難易度,以下舉一些例子可以給還在評估是否轉職APP的人參考,寫APP遠比你想的難多了!

  1. 一個「電子書」APP可以包含哪些技術?(一個APP可以玩遍多線程、快取、響應式程式設計)
你需要實作的功能 可能涵蓋的技術 說明
類似拖拉式的書櫃 UI排版策略、動畫(ex:如何用手拖曳移動書本到新位置上) 要寫的好很難,有沒有想過當拖曳書本到某特定位置時把其他書本”擠開”的動畫要怎麼做?
同時下載多本書籍 多線程管理、下載斷點續傳、背景處理解壓縮檔案、即時更新每本書的下載進度條、暫停下載,接續下載 沒寫好的話APP很容易Crash,使用者好不容易下載到一半的檔案會消失
書籍檔案處理 ePub, mobi, pdf格式處理 總會有各式各樣的格式要想辦法支援
閱讀器 圖檔、文字排版、影音嵌入、快取處理 直的橫的,不同尺寸的螢幕都要能順利顯示。為了提供更好的操作體驗,使用者在瀏覽前面幾頁的時候,後面的頁面就要先預載好
  1. 一個「線上視訊開會」APP可以包含哪些技術?(一個APP就夠你摸遍各種網路連線協議)
你需要實作的功能 可能涵蓋的技術 說明
會議室管理(使用者加入/離開/顯示與會者等…) XMPP實作 要花時間看懂人家的Protocol並實作,還要分割腦袋,一會是主辦者一會是參與者視角來寫程式
使用者在會議畫面上進行手繪 Socket連線 當有人在畫面上畫畫,其他與會者也要即時看得到
與會者進行視訊會議 WebRTC實作 為了減少Server頻寬的佔用,有聽過點對點傳輸嗎?
  1. 一個「物連網」APP(譬如:電子體重計)可以包含哪些技術?
你需要實作的功能 可能涵蓋的技術 說明
與硬體設備間的通訊 藍芽, MQTT,第三方library 可能還要考慮第三方library是否兼容行動裝置的硬體架構
手機靠近設備自動填入WiFi帳密給設備 網路路由知識 追求卓越使用者體驗的話,要跟韌體工程師協作,進一步多了解底層通訊知識

其實轉職任何工程師都一樣,並不是只學會程式語言就可以的,其實還有很多周邊知識要學。想像你今天是在一間接案公司上班,什麼種類的APP都可能會碰到,每次只要一個新類型的專案進來,又是一個新的學習輪迴。如果你很能理解這樣的輪迴會不斷出現,且樂於學習新知識,不畏懼這些聽起來嚇人的技術名詞,也能靠自己力量摸索找出答案,那恭喜你,你可能很適合挑戰轉職APP工程師。

但若你並不是這樣的人,那麼這很有可能會是一條到處充滿挫折的路途,你的技能很可能會在成長到某個階段的時候就無法繼續往前,換工作的選擇也開始受限,職涯很容易就這麼卡住了。因此建議在轉職前可以多做一些功課唷。


上一篇
【Tech愛情對談】Talk 25 - 前端、後端工程師的差異以及轉職工程師前需要有的關鍵素養(下)
下一篇
【Tech愛情對談】Talk 27 - 如何跨入AI ? 我的轉職進修分享 <台灣人工智慧學校>(上集)
系列文
【Tech愛情對談】軟體新手入門指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言