こんにちは、KAKERUです。
今回は私がフロントエンドエンジニアになって良かったこと、キャリアップについて考えていることを記事にしていこうと思います。
そんな私がフロントエンドエンジニアになって良かったことは、仕事で扱う言語やポジションが広範囲なところになります。
結論から言うとWeb系における全てに置いての知識や業務に触れることができます。
日々スキルアップを目指している私からしたらもの凄く気持ちの良い職種です。
詳しい説明の前にまずは
フロントエンドエンジニアについて
それからバックエンドエンジニアについて
軽く触れて行きたいと思います。
フロントエンドエンジニアとは?
フロントエンドエンジニアとはWeb系の業務において見える部分の担当になります。
見える部分とはどういうことかと言うと、
アプリケーションやサイト等の画面の担当になります。
具体的には、画面のアニメーション等の処理部分の担当となります。
少し例をあげると写真のスライドショーやナビゲーションバーのアニメーションであったり
そういった表現をプログラミングをし、システムを組んで再現したり
コアなところで言うとサーバーとの通信部分の処理までがおおまかな担当内容となります。
バックエンドエンジニアとは?
バックエンドエンジニアとはフロントエンドと違い、見えない部分の担当になります。
具体的にはサーバーやデータベース等のデータの管理を行います。
画面操作から送られてくる命令に対して適切にデータを検索し加工して画面側に返すというデータの加工処理等が主な担当となります。
厳密に説明するとかなり長くなるので、今回はなんとなくこんな感じという理解で大丈夫です。
フロントエンドエンジニアの実態
私はフロントエンドエンジニアとして現場で業務をしていますが、
仕事の内容としてはフロントエンド側ももちろんなんですが、バックエンド側まで任されています。
これは今のところ私が入ったプロジェクトでは全現場共通でバックエンド側も任されてきました。
元々フロントエンドの人間なので急に振られても分からない事が多くてあたふたする事も沢山あります。
ですが現場のバックエンドエンジニアの方々がフォローしてくれるので、勉強しながら仕事が出来ているという形がとれています。
フロントエンドエンジニアは他の作業も任される
それでは他の作業を任されてもある程度適応するためにはどのようにしたら良いか私なりの経験を元に説明していきます。
私は最初フロントエンドエンジニアになるときにweb業界の仕事内容をざっくりですが、頭に入れることから始めていました。
例えば、要件定義から納品までの作業工程はどんな感じかイメージし、実際に現場で働く人たちから話だけは聞いていました。
何が良かったかというと、エンジニアはプログラミング以外にも設計書作成やテストの実施等も任されます。
そのときに経験がなくても知識があったので、自分のイメージと違うとこのすり合わせと、どのようなドキュメント作成をしたらいいかを学ぶだけでタスクをこなすことができ、実績にすることができました。
※テストの実施や設計書作成はエンジニアにとって大事なスキルとなります。
他の言語にも対応するためには
プログラミングに関しては、独学ではありましたがオブジェクト指向プログラミングを自分なりに勉強し、オブジェクト指向プログラミングを使ってちょっとしたwebサイトやアプリケーションのようなものを作ったりしていました。
この経験のおかげで、私はJavaScriptを得意としますが、javaやCでのシステム開発にも学習コストをそこまでかけずに取り組むことができました。
プログラミングを学ぶときに最初どんな言語を勉強したらいいかと、迷うことがあるかと思いますが私は正直なんでもいいと思っています。
強いていうなら、簡単に書ける言語が良いかなと思うくらいです。
※私は学生時代processingというクリエイティブコーディングができる言語から勉強していました。
もう少しプログラミングについて触れていきます。
なぜ簡単な言語の習得でいいかというと、
プログラミングの習得は考え方を習得するにほぼ等しいからです。
プログラミングの書き方は言語によって様々ですが、考え方はほぼ同じです。
参考までにサッカーに例えて説明していきます。
例えばシュートをするという処理があったとします。
シュートをするためには、
- ボールをもらう
- ゴールをみる
- シュートを打つ
このような工程があるとします。
ですがある言語では
- ボールを受ける
- ゴールを確認する
- ボールを蹴る
このような言葉のニュアンスで処理をするのに対して、
またある言語では
- ボールを持つ
- ゴールを目視する
- シュートする
このような言葉で処理をします。
言葉のニュアンスは違いますが、目的は同じです。
要するに、言語によって書き方のニュアンスは異なるが、工程は(ほぼ)同じとなります。
したがって、プログラミングを学ぶときに意識するのは、言語の書き方ではなく、シュートするまでの工程や考え方の方だと考えています。
この考え方が身につけば違う言語を扱うときに、ある程度学習コストを削減することができ自分のスキルにすることができます。
まとめ
著者はフロントエンドエンジニアとしてプロジェクトに入っていますが、
バックエンド側の業務まで任されています。
エンジニアとして幅広い知識やスキルを身につけるために、フロントエンドを入り口にするという手段も選択肢に入れて日々エンジニアとして活動していく方針も良いと思っています。
私は自分のスキルや知識が日々アップデートする感覚を味わいながら働けていますので、エンジニアとしてスキルアップを重ねるならフロントエンドエンジニアを最初に目指すという形もキャリアアップの入り口としてオススメ致します。
そんな私はというと、現在フロントエンドエンジニアとしてキャリアを積んでいますがバックエンドエンジニアとしてスキルマッチするプロジェクトも増えてきています。
是非自分の目指すエンジニアを想定して手段の一つとして参考にして頂けたら幸いです。
最後まで読んで頂きありがとうございました。