ファンブリューの金井です。
エンジニアというのは、しばしば自分の趣味に走りがちです。
かくいう私も、自分の好きな技術を無理やり採用したり、エンジニアが考える好きな画面設計(CRUDとかエンジニアの考えですよね)を、気づかずにお客様に押し付けて後悔したことはあります。
今回は自分の「こうしたい」という気持ちを抑えて、お客様のためにアウトプットを最大化するためにやめるべきことを書いてみたいです。
どちらかというと、少しずつ技術のこともわかってきて、エンジニアとしての拘りが出てきた、そんな中級者向けの内容だと思います。
とにかく新しい技術を適用するのをやめる
エンジニアとしては、とにかく新しい技術を使ってみたいという気持ちがあるかもしれません。
エンジニアであれば、好奇心が強いからこそ、この仕事を選んだという人も多いでしょうし、新しいことを学び続けることが大事だと思い、習慣として学び続けている人もいるでしょう。
しかし、だからといって覚えたての技術をいきなりプロダクション環境で使うのは危ういです。
その技術が思ったよりも流行らなかったり、自分が飽きてきた時(これが一番最悪)にとんでもない目に遭います。
ニッチすぎて扱える人がいなかったり、他のエンジニアに頼る頃に、流行りが終わっていたりすると陰で文句を言われる可能性があります。
冒険する時はまずは趣味として触ってみるか、しっかりと検証期間を取った上で採用しなければ、後から地獄を見ることになります。
全部理解しようとするのをやめる
丁寧に勉強する人にありがちなのですが、技術書を端から端まで全部読む人がたまにいます。
体系的に学ぶ時は良い方法だと思うのですが、仕事でそのやり方で進めてしまうと、素早く終えるという感覚を失います。
例えば、ある文言を一括で修正するという作業がある時、「検索」→「一括置換」で事足りるのですが、対象周辺のコードを逐一確認して理解しようとする人がいます。
そういう丁寧さが求められている案件もなくはないのですが、多くは時間の無駄になります。
案件のバックグラウンドを把握して、効果が高いポイントを見極めて業務を進めることは非常に大事です。
複雑に作るのをやめる
これは判断が難しいのですが、こだわりすぎて結果として複雑になってしまうのをやめると生産性が上がります。
まずはシンプルに作って、お客様に見せて、そのフィードバックに対して開発を進めていくと、お客様に喜んでいただける上に、開発チームも不要なものを作ることがなくなります。
ただし、これは一見簡単なようで難しい部分があります。
例えば、常識的に考えて実装すべき機能が、お客様と開発者で一致していることが重要です。
開発者としては、全て機能にきっちりとバリデーションを入れて、エラーハンドリングも行い、セキュリティにも考慮するのがプロとしての仕事だと感じることでしょう。
ただ、それが要件として明らかに求められてないようであれば、お客様には一言断った上であえて作らないという勇気も大切です。
これはリソースが少ないプロジェクトを上手く進めるために必要な考え方になります。
技術力にこだわるのをやめる
これは賛否両論あると思いますが、技術力を高めることをやめると仕事の幅が広がる可能性があります。
私が考えていた技術力というのはとにかく新しい技術を学ぶことでした。
ただ、新しい技術とは一口に言っても、それ1つだけも精通するにはかなりの時間を要するので、つまみ食いのようなことを続けていたように思います。
ある一定水準の技術力まで上げるには、がむしゃらに新しい技術を試してみるというのも大事です。
特に現在のウェブ開発では、ありものの技術を素早く理解し、上手く組み合わせて開発する能力が求められています。
一から何かを作ることにはあまりメリットがありません。(いわゆる車輪の再発明ですね)
では、技術力にこだわるのをやめるというのは、具体的にどういういうことか。
それは新しい技術を学ぶだけではなく、もっとソフトスキルを磨くことです。
ソフトスキルという言葉自体ふんわりしていますが、エンジニアは専門職であるため、他の能力を疎かにしてしまう恐れがあります。
わかりやすい例で言うと、コミュニケーションスキルが挙げられるでしょう。
「技術力にこだわるのをやめる」という見出しは極端ですが、エンジニアはもっと技術ブログ以外のものもを読んだ方が良い気がします。
培ってきたエンジニアとしての知識を、もっと上手く活かすためのソフトスキルを磨く方法も考えてみましょう。
最後に
できるエンジニアになるためにやめるべきこと、ということで書いてみました。
エンジニアとしての能力を高めるための習慣が、逆にできるエンジニアとして成果を出すための妨げとなっているところもあります。
勉強や詳細にこだわるのもエンジニアの資質としては大事ですが、その辺りのバランスを上手く取って取り組むことで、できるエンジニアとして評価されやすくなるかと思います。
ファンブリューではエンジニアになりたい人を支援しています。
現在こんなお悩みがあれば、ぜひ一度ご相談ください。
- プログラミングを学習したいが、何から始めたらいいかわからない。
- IT業界に就職するために必要な知識が何かわからない。
- 実務経験がなくて現場に入れない