Clubhouse是一款僅接受邀請碼才能加入的語音社群應用程式,剛推出時,使用者規模只有千人,而且都是特定關係的人士才能加入。 目前加入方式以邀請制為主。並且只有 iOS 平台

Image for post
Image for post

如何取得邀請碼?

經過研究,目前進入的方式有兩種方法:

透過一人兩次的邀請碼進入

這個方法是最直接暴力的,先將你想邀請的朋友加入 iOS 的系統通訊錄(記得輸入國碼,如圖),只要找一位已經加入的朋友,請他按上面的 icon 就可以邀請你了。


我們是如何一步步走到今天,來自一個小團隊的成立,沒有資本、沒有資源、沒有高手,三年前的我,以 iOS 開發的角色,剛剛加入這間剛成立、剛轉型的公司,沒有敏捷開發觀念、沒有任何專案管理的方法論、沒有任何交付與部署的概念、沒有 Cloud 的觀念,土法煉鋼,接近隕石式開發。

時至今日,我們有了最基礎的 DevOps 開發平台適用前端、後端、手機端等各大平台的解決方案。開發工程師夥伴無需再關心部署與維運細節,可以非常專注在開發技術與商業業務邏輯上,實現真正的 Commit 即交付。

Image for post

起點

現況

九月的台北悶悶熱熱的,每天往返那紅色的圓山與信義,新生活使得我有點興奮。哦!這邊的九月是三年前了。作為一個喜歡多面向的事物,我鮮少說明自己是「非本科轉職」。喜歡的事情太多,找一個當職業好像也是理所當然。

當初那個「iOS 軟體工程師」的身份,現在看起來確實離我太遠。不過那也是我非常重要的經歷,形象點來說可以說是「Base Image Layer」吧。

初入工程師的我並沒有太多妄念,只覺得自己還不夠,還缺乏那個這個,一不小心就是一串「出師表」。但他們也逃不過被推遲的命運,在時間的閣樓上腐爛。人通常會高估自己一年內能做到的事情,卻又太小看自己十年能夠完成的事情。

做自己做的事情之前,是不是要先完成其他人想做的

我遇到的狀況也可以被稱作是大坑吧,要是放到現在,可以拿出那個「快逃」的著名梗圖,作為開頭,一笑置之吧。 玩笑終歸是玩笑,但他卻是實實在在發生的扎扎實實現實人生。

秉持著理想主義精神,「解決問題,並交付價值」的精神,我以「iOS 軟體工程師」的身份,接下了「Android 專案開發」。這鮮明的對比像極了我矛盾的旅程。呵呵一笑,或許挺適合我的吧。這段經歷我也分享在從 0 到 1 的 DevOps 文化建立-我們是如何在兩年半的時間建立 DevOps 文化(上) 一文中。

理想主義之後往往帶來的是一連串的辛苦,但這辛苦卻不痛苦,甚至有點愉悅。我沈浸在遇到問題,學習問題,解決問題的循環中。現在看起來那些問題可能很簡單,但他確實是我繼續往前走的動力之一。或許就是那無理的相信與信念,感受到自己可能可以改變一些東西的時候,我就能無所畏懼地往前。

逃走會不會比較快?

當時的條件或許確實可以找到一個真正的「iOS 軟體開發」工作。但在這邊真的不行嗎?那時候我常常跟自己討論。真正問自己想要什麼,我知道我的目標是可以創造一些東西,創造環境、創造價值,如同我開始決定做軟體那樣,創造一些東西。

我感受到這邊的環境我是有可能去創造一些東西的,雖然現在一團糟,什麼都沒有。但就是因為什麼都沒有,才需要創造啊!在第一個案子之後,我決定要從自身開始,然後去帶動公司整個體系的建置與改變。當時想像或許真的很難,但大不了就再重來一次吧!我不怕重來,我怕沒去試過。

心若沒有棲息的地方,到哪都是流浪。心之所向,便去之。

改變

這段期間大量接觸了現代軟體開發的種種事物,從敏捷開發、專案管理,到後端、容器、容器編排、自動化,到大前端,我瘋狂地吸收與思考,以在旁人覺得在唬爛的速度學習。當時除了學習,幾乎沒有其他娛樂了,或許最大的娛樂對我來說就是學習吧。

學無止境,我喜歡學習。當時理解了一點之後,就覺得現在我需要的是實踐,讓大家看到,真的能改變。

不過,現實與理想總是有巨大的鴻溝,現實很快就朝我打過來。當時秉持著人人都可以學習的心情,招募了一些也是自學或是新手,但對於程式有期望與熱情的一些人。也準備好引入敏捷開發、用戶故事這種開發模式。

沒有熱情不行,但只有熱情是不夠的。在這種建設的狀態,我需要的可能是可以一起領會與一起變得更好的夥伴。當時候我才發現,有時候對一些人來說,學習是痛苦的。這種痛苦,是無法堅持太久做這件事情的。

絕望

這段期間我費盡所有心思的期望新夥伴能夠獨當一面,從手把手教學,到求好心切的言論,到失望的逃避。

很多時候影響了團隊的氣氛,(主管在唸人,氣氛總不會好吧)。我願意負重一切,我願意不被理解,只願能夠有個機會,展現這一切的成長與成果。

沒有人天然需要理解我,即使我渴望。但那些我都可以承擔,只要我做的一切努力,都能看到一點成果。

我的時間有限,不要在意那些沒有實質益處的抱怨,不需要照顧那些玻璃心,我需要勇敢追隨自己的理想環境。

那時候的想法,可能大部分是對的,但我忽略,我需要照顧自己的心。

在一連串的時程壓力之後,我絕望了,我放棄這些當初在我看來有機會的夥伴了。那種絕望是沒有時間傷心難過的,時程緊迫,沒時間難過了。

但我依然決定實踐,我決定對自己實踐。

我自己實踐敏捷開發準則、實踐需求會議、回顧會議、每日站會,即使知道其他人報告的東西毫無意義。但現階段我需要的是,自己先實踐,我沒有精力管其他人了。

我自己開發 iOS,Android,當然都是 Native,自己寫後端,自己串接。自己理解雲服務設計,自己理解容器,自己理解 K8s,自己設計自動化部署。沒錯,沒有人可信,我只能相信我自己。但理想主義的我還是理想的相信,我有一天可以找到交付的人。

在這段期間我把所有公司目前的基礎設施建置好了,包括前端、後端、手機端等運維端的自動化。我沒有時間去思考我會不會,我只知道現在不做,可能就沒機會了。

再次變革

刻意去找的東西,往往是找不到的。天下萬物的來和去,都有他的時間。這段時間有非常巨大的內心衝突,因為認為現在的夥伴已經不可能跟我繼續往前走了。繼續如此,只有互相傷害的餘地,你有你的人生,我有我的旅程,我們應該就此揮手。

成長是一種蛻變,失去了舊的,隨之而來的新的氣象,這就是公平。

在這段期間我沒有太多的作為,一方面是讓自己的心休息一陣子,一方面也面臨人生的重大抉擇事件,在這個人生地方做決策,是做不好的。

慶幸的是,這次有人來幫我了,有人提倡與鼓勵去繼續執行。

他們就像黑暗隧道出口的光,雖然不是萬丈光芒,但也算是能看清自己腳步與周圍了。

改變最小阻力之路

我認同萬物皆有往最小阻力之路運動的傾向,無論是萬力,還是做事的方式。

這次我開始在之前的基礎設施上,與夥伴們的幫助下,系統規劃了流程與 SOP。從需求介接、需求會議,搜集想法、Roadmap 與里程碑。系統規劃,Wireflow、互動文件、媒合需求、設計、開發等各個面向。跟各個專業領域的夥伴們討論最好的流程。

沒有夥伴的幫助與參與,這是很難推動的,而且剛推動新政策的場面,常常令人尷尬的無法直視。

這次讓大家參與進來的感覺很棒,也很感謝大家能夠一起參與進來。於是我們有了最初版的 DevOps 雛形,結合了「人」、「流程」與「技術」。技術這一塊之前在我的基礎設施已經算是有個流程了,我還是深深覺得技術是最簡單的部分,比起人來說,起初我們加強了流程,並且透過合作與討論加強了「人」的過程。

讓我深深的體會到「DevOps」,最重要的是人。要讓大家知道,要交付什麼樣的價值,大家有共同的默契。玩樂時開心,認真時使命必達。這種默契讓我覺得非常有「心流感」。這也是少數不在技術鑽研、閱讀的領域中得到的心流感。

雖然他們都是新手,卻展現出不畏懼的氣度

得到了這些幫助之後,讓我想為這個團隊做更多事情,從一個人、兩個人,到一群人的過程。開始思考大家開發中或執行專案中的痛點與難點,希望以更多教練的角度,從指導到教練,從支持到授權,就像情境領導力中所提到的一樣。

有夥伴的感覺很好,但從來是得來不易。未來的路會更加的「去中心化」,每個夥伴與節點的角色越來越鮮明,能夠討論出越來越棒的解決方案,以過往的經驗為基礎累積經驗,更加的發光發熱。

新的詩章

我們買下一張永久車票,登上一列永無終點的火車。沒有比 DevOps 更加貼切的形容了吧。

現在我們團隊有 14 個人了,也會遇到更多新的挑戰與困難。有時候過程會給你當頭棒喝,但永遠不要灰心。我希望在某些時候我的案例能夠給大家像是一盞燈,有人去實現過,或許看起來就不那麼孤單。就像當初那些為我舉燈的人們一樣,我充滿感謝,並且想成為他們。

接下來的路會更加精彩,如何進一步讓大家覺得可以為團隊做到「不僅僅是完成」、產品思維,做出屬於自己的產品!這是需要團隊成員中內心的自驅力的,外力是沒有用的。我能做的可能就是為團隊做更多,期望能不能勾起一點點漣漪吧!

願我們能像菜根譚裡面說的,「地低成海,人低成王」,保持著那種韜光養晦,虛懷若谷的人。

或許這又是理想主義者的期望,但何不常有呢?

再次感謝團隊中給予我支持的你們,與其他可能素未相識的你們,感謝你們給予我與團隊莫大的幫助與建議,未來我們並肩前行!

下一篇會為大家介紹 — 我們的執行流程。這些內容也會在 DevOps Taipei 9 月 的分享中哦,我們下次見!

澄思設計-沈思世界的解決方案

解決問題的路上,也給大家解決過的問題不同的角度思考方案,包含軟體工程、架構、使用者體驗、專案管理等方法論。澄思設計以顧問的角色,積極解決客戶的問題。理解客戶的想法,這個客戶不一定是企業,也可能是個人,解決企業問題,我們使用專案解決,解決個人問題,我們使用產品解決。我們想要找的人,是能夠解決這個世界上各種大大小小問題的人,無論是透過溝通、技術解決,同時他應該會有積極與強大的自學能力,對於解決問題充滿熱誠,與團隊、與公司共同搭上火箭成長,那你可能就是我們要找的人Klearthink Design Co., Ltd.

如果你對我們公司有興趣,歡迎參考我們的職缺,我們有機會聊聊吧 :D

職缺參考

yasuoyuhao,自認為終身學習者,對多領域都有濃厚興趣,喜歡探討各種事物。目前專職軟體開發,系統架構設計,企業解決方案。最喜歡 iOS with Swift, yasuoyuhao@klearthink.com。

如果喜歡我的文章,可以按下喜歡或追隨讓我知道呦,拍手可以拍 50 下,更歡迎許多大神指點討論。感謝您的閱讀。

部落格:yasuoyuhao’s Area


Actual combat: Environmental management of a product App (iOS CI / CD automation detailed analysis)

Image for post
Image for post

這篇文章首發於 App Coda https://www.appcoda.com.tw/ios-app-%e7%92%b0%e5%a2%83%e7%ae%a1%e7%90%86/

真正產品化的 App,通常都有不同的環境與配置,包括環境資訊與後端不同環境的位置,上線後測試功能分流,一般實驗性可以很容易地上手 CI/CD,但在實戰中可能需要更加複雜且靈活的設置,讓我們來看看,這些配置在實戰中是什麼樣子,原始碼都在這裡

Blog 好讀版

在專案準備中,我們使用 GitLab 來實作,透過 GitLab CI/CD …


Image for post
Image for post

起源

我們的故事不傳奇,來自一個小團隊的成立,沒有資本、沒有資源、沒有高手,兩年前的我,以iOS 開發的角色,剛剛加入這間剛成立、剛轉型的公司,沒有敏捷開發、沒有 CI/CD、沒有 Cloud 的觀念,土法煉鋼,本地超英趕美,接近隕石式開發。

幾週前我們發佈了我們對於 DevOps 文化的養成與建立,今天要跟大家分享我們建立 UX 流程與思維的過程與心得,理論與實踐總有一條鴻溝,但我們還是必須先走一步。

目標是強化需求與最終體驗的流程(基於 Lean UX),並且透過理論引導實踐,希望對於正在閱讀的你們有些幫助。

另外關於文內的製作的細節應該有許多優質可靠的文章可以參考了,因為本身並不是 Designer,所以應該沒辦法給大家太多製作細節的建議,今天就會主要從大框架、思路來討論。

部落格好讀版

也把其 …


MCO 是這兩年很熱門的創新金融服務之一,YU 今天就來分析一下這個所謂的區塊鏈創新服務,終究是賣什麼葫蘆藥。

Image for post
Image for post

服務概要

MCO 的主要公司叫做 Crypto.com 這間 Crypto.com 主要提供區塊鏈資產的服務,其中包含了加密貨幣交易所、MCO Visa 加密貨幣信用卡(但其實只摸到邊,等等下面會展開說)、加密貨幣借貸交易(借的人可以收到利息、貸的人可以先拿到資金需求)、量化交易(高資產用戶理財)、加密貨幣 MCO 為基礎的第三方支付。

對應到他的服務名稱大概可以 …


從0到1的DevOps文化建立

一個人可以走很快,一群人可以走很遠,當工程師時,你的成就取決於你的成長。成為管理者時,你的成就取決於你能與你的夥伴走多遠。

這篇是針對落地的實施方針所撰寫的基礎架構篇,精神偏向技術。想知道怎麼演化來的可以先參考

從 0 到 1 的 DevOps 文化建立-我們是如何在兩年半的時間建立 DevOps 文化(上)

從 0 到 1 的 DevOps 文化建立-我們是如何在兩年半的時間建立 DevOps 文化(下)

Image for post
Image for post

Blog好讀版

貫策目標

其實在運作的過程中,我們會以責任共擔、質量導向來當作我們要建立文化的價值觀,所有的行動與動作都會圍繞著這兩個觀念進行與展開,甚至也可以提升為企業的使命。

從 0 到 0.1 ( 2–3人or 都沒碰過敏捷)

在這個階段中,你可能是團隊中技術最資深的,很多問題可能都需要你解決,所以用雲服務是當務之急,你絕對沒有時 …


DevOps Culture Establishment from 0 to 1-How We Established DevOps Culture in Two Years?(2)

一個人可以走很快,一群人可以走很遠,當工程師時,你的成就取決於你的成長。成為管理者時,你的成就取決於你能與你的夥伴走多遠。

這篇是下集,還沒看過上集的朋友歡迎看看呦 :D

上集 medium

上集 blog

Image for post
Image for post
Photo by Szabo Viktor on Unsplash

Blog 好讀版

起源

我們的故事不傳奇,來自一個小團隊的成立,沒有資本、沒有資源、沒有高手,兩年前的我,以iOS 開發的角色,剛剛加入這間剛成立、剛轉型的公司,沒有敏捷開發、沒有 CI/CD、沒有 Cloud 的觀念,土法煉鋼,本地超英趕美,接近隕石式開發。

這篇文章是兩年半下來的心得,會分享我是如何在這間公司中 …


DevOps Culture Establishment from 0 to 1-How We Established DevOps Culture in Two Years?(1)

一個人可以走很快,一群人可以走很遠,當工程師時,你的成就取決於你的成長。成為管理者時,你的成就取決於你能與你的夥伴走多遠。

Image for post
Image for post

起源

我們的故事不傳奇,來自一個小團隊的成立,沒有資本、沒有資源、沒有高手,兩年前的我,以iOS 開發的角色,剛剛加入這間剛成立、剛轉型的公司,沒有敏捷開發、沒有 CI/CD、沒有 Cloud 的觀念,土法煉鋼,本地超英趕美,接近隕石式開發。

這篇文章是兩年半下來的心得,會分享 …


Image for post
Image for post

「過去、現在和未來的差別,雖然深植人心,但不過是錯覺。」 — — 愛因斯坦

2019 即將成為被凍結的時間射線,但如果根據相對論,時間流逝只是不過是我們的一廂情願。就因為如此,人們賦予時間意義,給予時間故事,才會有那些流芳百世的傳奇,刻骨銘心的感情,還有想要不平凡的你跟我。

走過的路,寫過的 Code,讀過的書,吃過的虧,痛過的傷,學到的教訓,成長的瞬間,他們都不會背叛你。怕什麼真理無窮,進一步有進一步的歡喜。怕什麼前途茫茫,走一步有走一步的自信。

2019 得到數據


本文為筆者作品文章且首發於appcoda,歡迎閱讀參考 :D

IGListKit + MVVM 是 Instagram 對於 iOS UICollectionView UI 與數據解耦的解決方案,IGListKit 設計理念以數據驅動來解決不同 Team 之間的需求,包含不同的數據與不一樣的 Layout。

有關於 Code 說明與範例建議搭配原始碼參考閱讀 IGListKitArchetype

原始 UICollectionView 再用戶日益增長的 Instagram 中的問題

Instagram 是一款照片與影片的社交平台,目前月活躍使用者已超過 10億。

在 Instagram 的成長中,因為越來越多的業務性質,而產生更多更加複雜的 Cell Layout 的不同需求。

好的架構與解決方案通常都不是一開始就做好的,通常伴隨著產品的成長與用戶的大規模提升,架構逐漸演進而成的。

原生 UICollectionView 的理念

  1. 可高度客製 …

Yu Hao yasuo

Stay hungry. Stay foolish.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store