新しいことへの探求心を常に持ち続けること
情報分野に足を踏み入れてからiOSアプリ開発へ転身する人生のきっかけ

Bangkok 2018 - Z Realm — 問題解決の道であなたは一人ではない
時間が経つのは本当に早いもので、Back EndからMobile iOS APP開発に転向してから一年が経ち、Mediumでの執筆も一ヶ月が過ぎました。第10本目のささやかなマイルストーンとして、自分の突破とキャリアチェンジの経験を綴らせてください。
常に新しいことを探求する情熱を持ち続けること
「探求本能は人類の偉大な業績を促す」古代のコロンブスが海を探検して新大陸を発見し、ライト兄弟が飛行機を改良して空を制覇し、現在は地球を離れて宇宙を探査している;新しいものに対する情熱がなければ、自分を超え続けることはできない。私たちはアームストロングほど偉大ではないかもしれないが、彼の言葉のように「あなたの一歩は、人類の大きな一歩かもしれない」。自分の創造力を過小評価してはいけない。
きっかけ
チャンスが来たときはしっかり掴むべきです。二度目があるとは限りません。迷うかもしれませんし、次の方が良いかもしれないと考えたり、間違った決断をしたのではと怖がるかもしれませんが、「Who know s ? 太陽が先に昇るか、事故が先に起こるか」もし悪影響がなければ、両手を広げてチャンスを掴みましょう!
時間は2009年に戻ります。彰工総合高校に入学したばかりの高校1年生の私は、偶然学校が選手を育成して大会に参加させていることを知りました。当時の考えは「家にいても暇だから何か学ぼう」というもので、すぐに応募して参加しました。これが私の人生の最初の転機であり、情報分野への一歩となりました。選手育成はとても大変で、放課後や土日、冬休み・夏休みの3年間ずっと学校で練習し、リスクも高かったです。順位に入らなければほとんど何も得られませんでした。しかし結果的には、このチャンスを掴んでよかったと思っています。(選手としての心の歩みはまた別の機会に補足します)

全国技能競技大会 - 労働部労働力開発署
このきっかけで、イラストレーター、Photoshop、Flashなどのデザイン技術や、PHP、Mysql、Html、CSS、Javascript、Jqueryなどのエンジニアリング技術を学び、コンテストの優勝資格で台湾科技大学に推薦入学できました。振り返ってみると、本当に良かった、このチャンスを掴んでよかったです!
時間は2017年に飛び、大卒後も引き続きバックエンドエンジニアとして就職しました。ウェブ開発に関しては、大学時代から主にバックエンド(Laravel)に専念しており、フロントエンドはあまり研究せず、既存のフレームワーク(Bootstrap/Semantic UI)を使っていました。
この時の壁は同じ分野に長くいて、突破的な進展がなかったことです。そこで、自分に新しい目標を設定しました:
-
バックエンドのさらなる探求を続ける
-
マーケティング(GA)/企画分野への転身
-
新しい言語を学ぶ/アプリを作る
この時にまたチャンスが訪れました。私が参加したプロジェクトでモバイルプラットフォームのアプリ開発が始まることになったのです。しかし最初の設定では、私はAPIのバックエンドをLaravelで書く予定でした。新しい技術を使うことも私にとっては一つの突破でした。ここで一つ言いたいのは、決断を下すときは視野を広く持つべきだということです。当初バックエンドを続けると決めた理由は、惰性と参入コストが高いと感じたからでした。なぜなら当時Macを持っておらず、全く新しい分野だったからです。ですが、上司のアドバイスがあり、最終的にはiOSアプリ開発に踏み出すことを選びました。
2018年の今、iOSアプリ開発を始めてちょうど1年が経ちました。得られたものは、新しい言語Swiftの習得、iOSアプリ開発、自分で作ったアプリをリリースした達成感、そしてMediumでの執筆開始です。この機会を逃さず掴めて、本当に良かったと思います。私のキャリアに新たな扉が開いたようなものです!
ForエンジニアのバックエンドからiOSアプリ開発への転身の感想
「プログラミングはどれも同じじゃない?」業界が違えば全く別物です… 初めは誰かに教えてもらうと早いです。多くの考え方がウェブ開発とは違い、しばらくの間壁にぶつかりますが、耐えれば成功の光が見えます! 私もほぼ1ヶ月壁にぶつかりました。ある程度流れがつかめた後、第二の壁にぶつかります。この時こそ挫けず、失敗から学び、時間をかけて経験を積みましょう(時間が足りなければ入門講座を受けるか、師匠を見つけることをおすすめします)
-
開発環境 :以前はPHPを書くときにSublimeで書いて、Ctrl+Sで保存してCtrl+Tabでブラウザに切り替え、Ctrl+Rで結果をすぐに確認していました;今はXcodeを使い、シミュレーターや実機にデプロイしてから結果を見る必要があります;この部分は私のせっかちな性格を改善するのにちょうど良いですXD.
-
言語部分 :Swiftはよりモダンで、強い型付けがあり、構造化されています。最初は慣れないかもしれませんが、使いこなせば問題ありません。
-
Storyboard/Interface Builder :この部分は初心者の入り口のハードルを下げます。最初からコードで画面を作ると学習がより大変になるため、視覚的にUIを操作し、レイアウトを学び、Outletをドラッグすることができます。
-
メモリとページレイアウト構造 :これは特に注意が必要な項目であり、経験を積むために時間をかける部分です。以前はウェブ制作で制限がほとんどなく、やりたいことを自由にできました。例えば表を作る場合、ウェブでは<table>タグを使い、PHPのループでデータを表示していましたが、APPではUITableViewコンポーネントを使って実装する必要があります。(当初はUIViewでレイアウトして、できたと喜んで上司に報告したら、メモリが大爆発しました)
他にもメモリリークにも十分注意する必要があります! -
アプリ公開:APP開発はより慎重に、テストはより細かく行う必要があります。ウェブのように間違いがあってもすぐに修正できるわけではなく、iOS APPのバージョンアップは審査を通過しなければならず、バグがあってもダウングレードできません。バグがあれば修正に少なくとも1日かかるため、ユーザーへの影響が非常に大きいです!
-
ユーザーレビュー :ユーザーはあなたに最も直接的なフィードバックを与えます

五つ星は心温まる、一つのハートは胸が痛む
まとめ

人生は不確実性に満ちているからこそ面白い。訪れたチャンスを掴めば成果が得られ、手放せば次の機会はもっと良いかもしれない。正解も間違いもなく、とにかく自分の直感を信じて「好きなものを選び、選んだものを愛する」ことだ。
自分への期待
まだ初心者ですが、これからもiOSアプリ開発に取り組み、未来に向けて学び成長し、突破口を探し続け、Mediumでの執筆習慣も続けます。次のチャンスは何でしょうか?私もとても楽しみにしています!
Post MediumからZMediumToMarkdownで変換。



コメント