フリーランスエンジニアの各現場の最終ゴールの設定方法
フリーランスエンジニアは幾つもの現場を渡り歩くものですが、漫然と過ごしていてはいけません。
以前の記事でも解説しましたが、フリーランスエンジニアもキャリアプランと言う物を意識しなければなりませんので、その現場で何をしたいか、現場の変わり目で考えておかなければなりません。
そこで今回はフリーランスエンジニアの各現場の最終ゴールの設定方法を紹介したいと思います。
そもそもどんなエンジニアになりたい?
そもそもどんなエンジニアになりたいか、キャリアの最終系をイメージできていないと、途中経過の事はなかなか意識できません。
マネージャーになってバリバリ働いてお金を稼ぎたいのか?三度の飯よりもプログラミングが好きだからずっとプログラミングをやれるような仕事をしたいのか?家族との時間を大切にするためにフルリモートで仕事をしたいのか?経営者になりたいのか?
様々な形があると思います。まずはこの辺をしっかりとさせましょう。
各工程で掲げる最終目標の例
ここでは、各工程での最終目標の立て方をそれぞれ例示していこうと思います。
各工程で仕事内容は全く違います。つまり、仕事を通して得られる能力も異なるので、最終目標も異なるのです。
そして、仕事以外で意識しなければいけない物、つまり自己研鑽の方法なども異なってきます。
ヘルプデスク・キッティング
ヘルプデスクやキッティングは一番ユーザーに近い立ち位置で仕事が出来ます。なので、扱っているアプリケーションの仕様を覚えられる、という物がこの現場で得られる最も役立つスキルの1つでしょう。
ユーザーに近い立ち位置で考える。これは見落とされがちですがかなり重要かつ以外に難しい事でもあります。要件定義やプログラマーなど、の工程でもかなり必要とされる能力の1つです。
また、ヘルプデスクの場合はあまりITに詳しくないユーザーにアプリケーションや機器の扱い方を説明する機会も増えるので、説明能力などのコミュニケーション能力も身につきます。
よって、この現場での最終目標は
・アプリケーションの仕様を覚える
・アプリケーションの扱い方を全て一人で説明できるようにする
・ユーザーにとって扱いやすいアプリケーションや機器
といったところが例として挙げられるでしょう。
テスター
テスターは、テストをしてバグを見つけたら報告して終わり、と言うだけではもったいない仕事です。折角、完成したコードが見られるのですから。
テスターまで来ると、多少のITの知識や経験が求められがちですし、フリーランスの場合は単価もヘルプデスクやキッティングの仕事と比べると高くなりますので、油断してしまいがちです。
しかし、そこで本当に油断して漫然と過ごしてはいけません。テスターはテストをするだけでなくバグを見つける事も仕事に含まれる場合が多いので、そのためにコードを見る機会も多くなります。
つまり、自分がお手本とすべき教科書を手に入れる事が出来るのです。
勿論、バグを見つける上でのログの見方なども知っておくと今後のキャリア、特にプログラマーの現場で役立ちます。
よって、この現場での最終目標は
・ログの読み方を覚える
・プログラムのコードをきちんと読み解くことが出来、メソッドの組み方を見て覚え、自分でも似たようなコードを書けるようにする
といったところが例として挙げられるでしょう。
プログラマー
プログラマーは、単に設計書に書いてあるようにコードを書いていく、と言う単純な仕事だけではありません。
ミスを少なくするには業務用件を覚えないといけませんし、変数表や詳細設計所に適宜改修を加えないといけません。
特に後者2つは、もっと上流の工程に行く時にとても重要です。変数表や詳細設計所に関しては、改修に留まらず一から作り上げる位にまで成るのが理想的です。
要件定義の際はドキュメント能力や発想力が求められます。プログラマーの現場ではこの能力が鍛えられます。
一生プログラミングを仕事としてやっていきたい人から見ても、業務用件をかみ砕いて最もシンプルかつ適切なコードを組み立てる、という経験は大切です。
よって、この現場での最終目標は
・ドキュメント能力を高めて詳細設計所を一から作れるようになる
・業務用件をかみ砕いて、適切なコードをイメージできるようにする
といったところが例として挙げられるでしょう。
要件定義
要件定義は開発エンジニアにとって花形ともいえるような職業なので、目標と言っても中々思い浮かびませんが、設定しておくと更にキャリアの選択肢が広がりますし、当然年収も上がります。
要件定義という仕事は自分の考えたシステムの仕様を他人に説明しなければなりません。よって、説明能力やプロモーションの能力がつきます。
説明能力やプロモーションの能力と言うのは一つ上の工程であるマネージャになった時に大切な能力です。自分の担当しているプロジェクトにはどのような意義があるか、どんな体制なのかは部下にも上司にも説明する必要があるからです。
よって、この現場での最終目標は
・今のプロジェクトのシステムの仕様を完ぺきに理解し、そのシステムにどんな存在意義があるのか、そしてなぜ現在のような仕様になったかを人に説明できるようにする。
といったところが例として挙げられるでしょう。
マネージャー
マネージャまで行くと自分ではなく、他人つまり部下を育てる、もしくは守るという部分が目標になります。
部下を育てる、もしくは守る。これが出来るようになればそのままマネージャを続けても経営者になる等のステップアップをしても成功は間違いないでしょう。
部下を育てる、守ると言うのはなかなか難しい物です。転職のハードルが一段と低くなり、外国人の部下を持つ事も珍しくなくなった現代なら猶更です。
スケジュールを守るだけでも、あまりにも強引な手段を取ればコンプライアンスに触れる可能背がありますし、だからと言って全部自分がタスクを片付けてしまうと部下が育ちませんし、自分自身も持たないでしょう。
マネージャーは究極、自分が何も仕事をしなくても自然と仕事が回っている、という状況を作り出す事であると思います。
よって、この現場での最終目標は
・部下にスケジュールを守らせ、必要なスキルを身に着けさせる
といったところが例として挙げられるでしょう。
抽象論を大切に
仕事内容も人間関係も異なる現場での経験なんてなぜ役に立つかわからない、という思う人もいるかもしれませんが、この時抽象論が役に立つのです。
どのような事に気を付け、どのような目標を自分の中で設定したか。これは就活だけでなくキャリアアップでも必要な能力です。
これがあるからこそ、自分が次に何をすべきか、または次にどんな現場に行くべきかが決まるわけです。
徐々にステップアップ
フリーランスエンジニアになったからといっていきなり年収の桁が増える訳ではありません。年収も現場のレベルも一つずつ、着実にステップアップさせる必要があります。
そのステップアップのためにも各現場で最終目標を設定する事が重要なのです。
もしキャリアに行き詰っているなどという場合に関してもご相談頂ければ幸いです。