Just My Life & My Work

Posts tagged ‘development’

[圖解] 技術債 (Technical Debt)

最近陸續有新人來公司報到,我跟一位很年輕成功轉型工程師的同事(原本是教小學生課輔,網路看影片自學寫程式)聊週末去哪玩,他提到自己想要還技術債 (Technical Debt),我以為他要改前人留下來的專案,他說因為很多技術還沒有熟悉,所以想要更用功在鑽研技術上。

突然我想到小英總統2018年底變成辣台妹,因為人家說她「撿到槍」。原本的意思是貶義,拿到不屬於自己的東西(也就是贓物),就說那是撿來的。對於小英勇敢回應強勢的對岸,就變成褒義,表示拿到神級武器,可以從挨打的份逆轉成反擊!不過扯遠啦XD~

後來他表明不曉得技術債真實意義,我便簡單解釋,因為急著要完工,難免會以不周全的寫法完成程式功能,之後若要增修專案,就會面臨之前的「遺毒」。下圖可以明白技術債的陰影面積XD~

製圖的作者很神奇,使用我非常喜歡的動畫獵人拿酷戮的念能力可以來做解釋,胖娃隨著時間債會越滾越大,最後破產就會讓敵人無法使用念能力。若拿來比喻軟體工程,技術債若隨著時間累積,到一定的程度使人難以再做增修,此時專案就要宣告「打掉重練」!

要快又要好,實在不是很容易!除非專案只是一次性,若要長期維護的話,還是要有品質地實作呀~

想起先前分享的文章:設計師的心聲專案的三個要素

註:拿酷戮的念能力「天上不知唯我獨損」(推測是放出系的念獸)另外十分擅長於逃跑。「天上不知唯我獨損」是將念借給對方並以複利計算的高利貸,由胖娃娃「波克里林」計算,在借貸內攻防皆不會受到傷害,借貸額數超過對方念的最大值就會破產,「討債魔」出現強制對方進入絕的狀態30天。

參考:Scrum Estimation-Scrum Estimation Model獵人WiKi – 拿酷戮•拜因有效面對技術債專案中的隱形殺手:技術債

廣告

概念驗證 (Proof of Concepts)

我們開發軟體會透過Jira來記錄細節,像是新增功能修正錯誤,甚至還有概念驗證 (Proof of Concepts)

概念驗證(英語:Proof of concept,簡稱POC)是對某些想法的一個較短而不完整的實現,以證明其可行性,示範其原理,其目的是為了驗證一些概念或理論

(繼續閱讀…)

如何找到iPhone XS Max的UDID

開發最前衛的iOS App,當然必須要使用最高等級的iPhone,2018年末最新款且最高貴的機種就是iPhone XS Max,基本款要價就高達39900台幣,拿在手上還真的會發抖呢XD!

原先我就已用Xcode正常編譯到手機Max上執行,因為我是用Automatically manage Signing,於是Xcode自動幫我將Max的UDID加入到Developer Portal中如上圖,不過這是我後來反查才知道,畢竟看到字元數跟以往不一樣,以為是同事輸入錯誤XD。

(繼續閱讀…)

[圖解] Git Flow

過去五年做接案模式的工作,我只會使用非常簡單的Git來版本控制,偶爾才會有同事或夥伴協同合作開發。如今我踏入開發自有產品的環境,必須跟另外兩位前輩工程師合作,此時Git操作就變得更加重要!如何在同一個專案上增修,同一時間不會影響到彼此的任務,做得好就是一門藝術!

Git版本控制有非常多好用的功能,端視專案需求來使用,所以沒有一定的規則!若是同時有多人開發,2010年有個可以當作公版的Git Flow可遵循。現在我參與自有產品開發,大致上就是以上圖的模式來操作。

(繼續閱讀…)

[圖解] 理想與實際的軟體架構

理想與實際會有非常大的差異,在軟體界更是尋常可見!可是因為軟體並非實際的物品,所以通常不易讓「外行人」了解!不過當你看到這張圖解理想與實際的軟體架構,就能大概知道開發一個軟體將有哪些狀況會發生。

此圖取自IT狗的俄羅斯方塊,很高興這張圖寫實地描繪出我所經歷過的狀況XD~

軟體界所謂的規格(Specs),以我過去的經驗來看,大致只有在初期開發時管用,新的技術、新的需求、新的人事物⋯⋯都會影響啊~

我常笑說,我寧願從無開始打造,也不想要去維護他人遺留下來的「毒(技術債)」。

(繼續閱讀…)

心電貼片裝置與架構

我公司同事阿龍設計這偉大的心電貼片韌體架構,與他共事一年後學到非常多跟韌體和硬體有關的知識技能。在此來揭露可公開的心電貼片裝置與架構

首先來看我們公司的完成品,心電貼片裝置,猜猜看它有什麼特殊功能?

厲害的他已工作超過22年,其中有20年都在做韌體,所以之後有韌體方面的問題都可以請益他!

他語重心長地說:「我可以從 軔體 → (Linux)驅動程式 → (Android) 框架 → (Android) 測試APP 一路做下來,但不玩啦,很累人的~

我評估現實後說:「若時間和金錢不夠的話⋯⋯就要支出人生最重要『健康』~

我們相視而笑~

那這個架構可以做什麼呢?看到的人可以拿去再研發!我們已經證明此架構可行,可以實現搜集心電和呼吸訊號,接著進行分析,透過人工智慧的演算法,判斷使用者的身心狀況,做到醫療保健目的!

此玩意兒需花費多少時間與金錢?若想在一年內完成,大致要準備1000萬台幣,研發包含硬體、韌體和軟體,我公開我和阿龍配置的研發成本~

那何時能回收成本呢?知道這應用範圍的人肯定能想得出來:D~

若有意願開發的人,可以跟我聯絡,我將這項利益大眾的技術傳承下去。

關於App跨平台開發

我偉大前同事德叔分享一則訊息,關於Airbnb不再使用React Native來開發多平台App,原因是除了要熟悉React Native,還要熟悉原生的iOS和Android。

想起我之前學過兩種跨平台工具:XamarinIonic,前者以C#撰寫,後者以HTML+Javascript+CSS實現。先說結果,不想再碰這兩玩意兒XD~

對於使用者體驗非常重視的我,跨平台工具多了一層包裝,程式執行後反應靈敏度不是挺好。再者,總是有人(包含我)以為一招打遍天下無敵手,其實你要學可多啦~就如同ruanyf大陸高人所述,我不僅要從頭熟悉XamarinIonic,更要對Native的iOS和Android有一定程度的瞭解。

一個人的時間有限(上天給每個人一天只有24小時),同時要學三種語言架構,除非你只做一個App!?如果真有這樣的人,可以稱之為!每年iOS和Android都有發佈更新,你豈不是要一直追追追?!新的專案是能完全擁抱新技術,可是若要長就發展肯定要維護與更新!

若薪資收入可以提高至少三倍(之所以說至少,是因為三個平台溝通與整合也是成本啊~),我可以考慮看看啦⋯⋯

總之,我碰過之後,認為在有限的時間內,就來精通我最感興趣的技術囉~其餘時間讓我去度假黑皮:D~

參考:ruanyf之感想李開復講Airbnb公司文化

標籤雲

%d 位部落客按了讚: