あなたのお役に立ちたいわんど。

あんどぷらす新米Webエンジニアって何するの?〜バックエンドより〜

皆さん初めまして、好きな豆腐は「高野豆腐」
4月から入社しましたバックエンドエンジニアのkuuです。
以後宜しくお願いします。
内定者アルバイトをしていた頃の私をあんどぷらすのFacebookで見かけた人もいるかもしれません!

私はプログラミングを専門で2年学んでいまして、そこから新米バックエンドエンジニアとして入社したわけですが・・・
「そもそもバックエンドって何?」「正直何してるの・・・?」「仕事つらくない?」「学生の時やってたらいい事ある?」
など気になる事多いと思います。学生目線だと新入社員2ヶ月間何してるとか想像つかないよね、わかる。私もつかない。ではどうするか・・・

「そうだ、Wand見てみよう。」

と、言うことで!就活生、またはWebエンジニア・バックエンドエンジニアを目指す人にとって、痒いところに手が届く孫の手のような記事になれば幸いです!

~目次~

「バックエンドエンジニア~それは裏方~」

バックエンドエンジニア・・・聞いたコトない人もいるかと思います。なのでまずは一般的に何するかを説明させていただきます!
知ってるぜ!俺は実情を見に来たんだ!って方は飛ばしてください!

まず前提としてWebエンジニアは大きく分けて二つの種類があります。
それがバックエンドエンジニアフロントエンドエンジニアです。

フロントエンドエンジニアは・・・
ユーザーから目にするブラウザー側(クライアント側)の開発を主に担当するエンジニア。
ゲームで例えると、景色だったりキャラクターの動きだったり、ボタンの配置、ゲーム画面のUIをゲームに実装したりするイメージです!
Webデザイナーと兼用している会社もあったりしますね。

バックエンドエンジニアとは・・・
WebサービスやWebアプリケーションのシステム、データベースやサーバーなど裏側を担当するエンジニアです。
ゲームで例えると、セーブ機能だったり、アイテム合成機能だったり、サーバー、データベースなどの基盤を構築するイメージですね!
基本的には直接ユーザーの目には触れない部分を作ります。
あんどぷらすのバックエンドは、言語は主にPHP,HTML,CSS,JS、サーバーやデータベースで使うSQL知識を使うことになります!

バックエンドエンジニアは縁のしたの力持ちなんですね〜。時々ある「サイトが表示されなくなった!」などの不具合が出た際の修正を行うのも仕事だったりします!これを保守と言います、サーバーの修理やエラーへの対処などを行いますよ!
会社によってはバックエンドとフロントエンドが別れていない所もあるので会社基準ではありますけどね、どっちがメインになるかを聞いておくとやりたい仕事を判断する上での指標になるかもしれません。

ちなみにあんどぷらすのエンジニアはフロントとバックエンドで分かれています!
バックエンドは結局両方の知識が必要になってくるのですが、それはまた別のはなし・・・

目指した理由

Webエンジニアを目指したきっかけは授業で行ったWeb制作が楽しいと感じたからで、Web業界の仕事を通して見聞を広めることができるのでは?と考えたからでした。それに一度デザイナーを目指したことがあるのでデザイナーさんと一緒に働きたい、支えたいと思ったことも理由です。
それにユーザーに見える部分を作る仕事ではありませんが、縁の下の力持ちの職業はかっこいいと思ったからです!

ではなぜバックエンドエンジニアを目指したのか、実は就活的な面が強かったりします。
バックエンドエンジニアは覚える言語などが多く、需要が高いんですよね。まさにブルーオーシャン。
新しい知識を学ぶことは多いですが、自分の為、実力になるなら私は結構平気でして、苦には感じない事が適正が高いかな?と思ったからです!

「実際の業務~生後2ヶ月~」

「戦え。戦わなければ生き残れない。」
格闘の日々・・・激闘の2ヶ月でした・・・。色々な知識が増えましたし、案件に二つも携わらせていただきました!新入社員でも本番の環境を触る事に社会人という責任を感じたと同時に、成長の機会と受け取りました。ありがとうございます。
では、主な仕事だった次の二つを見ていきましょう!

1.課題〜CS-CARTのアドオン作成〜
2.実案件〜AWSでWebサーバーを立ち上げと設定

1.課題〜CS-CARTのアドオン作成〜

まずCS-CARTとはなんぞや?って言うとECサイト(ショッピングサイト)の構築に利用されるサーバーインストール型のネットショップ構築パッケージです。用語が専門的すぎる。
ショッピングサイトの基本的な機能が備わった土台だと思ってください!商品買ったりとかカートに入れたりとか、ショッピングサイトってこんな機能絶対あるよねって機能が揃ってるイメージ。
この土台に欲しい機能を追加したり、デザインを変更したりしてECサイトを作成します。
そして、この土台に機能を追加できるのがアドオン機能です!今回の課題ですね。主な言語はPHP,HTML,CSS,JSです。

アドオンの作り方が気になった方は下記の初心者でもわかりやすくまとめてくださった、エンジニアの先輩yoseiさんの記事をご覧ください!最初本当にお世話になりました。
CS-Cartでアドオンを作ってみたい!噛み砕いて整理してみる。

作るの難しそう。そう実際難しいです。課題とはいっても・・・私はあまりPHPを書いたことはなかったので、内定者アルバイトでCS-CARTのアドオンを触っていなかったらだいぶキツかったと思います。でもPHPを学んだことある人なら私より苦労しないと思います!
アドオンの課題は、コーディング自体はそんな量があるわけではないです。が、そもそもアドオンは元あるコードに割り込むような形で要素追加したりするので、追加したい機能がある場合元となるページの機能を理解する必要がありました。それが大変・・・

「このデータを引っ張ってきてるからここにコードを追加しよう!」

と、言うような動きの理解ができないと路頭に迷うことになります。私は迷いました。ここで大切だと思ったのは動きの追い方でしたね。
追い方の選択肢が増えていくと、まずはここを見て・・・次はここを見て・・・と手が止まることが少なくなっていきました。
そうして手を動かしていき、地道にコードを見ることがいちばんの近道でしたね!地道な歩みこそ最短の道です・・・!
理解できたら同じような動きのページとかを探して参考にしつつコーディングをしていきました。

実際、誰かのコードを見ている時間や調べている時間のほうが長いです。学生時代では授業でコードを書くことが多いと思うので、その辺りはイメージの違いがあるかもしれません。
ただ、学生の頃よりも色々なコードを見て勉強することになるので、エンジニアを目指す人は社会人になったらプログラミングへの理解はより深まると思いますよ!
私も理解は深まりましたし、今人生で一番勉強してます。
やはり作ったモノが問題なく動作した時の満足感は素晴らしいので楽しいです!

2.実案件〜AWSでWebサーバー作成と設定〜

※AWS(Amazon Web Services)=Amazonのクラウドプラットフォームサービス。
↑今回AWSのクラウドサービスを利用してWebサーバーを構築するよ!ってコト。
※Webサーバーっていうのは、Webサイトを見るための土台です。スマホで見てるWebサイトも、大元の場所にあるファイルを覗き込みに行ってるんです!そのファイルがある場所をWebサーバーって言います。このWebサーバーに色々インストールとかしてサイトの機能とかを使えるようにすることがサーバー設定です。

2ヶ月間の間で案件に二つ携わらせていただきました。二つともAWSで構築しており、一つ目の案件では先輩と共同でWebサーバーを作成し、二つ目の案件では先輩に質問しながら一人で立ち上げて公開まで行いました。
AWSを触ったことがなかったため、AWSの基礎知識を学ぶため参考書を読むところから始まり、一つ目の案件では先輩と共同作業でなんとかやり遂げたのですが・・・

そう、問題は二つ目の案件でした・・・先輩と共同作業したとは言え、ネットワークも学生時代苦手でして・・・
今回、Webサーバは公開したいサイトに適したスペックのEC2インスタンス(サーバー)を立ち上げ、サイトに必要なサーバー設定を行います。それにたいして公開する際の手順を考え、手順通りに設定を行い公開。という流れになったのですが・・・AWSで使われている機能やサーバー設定の意味を理解しないといけなく大変でした。

サーバー設定で必要なものをインストールし忘れていたり、制作サイトに対し必要な機能を分析する力を培う必要があると感じました。
案件次第でサーバー構成が変わったり、Webサーバーの必要なスペックが変わったりするので、こればっかりは経験と勉強をして地道に知識を増やしていく努力をしていこうと思います。

しかし・・・案件前にAWSの参考書を読みましたが、本番になると話は別。最初は理解度の薄さを感じましたね。機能が何をやっているかは説明できても「どうやって」やっているか?が理解できなかったんです。あと応用が効きませんでした。
例えばですよ、テレビってリモコンでボタン押したら電源がつきますよね、リモコンはテレビを操作する装置ですから。なぜボタンを押すと電源がつくのか?答えは赤外線ですね。ここまでは理解できたとします。ではなぜ赤外線でテレビが反応するのか?そこが理解できていなかったんです。
「ここをこうすれば動く。」と言う説明より、「ここをこうする事でこういった理由で動く。」と理由まで説明できないと、いけないと感じました。
サーバーに関わらずエンジニアならもし「なぜこの設定にしたのか?」と、質問された時に説明できなくてはなりません。
その設定をしたのは自分ですから、自分しか知らないわけです。だから、行った操作とそれに対する理由をまとめておくこと。を心がけていこうと思いました。
行われていることに必ず理由があるので、それが救いです。

バックエンドエンジニアという職業を背負っている以上、基礎や仕組みを理解する事は仕事をする上での責任ですね。
全ての仕事に通づる部分かもしれません。専門職ですしね!誇りあるバックエンドエンジニアに慣れるよう日々精進していきたいです!
人に説明できるような理解を意識して責任ある仕事をしたいと改めて思いましたね!

意識を変えてからは、google先生に聞きつつなんとか設定を完了し、サイト公開まで行いました。
公開時はSSL(HTTPS通信)の設定でつまづいたりして、十分すぎるほどに徹底的に準備した方がいい事を心に刻みました。

また、今回の二つの案件ではエラー調査をしたのですが、エラーをよく読む事。ログを読む事。
の重要性を改めて実感しましたね。エラーは本当にログ、ログが全ての糸口になってました。
とても沼ってしまい、しっかりログを見てからはすぐに原因が特定できて、もっと早く特定できたと反省しました。
エラーを理解しエラーが起きている場所のログを探す。事が、エラー解消の一歩目ですね!

今回の経験を活かして次の仕事に活かしていきたいです。
しかし、エラーを解決した時や、公開が完了した時は達成感がすごいです。ドーパミン溢るるって感じですね。

ちなみに、なぜ赤外線でテレビの電源がつくのかというと、ボタンに応じたビットパターンに応じて赤外線LEDを一定周期で点滅させることで、赤外線センサが受信して電気信号を伝えるかららしいです。

「働くってコト~世の社会人すごい~」

実際に社会人になって、世の中の働く社会人はすごい!って思った話です。
前提として楽な仕事は無いですし、責任を伴わない仕事もありません。例外はあると思いますけどね。
私はエンジニアとして就職したことに後悔はありませんし、仕事ができる人間になりたいと思っています!
ですが、もちろん辛い事も多いです。最初は覚えることは多いし、本番環境で変な動作をしたら全て壊れる責任を思うと胸がドキドキします。
間違ったことを言うんじゃないかとビクビクしながら話して日本語がおかしくなることもあります。
2ヶ月前まで学生でしたしね。

だからこそ、世の中の人の見る目が変わったりします。
街中ですれ違う人が皆仕事を持っていて、就活を終え、責任を負いながら頑張ってるんだと思うとすごいと思って素直に尊敬しますよね。
ちなみに就活中は道ゆく人が就活した事があるって考えたら、凄いって思って尊敬してました。
ここまで読んでくれている人は、気が向いたら周りの大人たちに「いつもお疲れ様」と、声をかけてあげてください。
結構、喜んでくれると思います。

「エンジニアメタ~やってたら良かったかも~」

自分が社会人になって感じた、やってよかった事。やってたらよかった事。を書こうと思います。個人差があると思うので、参考までに。

一番は遊ぶ事。だと思います。が、そう言う事じゃないですよね!これらは大きく分けると技術や経験といった種類に分けられると思います。

技術で言うと、JS(JavaScript)PHPですね。特にJSは理解するのが大変で・・・未だに全然わからない・・・。学生の頃少し触っておきたかったですね。初めて取り組むものには絶対苦手意識が出ると思うので、触りだけでもやっておけばよかったです・・・!
あとはネットワーク関係やサーバーの知識ですね。DNS(ドメインネームサーバー)とか情報系の学生さんは知っていると思うのですが、サーバー関係の機能は覚えておきたかったです!学校でやった記憶はありますが割と忘れていますからね・・・。
他に技術だとAWSは触れるなら触っておいた方が良いと思います。情報系の大学生さんは触る機会ありそうですよね!専門学校だと絶妙なラインです。

経験で言うと、失敗人前に出る事経験ですね。
失敗は成功の母、と言う言葉があるように挫折から学びを得た人間は強いです!私も挫折を19の頃に挫折経験しましてね、一回すごい現実を見て冷や汗がでた経験があります。そこから就活に向けて頑張ることができました。
人前にでる経験ですが、特に目上の人たちの前に出る経験は大切だと思います。模擬面接や会社の面接以外のところでは難しいですがそういった機会があれば進んで経験を積んでおきたかったと感じます、緊張に強くなることって大事です。メンタルは体調に影響しますからね・・・私はメンタルに自分のポテンシャルが結構左右される人間なので苦労しています。

あとは社会人になってからの、目標があるといいかもしれません。就活を自分の中でゴールにおいてしまうと燃え尽き症候群になります。私はなりました。
今は有能なエンジニアになって友人にドヤりたいという目標あります!叶うのはいつになるかわかりませんが。
就職先の先輩のようになりたい!管理職を目指したい!とか貯金を1000万貯める!とか、誰かに伝えるためではなく自分の中で決めておくとモチベにつながるのでおすすめです。

あとは余談ですが、趣味があるといいなって思います。
これが好きで好きでたまんない!ってもの見つけるのなかなか大変だと思うんですよね。
無い人はとりあえず気になること手出してみるのもいいと思います。私は趣味ゲームですけど、語れる趣味を持っておくのは意外と役に立ったりします!

「所感」

長々と書かせていただきましたが、2ヶ月間あっという間でした。
初めての案件は自分の無能さを痛感し、心折れかけましたがその経験が自分を強くした気がします。
何より知識が足りない!基礎、やはり基礎知識。こればっかりは頑張って覚えるしか無いです。学生のうちに目指す職業が決まっている方は基礎は固めておいて損はないと思います!
また、自分で調べながら仕事を進める力、と言うものは思っているよりも難しく。最近はようやく調べ方も解ってきて手が止まることも少なくなりました。
まだ足りない事も多く、「これ理解できるのか・・・?」とプログラムを目の前に絶望することもありますが、まずは1行。一つ一つ着実に一歩を進めていく事で理解していく事を教訓に仕事をしていきたいと思います。

なんにするにも地道な一歩を積み重ねていくのがバックエンドエンジニア、いやエンジニアだと考えます。
そしてその歩みの後に道が出来て、経験によって道が増え、同じ道を通り、道が整備されて早く走れるようになった時エンジニアとして一人前になれる気がします。
学ぶ事は多いですがこれからも精進していきたいと思います!

この記事で少しでも新米バックエンドエンジニアの実情をご覧いただけたでしょうか?参考になれば幸いです。
あんどぷらすに興味がある方はぜひ、オープンカンパニーやインターンにお越しください!
リクルートサイトはこちら
オープンカンパニー情報はInstagramのOpenCompanyから!

Wandでも企業説明会や職業体験の募集について記事が公開されるので、公開されている場合はそちらもご覧ください。
ご閲覧いただきありがとうございました!

投稿者プロフィール

kuu
kuu
布団と結婚したい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

< すべての記事を見る >

Web制作の株式会社あんどぷらす
ECサイト構築サービス「ウルトコ」
イベントスペース「fuigo」
CS-Cartの情報ポータル「STOCK」