10日連続投稿!新人エンジニアが仕事を軽く解説する
どうも、ざわほげです。本日は新人エンジニアの私の仕事の概要をさらっと書いてみます。私が学生の頃にはこのようなことを知る機会がなく、情報合戦に敗北していました。そんな学生の頃の私に向けて日記を残してみます。
noteであれば、私がどんな文章を書いても受け入れてくれる安心感があるので、多少まとまりのない記事でも許してください。
バックエンドエンジニア
今私はとあるスタートアップでバックエンドエンジニアをしています。エンジニアではない方にはバックエンドって何?というかたもいるかもしれないのでざっくり説明します。
普段、あなたが使っているアプリの文章の配置やボタンを押した時の挙動をプログラミングするのがフロントエンジニアです。
そのアプリから送られてきた通信データを処理するのがバックエンドです。そして、それをプログラミングするのがバックエンドエンジニアです。
いわゆるサーバーってやつですね。
例えば、ツイッターのアプリを考えてみましょう。あなたが触るスマホの画面に映し出されるツイートを見やすく表示したり、いいねと押した時のハートが付くエフェクトなどを担当するのがフロントエンドです。
バックエンドは、ログイン情報(IDやパスワード)やツイートの文章そのものを保存したりするなど、フロントエンドから受け取ったあらゆる通信を受け取り、なんやかんや処理をしてフロントエンドに返答を返します。
クライアントやエンドユーザーに直接関係あるフロントエンドに対し、バックエンドは少し地味な感じがします。ただ、陰で支えるサーバこそがアプリケーションを支える大黒柱です。
私にとってバックエンドエンジニアは、プログラミングをひたすらしてても許される最高のお仕事ですね。
プログラミングと言っても、ただコードを量産したら良いわけではありません。予期せぬ事象が発生しないように先手を打つ設計したり、突然の仕様変更の際に柔軟性を持って対応できるメンテナンス性を確保しておくことが非常に重要です。コードの品質をできるだけ上げて、読みやすいコードにしたり、条件に抜けがないようにしなければなりません。
コードレビュー
文章を書いた時でも投稿する前に何度も確認すると思います。ミスがないか、もっと良い表現があるのではないか、処理速度を上げる方法や、メンテナンス性が高いコードは何か、など様々な観点で確認が必要になります。
プログラムの場合、ある人が書いたソースコードを他の人がチェックするコードレビューが行われる場合が多いです。
私の会社で行われているコードレビューは、ネット上にソースコードをアップロードし、それに他人がコメントを付けていき、本番に上げて良いか判断します。コードレビューに使われるプラットフォームはGitHubが最も有名です。
コードレビューは超大事です。他人のコードを読んで良い点は褒めつつ、問題があれば指摘します。これによって、コードの品質が保てるので、回り回って将来自分が行うメンテナンスを楽にできます。
他人が書いたプログラムコードを読むより、自分で書いた方が楽しいものなので、コードレビューを後回しにしがちです。なかなか素早くコードレビューをするのは難しいです。
ただ、コードレビューの回転を早くすることで、開発速度が向上します。そして、リリースサイクルが上がることでより良い製品をお客さんに届けられます。
私の会社では多くの場合は一時間以内、速い時は数分でレビューが行われるため、どんどん開発物が出来上がっていきます。このスピード感はとても心地よく、プログラミング楽しいと思わずにはいられないです。
私自身、他のメンバーが書いたソースコードをレビューし、本番環境に上げる承諾(approve)をすることもあります。ソースコードは自分たちで管理しなければならないため、できるだけ品質を高く保てるようしていきたいですね。
まとめ
ざっくりですが、私が普段やっている仕事を紹介しました。ただ、バックエンドエンジニアの仕事はこの記事で紹介したものだけではありません。プログラミングやコードレビューの他にも、デプロイ(アプリを本番に上げる作業)や、プロジェクトマネージャーとの仕様確認、フロントエンドとの相談など多岐に渡ります。
もっと手広く紹介できたらよかったですが、今日はこれくらいにしておきます。
ちょっとでも興味を持ってもらえたら記事を書いた甲斐があります。
十日連続投稿ですが、日付変更ギリギリになりました。なかなか大変だな。
Twitterもやってます。
よろしければサポートお願いします!本の購入などに充てます!