ソフトウェアエンジニアになって感じた事
こんにちは。
私は東南アジア発・スタートアップスタジオ「GAOGAO」に所属しているsohと申します。
年齢は23歳。大学卒業後ベトナムでプログラミングを学び、その後フリーランスのソフトウェアエンジニアになりました。
私は昨年の9月から今日までバンコクにて業務システムの開発をさせて頂いてます。
期間にして約10ヶ月。
ソフトウェアエンジニアとして働いてみて実際に感じたことや、こうあるべき!と思ったことを3つほど書かせて頂きます。
実務経験を積まれている方からすると当たり前に感じる事が多いと思いますが、エンジニアとしてこれから現場に入る方にはぜひ最後まで読んでいただきたい内容になってます。
まずGAOGAOって?
私の所属している「GAOGAO」とは、新規事業立ち上げに特化の東南アジアベースのスタートアップスタジオです。GAOGAOには起業経験豊富なソフトウェアエンジニアが多数在籍し、ビジネスアイデアを持つ非IT起業家の方向けに、所属しているエンジニアが仕様策定からプロダクト開発を通して新規事業立ち上げをサポートさせていただいてます。
現在、シンガポール、バンコク、ホーチミン、東京の4拠点で活動しており、私はバンコク拠点でエンジニアの方達と生活を共にしています。
またGAOGAOでは、これからエンジニアを目指す方に向けて研修プログラムも行っていますので興味がある方はぜひ。
それでは本題に入っていきたいと思います。
まず1つ目。
1. プロフェッショナルとしての自覚
これは開発に入った当初圧倒的に足りなかったもので、今では一番大事にしていることです。
昨年9月バンコクでの案件がスタートし、右も左もわからない中で、ありがたいことに要件定義から担当させていただきました。
ここで早速1つ目のギャップ。
想像以上にクライアントとコミュニケーションを取る必要があることを実感しました。
仕様に漏れがないかなどの確認など開発初期は特に高い頻度で行っていて、コード書けない日が続いていました、、、
とある日、クライアントとのMTG中に、私自身の勉強不足もあり質問されたことに自信を持って答えられず「経験少ないししょうがなくね、、、」と思ってしまいました。(完全なる言い訳)
しかし、クライアント目線で考えてみると自ずと意識を変えていかねば、と思うようになりました。
お金を支払って開発のプロに依頼しているのに、自覚の無さそうな奴が来たらクライアントはどのように感じるだろうか。
私なら間違いなく仕事を任せたくなくなります。
なので、とりあえず自信満々に振る舞いましょう。
実力が伴っているかどうかは別問題で、どのレベルの責任感で仕事をしているかは態度に出るんですよね。
そこからは更に学習する時間も増やし、技術面やそれ以外の部分も含めて、クライアントにいかに満足していただけるかを常に考えるようになりました。
フリーランス、正社員、雇用形態に関わらずどの仕事でも言えることですが、「クライアントがいてこその仕事」ということを忘れないようにしたいです。
続いて2つ目。
2. 上手く質問せよ
エンジニア初学者あるある
「2~3時間エラーと戦っていた」「こんな簡単なエラーで1日潰れた」
自分1人の力でわからない所を乗り切るのが美しいとされている風潮があります。
私も最初はそう思ってましたが、それは半分正解で半分間違っていると感じました。
質問しない理由は様々だと思いますが、特に多い答えは恐らくこんな感じだと予想。
・自分の力にならないから
・質問するのが恥ずかしい
結局それは自分自身のエゴとかプライドの問題であって、クライアントからしたらそんなの知ったこっちゃない。
仕事に持ち込むべきではないし、それで進捗が滞ってしまうのはよろしくないです。
チーム開発をしている以上、どんな行動が最良の選択であるかを常に考えるべき。
自分だけで1~2時間悩む事 or 技術力の高いメンバーに相談して5分で解決する、どちらがいいか考えれば、仕事という面においては後者のほうがいいと私は感じました。(一概に言えないが)
様々なスキルセットを持つ人がいるのは普通のことであり、メンバーの質問に答えるのも業務の1つだと思っています。遠慮せず聞くべき。
しかし、質問の仕方やタイミングは考える必要アリ。
これは人によって感じ方が変わってくるのでこれが正しい質問の仕方というのは明示できないのだが、日々のコミュニケーションの中から上手く探って行きましょう。
こちら僕が参考にしている質問の仕方です。
質問すること === 人の時間を奪っている
これを忘れずに、教えていただいたら感謝の気持ちと、自分自身の成長で返していきましょう。
もちろん1人で実装できるに越したことはないし、自分で調べる力は必要だと思う。
だがそれは業務時間外に時間を作って伸ばすべき。
未だにいい塩梅がわからず僕もためらってしまう時がありますが、
そういう人はもう「15分~30分解決しなかったら質問する」など時間決めちゃうのがおすすめです。
最後に3つ目です。
3. 毎日のささいな一手間が大きな信頼に
私の開発チームでは以下の手法を取り入れている。
こちらは簡単に説明すると、毎朝slackにその日やることを宣言するというものだ。
私は実際毎日slackにその日に行うことを宣言している。
前日の内にやることをまとめておけば1分もかからずできることです。
この作業を行うことのメリット。
・自分自身の生産性が上がる
・クライアントに対する稼働の透明性の上昇
言い方は悪いかもしれませんがコスパがとてもいいです。
フリーランスということもあり、基本リモートでの作業だが稼働時間と作業内容を伝えるだけでクライアントが感じる安心感が格段に変わってきます。
最近気配りというか心配りを特に感じた事がありました。
私には少し難易度が高めの機能を実装する機会があり、少し覚悟していたのですが、それを感じ取ってくれたのか開発チームのメンバーがさらっと私にも応用しやすいようなコードに変えてくれていました。
こういうのが僕の求めるTHE・気配りだなぁ。
細かい気配りを習慣化することで必ず自分の評価は上がっていくことでしょう。
なんでもいいから自分でできる範囲の気配りを続けていこうと思いました。
まとめ
上記3点以外も沢山学ばせていただいたことはあるのですが、エンジニアに限らず仕事を進めていく上で大事なことだと感じたことを3つほど挙げさせて頂きました。
逆にこれが今まで出来ていなかったと考えると恥ずかしい、、、
少し断定的に書いてしまっている部分もありますが、私の正直な感想ですので多めに見ていただけると幸いです。
最後まで読んでいただきありがとうございました。