プロが初心者ループから抜け出す方法を発見した件
自己紹介と記事作成の背景
マンハッタンコードでエンジニアをしてるJ.J. ( @MHTcode_JJ )とSally( @MHTcode_Sally ) です。
自社運営しているTokyoUppersBoost勉強コミュニティの勉強方針をエンジニア事業部で話す機会がありました。その時に話した内容が、もしかすると社内だけではなく、社外のエンジニアにも通じる話ではないのかと思い、今回の記事にしました。
無意識的に以下のことを考えたり、口にしていたりしませんか?
「私はエンジニア未経験者なので〜」
「私はまだ駆け出しエンジニアなので〜」
「私は初心者なので〜」
「私はまだ経験がないので〜」
今回は、そんなエンジニアの方に是非読んでいただきたいです😁✨
[前段] RPGゲームの構成
ゲームには必ずと言っていいほど「チュートリアル」があります。
チュートリアルはゲームの遊び方や操作方法など、ゲームを始めるにあたって最小限に設計されたプレイスペースです。あなたは一度ゲームを始めたら、そのゲームのラスボスを倒すことを目標とし、プレイするはずです。
そして、チュートリアルが終わったら、ステージ1・ステージ2・ステージ3とステップアップし、最終的にはそのゲームのラスボス💀と闘います。
目標に設定したラスボスを倒したあとは、そのゲームの次のシリーズが出てきたらきっとまたプレイするでしょうし、人によってはもう一度初めからプレイして2周目徘徊をするかもしれません。
スマホアプリ開発というRPGゲームでわかるハマりがちなループ現象
なぜPRGゲームの構成について最初に説明したのかというと、エンジニアにおける「初学者」「初心者」「駆け出し」といったステージがPRGゲームにおける「チュートリアル」と似ているからです。
エンジニアとしてお仕事をする上で必要な、開発の流れ・Gitの知識・GitflowやGithubflowのルール・ライフサイクル・print文でコンソールにログを吐き出すといったデバッグ手法・画面の作り方・通信処理・IDEの操作方法などは最初にやります。言語毎にif文・switch文などの言語仕様も学んだりします。
そして、それらを組み合わせて小さなアプリケーションを作って動かし、チュートリアルに該当するようなアウトプットができます。
つまり、スマホアプリ開発というRPGゲームを始めたあなたは「最小限に設計されたプレイスペースでチュートリアルを終わらせ、ステージ1へ進み、ラスボスを倒す!」というのがゲームの自然な流れです。
ここで質問したいのが「ラスボス設定してますか?」ということです。
自分は「初学者だから」「初心者だから」「駆け出しだから」といったことを何かしらの理由にしていないでしょうか?そして、自分が始めたスマホアプリ開発というRPGゲームのラスボスがどういった特徴を持った敵なのか設定をしているでしょうか?
チュートリアルをグルグルとループしている可能性はありませんか?
ラスボスを設定してみる
こうなりたい!といった自分の理想のエンジニア像を0秒思考を使って紙に書き出してみましょう。このゲームではまずはこうなりたいといった設定値でも問題ありません。0秒思考のやり方はこちらの本を参考にしてください。
ラスボス設定の例
・SwiftまたはKotlinを使ってAPI通信処理を含んだ機能実装ができる
・メインエンジニアとして案件にアサインしてリリースまでの実績を手に入れる
・Firebaseと連携したなんちゃらアプリを作ってストアリリースする
各ステージのボスをラスボスから引き算で設定する
ステージ5がラスボスなので、次はステージ4のボスを設定、その次はステージ3、ステージ2、、といった形で引き算しながら設定をしていきます。
各ステージの道のりは決して均等である必要はありません。クリアしやすい単位で、ボスを設定していけばOKです。
ワンポイントアドバイス
なりたい姿は自分で設定できたとしても、ステージ1〜4の途中ボスは経験者にアドバイスをもらいながら設定するとラスボス攻略には役に立ちます。
すべて自分の中で設定してもいいですが、経験者にはこれまでの経験値があります。
まとめ
この記事では、ゲームに出てくるボスを「目標」といった形でアウトプットする方法を記載しました。どこからが初心者で、どこからが上級者などの定義は世の中で明確な基準はありません。そう決め付けているのは、だいたいは自分自身です。この記事でその点に気付きがあったら嬉しいです。
チュートリアルの設定についてはまた別記事で公開します!最後まで読んでいただきありがとうございました😊🤞
宣伝
お仕事のご相談・ご依頼マンハッタンコードは、スマートフォンアプリの開発に特化しております。エンジニアリングから、デザイン、プロジェクト推進などアプリ開発を総合的に請け負うことが可能です。弊社のホームページからお問い合わせください。
お問い合わせの際には「noteの記事を読みました!」と一言入れていただけると嬉しいです!