WEBエンジニアのマインドについて
はじめに
最近はテックキャンプなどでエンジニアになる方も増え、物作り人材が増えることはとてもうれしく思います。私が努めている会社でも未経験からエンジニアになりで活躍しているメンバーもいて頼もしいなと日々感じています。
そんな中で「えっなんでそれしてないの??」って感じる事がよくあるのですが、そりゃ当たり前なんですよね。
自分の常識は他人の常識と異なるし、エンジニアとしてずっと経験したからこそ今常識になっているものもあるので。
(例えば、自分のPCでテスト・ステージングでも同じテスト。OKならリリース。リリースしたら本番でも確認とかもきちんと理由含めて伝えないと常識として身につかなかったり。)
そこで、今まで自分が経験から得た常識などをちょいちょい共有していければと思います。
今回はエンジニアマインドについて書こうと思います。
(このマインドついてればスキル以外の部分で面接落ちることないのでは・・・)
7つのマインド習慣について
1.わからないをそのままにしない
「なぜ?」「どうして?」を常に意識し、わからないままにせずに探求するマインドです。
なぜ障害が起きてしまったのか?
どうしてその設定をしないといけないのか?
このわからないをそのままにしない事を習慣付けることで自身の知識量も増え、その知識から発展した事象を理解できるようになっていきます。
2.自分の決断に対してなぜ?を答えられる
エンジニアは必ず技術的な選定をする場面に出会います。
理由がないなら他のチームメンバーから、それならこっちにしようといった議論にもなってしまいます。
エンジニアの仕事は選択の連続です。設計も実装も様々な方法がある中で選択し実行していきます。その選択に対して常になぜそれを選択したか?を答えられるようにしましょう。
面接で「なぜその技術を選んだのですか?」はよく聞かれる質問でもあります。
3.目的を常に意識する
今行っている自分の仕事は何のためなのか?何の課題を解決するものなのかを意識します。そうする事で自分自身のアウトプットの質を上げることもできます。企画と開発が別れている場合、企画は動かないものから動くものを想像しますが、開発は動くものを作り、動くものでテストをするため、企画時では想定していなかった事やよりよい案が浮かぶこともあります。
4.当事者意識
前述の目的意識につよいですが、当事者意識も重要です。企画から言われたものを作るのではなく、目的意識からより良い案を浮かべたら、この企画を成功するために
「○○の課題を解決するなら、こういう文言の方がいいのでは?」
「○○の課題を解決するなら、こういう動きの方がいいのでは?」
など、開発中に気がついたことを提案し、より成功に導きましょう
また、リリース後も目標通りになっているのかを注視することも重要です。
○○の機能リリースして効果どうでした?には常に答えられるようにしましょう。
5.周りのメンバーの仕事も意識する
エンジニアは1人の仕事が多いので、周りのメンバーの動きを意識しようと思わないとなかなか気がつけない事が多いですが、周りが今何の仕事をしているのかを常に意識して、その開発するならこっちも同じことしてるから一緒に設計したり、他者の書いたコードで障害が発生した時に対応出来るように、コードレビュー頼まれてなくても、リリース前のコードをチェックするなど。
特にリリース前のコードを見ることはリリース直後に発生する障害対応も迅速に行える場合もあるのでおすすめです。
6.作ったサービス対して感度高く反応する
実際に自分で触ってみるのもそうですが、ものつくりのゴールはその「もの」があることで人を便利に豊かにする事です。作るがゴールではなく使われ、価値を感じられて初めてものつくりの意味が出ます。
そのため、常に自身が関わるサービスを触り、改善案を出したり、ユーザからの問い合わせが来る前に気がつくようにしましょう。
7.楽しく働く
楽しく働くことを私はいつも心がけてます。40歳になってもエンジニアメンバーに会うのが楽しくて会社に行ってます。(若い頃は40になったら楽しいとかいう感情あまり出ないと思っていました。)
楽しく働くことのメリットはすごくあります。例えば、サービスを触っていてくだらないかも?と思うアイデアが思いついた時に楽しい雰囲気のチームであれば、そのアイデアを共有する事が容易になります。しかし、普段あまりしゃべらないチームではくだらないと思うアイデアはなかなか声に出せません。くだらないと思ったアイデアでも実際にリリースしてみると思わぬ反響があったりもします。
(私は楽しく働けるチームのために一番おバカな事したり、くだらないアイデアを率先して話したりします。よく却下されてますが・・・)
まとめ
エンジニアのマインドを7つにまとめてみました。 このマインドを習慣付けるようにしていく事でWEBサービス開発への行動が代わり、信頼され、スキルを付けていくことでよりよいエンジニアライフになると思います(多分)。