エンジニアとして必要なこと
最近は実際の業務に関わることが増えてきました。
その上で必要と感じていることは現状以下の項目です。
- 素直さ(一番大事)
- 仕事の丁寧さ
- 自学する意欲
- ソフトウェアの理解
- チーム開発への理解(Gitとかは欠かせませんね)
素直さや仕事の丁寧さ、自学する意欲は当然必要です。
次に、プロジェクトにチームとして関わっていく上では、IT開発への理解やGitへの理解が必要であると感じました。
今回は新人としてまず必要なIT開発とGitについてお話していこうと思います。
新人が関わるIT開発
即戦力としての力は有していない新人であれば、多くが私のような段階を踏んでいくと思います。
まず、IT開発においてSIerなどが行う、一般的な流れとしては以下のようになります。
(自社開発企業や戦略コンサルからする企業等は除きます)
- プロジェクト計画
- 要件定義
- 設計
- テスト
- 移行
- 運用
このフェーズにおいて、詳細な説明は省略しますが、受注してからそれぞれの専門的な人が役割分担して関わっていくことになります。
私の会社では、少数でプロジェクトをアジャイルにまわして行くので、全てのフェーズにおいてそれなりに理解が必要になってきます。
新人がまず関わるフェーズは?
この中で、新人として携わることが多いのが4に当たる試験(テスト)フェーズです。
試験には総合試験や単体試験、結合試験など、開発の知識がなければ難しいものもプロジェクトではあります。
最も携わりやすいのは、まずユーザーテストでしょう。
ユーザーテストはその名の通り、開発したものをユーザーとして使ったときに正常に動作するかを確認することです。
実際の設計や仕様どおりにできているか確認する意味もありますね。
ほとんどの場合には、受注案件であればお客様の会社側で確認してもらう作業がほとんどです。
それでも、全く動作を確認せずにお客様には渡せないので、一応ひと通りしていくことになります。
その案件で開発したものに触れる良い機会になりますし、ソースコードも閲覧できる状態にしてもらえていたら、実際の動作から学ぶとより理解を深めていきやすくなります。
試験は退屈でも魂を込めて
試験は実際のところ、単純作業であり退屈で適当にやってしまおうと思いがちです。
しかし、こういったことの積み重ねは馬鹿にしてはいけません。
細かなことを綿密にこなせない人間は信頼を得ることはできません。
若者で血気盛んであると、”もっと開発でゴリゴリコード書きたい!” と思う気持ちをぐっと堪えて頑張りましょう。
試験は実際にやってみると、意外と細かなことを考える気配りが大切です。そして、開発とお客様の両方の視点を想定する必要があります。
これは非常に学びの多いフェーズなのです。
開発においても結局はユーザー(プログラマでない人)に使ってもらうことがほとんどなわけです。
ユーザー視点を欠いた開発者であると、技術やツールに支配された駄目な人材となってしまいます。
様々な試験ごとに色々な視点を感じて見るように私は心がけています。
Gitはやはり外せない
それでもやはりGitは外せませんね!
チーム開発をするなら当然使用されている優れたツールですし、ITで開発周りで携わる人間であれば必ず必要と言っても過言ではないでしょう。
イチから丁寧に教えてもらえればいいですが、私の会社(外資で手取り足取りは教えられない)や、ましてや今のリモート勤務が進む世の中では、自ら学んでおくとより良いでしょう。
付け焼き刃に知識だけ入れておくより、一度それなりにしっかり学ぶほうが良いと思います。
私はUdemyの講座で仕組みから理解を進めていきましたが、下記のサイトもかなり学びの助けになると思います。
いずれは、この記事でもGitの解説をしてみようと思っていますのでお楽しみに!
最後に
入社して半年が経過しましたが、まだまだわからないことだらけです。
それでも、自分なりに必要となることや、今時間を積み重ねておくべきことをやれているように感じます。
実際に一人前のプログラマになることを目指して、Android/iOS開発は毎日必ず手を動かして感覚をなくさないようにしています。
With COVID19の中で新卒のキャリアをスタートさせましたが、少しながら日々に自分の成長 があります。
今年から社会人になった皆さん、大変な中ではありますが、通勤や娯楽にかけていた時間を学びの時間として、今後も一緒に成長を続けて行きましょう!
とりあえず。。。
メモ代わりに書いていますが、これから理解が深まれば書き足していきます。 いつか誰かのお役に立てると嬉しいですね。
初学者から一人前まで、、、
ここでは一人前のプログラマの定義を
「自力で様々なツールを活用しながら、ある程度思い通りの実装ができること」
とします。
また、人生においてプログラミングに向き合う時間として、現時点で2000時間取り組めればある程度の基盤が備わると仮定しています。 (言語やツールに依存しない思考法や情報収集能力)
プログラミングは大学で学んで来ましたが、特に根詰めてやってきていないので、ノーカウントとして取り組みます。
現在までの学習時間
およそ450時間
どんどん更新していきます。