Tech Racho エンジニアの「?」を「!」に。
  • ライフ

文系出身がウイングドアに入社して学んだこと

BPSの福岡拠点として一緒にお仕事させて頂いています、株式会社ウイングドアのイシバシです。
私は今年の4月に入社したばかりの文系出身の者です。
今年の12月で入社して8ヶ月経つので、4月〜12月の間どのようなことをして、何を学んだのかを振り返りたいと思います!
入社してからこのようなことをしていたのか!と、軽く読んでいただけたらと思います。

4月〜7月:外部研修

入社してすぐ外部研修に参加させていただきました。
毎年外部研修の期間は4月〜6月の3ヶ月間でしたが、今年はコロナウイルスの流行により、1ヶ月延長の4月〜7月の4ヶ月間外部研修に行ってまいりました。
研修内容は、ビジネスマナー・Java言語の習得・チーム開発を学ぶための模擬プロジェクトなどを学びました。
最初の1週間と最後の1ヶ月と少し以外は、オンラインという異例の研修でかなり不安でしたが、個別補講などの講師陣の手厚いサポートにより無事に4ヶ月の外部研修を終えることができました。

学んだこと

Java言語!

研修ではJava言語を使用し、講師陣から配布される課題を解いていくのですが、記述の仕方がわからず、
よく同じチームの方や講師の方にslackやGoogleMeetを使い質問をしていた記憶があります。
インスタンス化やif文・for文を学び少しずつですが、プログラムをかけるようになることがとても楽しかったです。

進捗報告の重要性

チーム演習の模擬プロジェクトの開発期間は2週間しかなく、納期厳守だったため、誰がどこを担当しているのかの把握がとても大切でした。
誰がどの作業をやっているのか、どのくらいで終わりそうなのか、、、
こまめに進捗報告をすることの重要性を学べたと思います。

8月〜9月初め:社内での業務開始です!

ですが、研修でJavaを軽く学んだから、バリバリコードをかけるわけでもなく、、、
まずは、GitHubやターミナルの使い方を教えていただいたり、先輩社員が以前開発したコードの簡単な文言修正、HTML/CSSでのコーディング作業を行っていました。
HTML/CSSはすぐに画面に反映されて、コーディングしてるぞ!感がすごく楽しかったです。
文言修正は今振り返ればさほど難しくはありませんでしたが、当時の私はPHP(Laravel)の書き方すら全く知らなかったため、文言修正に2、3日かかったりしていました😅
その他にも修正するにあたり、どの場所から調査をし始めるのか、お客様に提出するお見積もりの作成方法なども教わりました。

学んだこと

メンテナンスしづらそうなコードは書かない!

コードを修正し動いたから良し!ではなく、この先他の誰かが私が修正したコードをみて
メンテナンスしにくい、できないとなった場合、一生面倒を見ていかないといけなくなります。
そうならないためにも、綺麗なコードを書くように心がける、、、ですが最初のころは、
コードを追うのすら一苦労だったので、コードについて良し悪しがわからない時は、先輩社員に尋ねるようにしていました。

あとは、ソースコードを変えたことによる影響範囲もちゃんと調べておくことも重要です!
修正自体小さい内容かもしれませんが、もしかしたらどこかでエラーが起きてる可能性もあるからです!

勝手に修正しない!

例えば、文言修正中に依頼内容にはない場所で文言の違いを見つけた時、簡単だからと言って勝手に修正を加えるのは良くない!と教わりました。
もしかしたら、そういう仕様の可能性があるため(あまりないとは思いますが、、、)他の場所でも文言ミス見つけました!とお客様に報告してから、修正することが重要です。
(お客様によっては事後報告でもいいよと言ってくださる方もいるそうです。)

9月:テスト業務

9月頃は、ひたすらテスト仕様書と睨めっこをしていました。
この頃から、ブルーライトカットメガネをつけるようになりました!!
見え方としてはiPhoneのNight Shiftをオンにした時の少し茶色っぽい?見え方です。
いつもは午前中終えたぐらいで、目がしょぼしょぼになっていたのですが、ブルーライトカットメガネを着けるようになってからは、一日中画面見続けることができるのではないか!?ぐらい全く目が疲れませんでした。

学んだこと

ブルーライトカットメガネは是非着けてみるべき!👓

10月〜12月:受託案件

10月からは社内案件に携わらせていただきました。

ECサイトの開発で、もともとある既存のものをプラグインでカスタマイズしていきます!

使用言語はSymfonyということでまずはSymfonyのチュートリアルから、、、
(PHPもろくに書いたことがない私がSymfonyを使えるのかとても不安です)
チュートリアル通り進まない部分もあり案の定かなり手間取りましたが、先輩社員に教えていただきなが終えることができました。

ターミナルからコマンドを叩くことも増え、できるだけ自分が打つコマンドの内容を理解するよう心がけています。

次に、画面遷移図・画面仕様書の作成を行いました!初めてです!⭐️
画面遷移図・画面仕様書の作成をするにあたり、開発期間の納期が既に決まっていたので
既存からあまりかけ離れた画面遷移にならないように、お客様の要件をとりこぼさないようになど考えながら作成しました。

画面仕様に違和感がないように、全く画面遷移の流れを知らない先輩に確認をしていただきながら、何度も手直しをして完成させました✨

画面仕様書・画面遷移図完成後、ようやくコーディングです!
データベース・コントローラー周りは先輩方がすでに開発を進めてくださっていたので、私はJavaScript周り(フロント)の開発を行っていました。
最初はJavaScriptなど使ったことなく、最初から躓いていましたが、検索すれば情報が沢山あったためとても助かりました。(「Qiita」が好きです)

自分で考えてみたり、サイトを検索しても解決しない場合は先輩社員にお力添えをいただいていました。

2.3日悩んでも解決しないタスクが、先輩社員に聞くことにより一瞬で解決したりするので、
なんで自分はこんなこともできないのか、、、と少し落ち込んだりもしますが、
このような書き方があるのか!!と勉強にもなりました。

(出来ないことを嘆いてもしょうがないので、こんな書き方があるんだ!真似していこう!!という気持を忘れないようにしています、、、)

学んだこと

伝え方が大事

自分が担当しているタスクで詰まってしまった時、先輩社員に質問をしにいくのですが、
自分の状況が上手く説明できずにいました。
その時に、先輩社員から

  • 何を実現しようとしているのか
  • 何を試したのか

を意識して質問をしてみるといいよ!と教わり
質問をしに行く時はこの2つを意識して質問をしに行くようにしています。

ですが、もともと説明下手で中々自分の思ったことが上手に伝え切れず、苦戦しております。

自分が書いたコードはしっかりと理解する

上記の「何を試したのか」にもつながってくるのですが、先輩社員に質問をしにいく時、自分が書いたコードをしっかりと説明できず、話がなかなか進まない時が多々あります。

先輩方の時間も無限ではないため、自分が教えて欲しい内容を的確に伝えることも大事だし
スマートに自分が行ったことを言えた方がかっこいい気がします!

あとは、後々自分が書いたコードの修正が必要になったり、他の方に説明する時に、
自分が書いたコードが理解できていないと、修正や説明に無駄な時間がかかってしまいます。

無駄な時間を使わないためにも、しっかりと自分が書いたコードは理解しておくことが大事だなと改めて思いました。

ログを確認するconsole.log();

最初の頃、実際にJavaScriptでコーディングしていましたが、うまく動かない?なんでだろう?とずっと悩んでいました。

その時に、先輩社員がログでどの場所までちゃんと動いていて、どこから動いていないのか確認していることを知りました。(この時に、そういえば外部研修で講師の方が(まずはログを確認してみよ!)と言っていたのを思い出しました)

加えて、値をどの場所で取得しているのかも確認することができconsole.log();はとても重宝しております。
(「Google Chrome」の検証ツール(デベロッパーモード)にはよくお世話になっております)

おわりに

4月〜12月を振り返り、色々なことを学び入社した日よりかは少しは成長できたのかなと感じます。
特に10月〜12月は、開発をする下準備の段階から開発までの流れを知ることができました。

技術不足、知識不足でテキパキとソースコードを書くことはできず、詰まったりするときもありますが、
その時はあまり1人で悩まず、先輩社員にお力添えをいただくようにしています。

それと、メモをよく取るように心がけています。
自分が打ったコマンドの内容、環境構築の手順、先輩の何気ない一言(大事だなって思ったことです!)など、、、
メモを取っておくことで、いつか役に立つことがあると思います。

まだまだ知らないことばかりなので、実際にコードに触れてみたり、先輩社員の良いところ真似したりと
自分はあまり器用な方ではないと思うので、慌てず1歩ずつ進んで行けたらと思っています。

余談ですが、「マスタリングTCP/IP」の本を読んでいます。(あまり進んでいませんが、、、)
技術本ではないため、技術力がメキメキ向上するわけではないですが、
プロトコルやインターネットについての理解も必要だなと思い読み始めました。
初心者の方にも丁寧でわかりやすい内容なので、読まれたことがない方は是非一度読んでいただきたいです📚


株式会社ウイングドアでは、Ruby on RailsやPHPを活用したwebサービス、webサイト制作を中心に、
スマホアプリや業務系システムなど様々なシステム開発を承っています。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。