アルパパと申します。
ネットワークエンジニア歴16年ぐらいですが、今までの経験から駆け出しエンジニアな人に役立つと思う考え方をまとめてみました。
正直、まだまだ色々とお伝えしたいことがあるのですが、あまり多くても読みづらいので「5個」に絞りました。
私自身がインフラ系のため、アプリ系の人には当てはまらない部分もあるかと思います。ただ同じエンジニアとして役立つ部分もあるかと思いますので、ぜひ読んでみてください。
本ポストについての感想を頂けると励みになります。
・ここには載っていない、もっとこういう話が聞きたい。
・この部分をもっと詳しく教えてほしい。
以上のようなご要望もお待ちしております。
目次
仕事の背景と自分の仕事が後にどう繋がるかを知ることは大切
みなさんは自分に来た仕事の依頼背景や、その仕事がその先にどう繋がっていくのかを知っていますか?
これを知ることは、とっても大切です。
仕事の背景を理解するようにすれば、
・いま自分が作っているものが正しいのか?
・もっと良い方法はないか?
・作る資料に記載する情報が足りるのか?
というのを考えることが出来るようになります。
依頼内容と背景に矛盾があればそれに気づくこともできます。
結果的に120%の成果を出すことが出来るようになるでしょう。
また、自分の作った資料を使ってさらに資料を作る人もいるでしょう。
もしも、その「自分の資料」がとっても分かりづらかったり、情報が足りないとすれば認識齟齬が生まれて、最終的に出来上がるものの品質が下がることになりますよね。
ただ言われたことを言われた通りにやることも最初は難しいのですが、背景と仕事の流れを理解することによって、より良い仕事が出来るようになります。
結果的に、自分の成長にも繋がり、全体の質を高くすることにも繋がっていくのです。
技術において自分が納得するまで・人に動作を伝えられるまで知ること
自分が関わる技術のことをどれだけ知っていますか?
人にその動作を説明できるまで理解していますか?
「とりあえず良くわかんないけど動く!」という状態で良しとしていますか?
それで仕事になる部分もあるとは思いますが、実際に障害が発生したり、試験項目を作ったりする際には、その状態では厳しいのではないでしょうか?
また、近年ChatGPT等の生成AIの登場で、とりあえず要件に沿って動くコードを生成して満足している人がいると聞きます。
それはそれでスピード感が素晴らしくて良いことだと思いますが、そのコードの動作を細かく説明できるのでしょうか?
どれだけ細かい技術レベルを理解しておく必要があるのか?
という疑問がある方もいると思います。
関わる仕事のレベルによっても変わってくるため、一概には言えません。
ただ少なくとも
「自分が納得する(その技術のことがわかる)」
「人に動作を教えられる」
ぐらいまでは必達だと思います。
失敗を恐れずに活かしていく
皆さんは失敗してますか?
私も色々とやらかしています。
エンドユーザーに報告書を持っていく羽目になったことも何度もです・・・
そんな痛い思いをしたのなら、二度と繰り返さないために気を付けるようになりますよね?
その行動こそがスキルアップになっています。
私は「やらかしリスト(失敗リスト)」というのを書き溜めています。
それは日々の細かな失敗~大失敗まで書き、それをどういう風にすれば防げたかを書く感じです。
そして、定期的にそのリストを見返します。
このリストを使っていくと、自分が犯す失敗にも傾向があり、自分のクセが分かってきます。(例えば確認不足とか)
この行為は自己理解にも繋がり、自分の根本的な弱みも分かるようになります。
成長したいなら、失敗を恐れずに何事も経験!という気持ちを持つことが大切です。
失敗を恐れて新しい挑戦が出来ないなんてのは、すごく勿体なくないですか?
仮に失敗してしまっても、反省して次に活かすことを考えてください。
この失敗を活かすことが更なる成長につながります。
未経験の技術、製品を自分のモノにするプロセスを確立する
みなさんは経験のない技術、製品に携わるとき、どうやって自分のモノにしていきますか?
このやり方は、人によって合う・合わないがあるので、正解は無いのです。
ただ、このプロセスを自分の中で確立するように心がけてください。
そして、何回も何回もやって慣れてください。
エンジニアはこれから先も、新しい技術・製品に触れる機会が出てくるでしょう。
その際に自分のモノにするプロセスが確立していないと、新しい技術の習得に大変な労力を感じてしまい、飛び込む勇気がなくなってしまいます。
これは人によって合う方法や環境が違うと思うので、以下は例として捉えてください。
●まずその技術や製品の概要。導入にあたってのメリット、デメリット(あれば)を把握する。
→インターネットやマニュアル、書籍を読む。
また人に教えてもらって把握しましょう。
●実際に触る。触りまくる。
→習うより慣れろです。
現場で許されるならどんどん触りましょう。設定を変えましょう。
設定を変えたら期待通りの動きをするのか?と予測を立てて、結果を確認するプロセスも大事です。
もし現場で自由に触れないなら、自宅で環境が作れるものであれば構築しましょう。
●疑問に思ったことはとことん調べる。検証する。
→疑問は新しい知識への入り口です。
疑問を残さないようにすることを心がけましょう。
実機を触れるなら、検証して確かめましょう。
現状に満足せず、少しでもやれることを探す。少しの背伸びが大切
今、携わっている業務はもう改善点は無いでしょうか?
すこし頑張れば改善出来ることはないでしょうか?
改善点を見つけて、改善していくスキルはどんな工程で役に立ちます。
一生涯、役立つスキルと考えます。
例えば、今やっているエクセルを使った業務で、手入力によるミスが発生しそうなら、ミスの起きずらい仕組みにするべく、入力規則や関数による誤記チェックなどを設定してみる。
これはそんなに難しくなく、取り入れることが出来ると思います。
そして、これぐらいのことでも、プロジェクトの品質を上げることに繋がります。
プロジェクトに貢献していると言えるでしょう。
上記は本当に「例」ですが、このような改善可能箇所はいくらでもあると思っています。
目の前の業務に手一杯では、なかなか改善をしようという気にはなれないと思うので、業務にも慣れて余裕が出て来てからでも良いとおもいます。
また、新しい経験が出来るチャンスがあったとします。
不安だけども、周りの多少のサポートがあれば出来そうであれば、手を挙げてみるのはどうでしょうか?
これを「少しの背伸び」と呼んでいます。
少しの背伸びをして少しずつ殻を破って、結果的に一回り大きくなるというイメージです。
もちろん、出来る自信がまったくないのに無理に手を上げてはいけません。
もし達成できたならば、得るものは大きいですが、その分リスクも大きいです。
結果、義務感からギブアップ出来ずに精神的に追い込まれて、心身の体調を崩してしまっては元も子もありません。
まとめると日々の業務の改善と、ちょっとした背伸びによって、エンジニアとしての小さくとも成功体験を継続的に積み重ねることで、確実に成長していけると考えています。