はじめまして、こんにちは。
名前はsohと申します。
年齢は23歳、
現在東南アジア発のスタートアップスタジオ「GAOGAO」に所属し、主にサーバーサイドを担当させて頂いています。
このQiitaはGAOGAO Advent Calendar 2019の10日目の記事です。
大学卒業後、GAOGAOゲートにてベトナムのホーチミンでプログラミングを学び、9月からタイのバンコクにて仕事をしています。
よって12月現在、実務経験は3ヶ月となっております。
そんな僕が3ヶ月で得た経験を書いていこうと思います。
「こんなこと当たり前だろ...」
と思う方がいるとは思いますが、温かい目で最後まで見守ってください。
#目次
- ドキドキワクワクの初案件
- 0からのスタート
- この経験から得たもの
- まとめ
#ドキドキワクワクの初案件
9月の上旬にタイに引っ越し、すぐに案件に入らせてもらいました。
この案件は他のメンバーがすでに進めていて僕は途中から参加する形でした。
初めての実務ということで戸惑いながらも自分の振られたタスクを必死にこなしていく毎日。
やっとの思いで完成させたコードをレビューしてもらうと、驚きの言葉が。
「これ悪いけど、丸々書き直しだね〜。」
まじ、、、?
僕は耳を疑った。
確かにコードは見直すと汚い。しかし本質はそこではなかった。
機能要件を満たしていない。
普通に考えて当たり前だ。
####仕様の理解が足りないままコーディングに入ってしまった。
いきなりやってしまったが、落ち込んでいる暇は無くすぐに遅れを取り戻さないといけない状態になりとても焦ってしまった。
そう思い取り組んでは見るものの次の問題が。
####圧倒的にコーディングのスキルが足りない。
こればっかりはもう自主的に勉強してスキルをつけるしかないが、結局最後まで自分のタスクを終わらせる事ができずに同じチームのメンバーに負担をかけてしまった。
個人的には勉強しているつもりであったが全くできなかった。
チームのメンバーには申し訳ない気持ちがいっぱいで悔しくてたまらなかった。
そんなこんなで僕の苦い初案件が終わった。
#次の案件は0からのスタート
次の案件は業務基幹システムを作るというものだった。
実際にプロジェクトの始めから終わりまでの流れを経験したことがない僕はすべてが初めてで
学ぶことだらけであった。
要件定義、お客様へのヒアリング、画面遷移図の作成、ER図作成などいわゆる上流工程?と呼ばれるコーディング以外の部分は時間をかけておこなった。
正直な感想は、、、
###コーディングまでの道のり長くね?
でした。
業務時間以外でもやることが山積みで楽しいかと言われるとあまり楽しくはなかった時期でした。
しかし、この時点で細かく相手の要望を聞くことが後々の認識のズレを減らし、
結果計画どおりにプロジェクトを進めることに繋がるので、前回と同じ失敗をしないように丁寧に行いました。
これからコーディングに入っていくのですがこれを丁寧にやることにより自分のすべき正しい作業が明確になった気がします。
他にも書ききれないぐらいたくさんありますが、、、
#この経験から得たもの
業務を進めていく上で、、、
###1. 何よりもまず仕様の理解を第一に。
せっかく時間をかけて作ったものでも、相手の求めている物でなければ納品できない。
これから作るものを自分がイメージできていることが前提としてあり、
それが果たして相手の欲しい物なのかを確認しなければならない。
当たり前のように聞こえるが実際にやるとできていない人が多いのではないだろうか。
少しの認識のズレが大幅な修正の時間を作ってしまう。
ならば最初から多めに時間を取ってでも丁寧に作り込む方が長期的に見てスムーズに進むことがわかった。
もちろんスピーディーにできるに越したことは無いがそこは経験を積んでレベルアップしていきたいと考えている。
###2.事前に足りないスキルを明確化する
今の時点ではできることが少ないが、そんなことは関係なく振ってもらったタスクは責任を持ってやらなければならない。
しかし丁寧にやるべきことを決めておくことで、
今の時点で自分は何ができて、何ができないのかを把握して事前に学習ができるのだ。
こうやって一つ一つできることを増やして行くのがスキルアップに繋がる。
###3.報告、連絡、相談は細かく、そしてわかりやすく。
今自分は半リモートのような働き方をしているので、チームのメンバーと顔を合わせない日も多々あります。
そこでPMの負担を減らすために自分が行うようになったこと。
- 今どんな作業をしているか
- 進捗はどうなっているのか
- 遅れている場合→改善策
最低でもこの3つは意識しています。
この改善策というのがキモで「遅れています。」という報告は誰でもできる。
しかし本当に大事なのは
最終的にどのくらいの時間で終わるのか?その後取り組む予定だったタスクはどうするのか?を明示すること。
これが大事です。
報告を怠ったせいで、他のメンバーの作業が止まってしまう可能性だってあります。
スケジュールを引き直すのにも時間がかかるし、はっきり言って手間ですがそういう所をめんどくさがらずにやりましょう。
この報告、連絡、相談はプロジェクトを進めるメンバーにだけではありません。
お客様への報告が少ないと不信感を持たれてしまいます。
フリーランスだから、リモートだからこそ相手の自分へ印象は人一倍敏感でなくてはなりません。
なのでどんなに些細なことでもわからないことがあれば質問、
特別想定外なことがあっても、作業が順調に進んでいても細かく報告、
というのはこれからも意識して仕事をしていきます。
#まとめ
自分と同じような経験、スキルの方は
- まずはプロジェクト全体のイメージを掴む
- いつでも相手のことを考えて細かく報告
- 何ができないのかを把握し、足りない部分の勉強を空いている時間にする。
これさえやっていれば大きなミスはしないと思うし、仮にミスをしてしまってもすぐに取り戻せるレベルだと思います。
「先のことを常に考えつつ、目の前の作業に精一杯取り組む。」
これを心に留めながら日々精進していきます。
以上が「実務3ヶ月で得たコーディング以外の技術」でした。
#終わりに
実際にエンジニアとして働いてみると想像していた業務とは少し違う部分も出てきて、学びの多い日々を過ごすと思います。
結局どの仕事も根本的な所は変わらず、信用、信頼を重ねることが大事だと感じました。
この記事が同じような境遇の方のプラスになればいいなと思います。
最後まで読んでいただきありがとうございました。
次回は技術的なことを書きます。