みなさん、こんにちは!
現役エンジニアの”ます”です。
はじめに
IT業界の中でも一番多い運営形態のSESですが、私が現在勤めている会社もそのSESを生業としている会社です。
そこでエンジニアの教育にも携わっている手前、SES営業さんに現場に入るためのスキルを伺うことも多いため、ヒアリングした必須スキルを記事にいたしました。
ついつい言語の技術だけを追い求めがちな開発エンジニアさんですが、今回の記事が実際のプロジェクト経験に役に立てば幸いです。
プロジェクトに必要なスキル
私が勤めている会社では未経験からのエンジニアの方を多く採用し教育をしているため、
未経験者が開発の現場に入るためのスキルは何か、よく情報を収集しています。
今回はその中でも言語以外の必須スキルを4選ほど出してみました。
どれも重要な項目になりますので、振れてない項目がある方はぜひ着手することをオススメします。
コミュニケーション能力
みなさんもエンジニアはコミュニケーションが苦手といった印象はあるのではないでしょうか?
近年はIT業界の拡大により文系理系を問わず様々な方が携わっている業界となりましたが、
その印象の通り、IT業界にはまだまだコミュニケーションが苦手な方がいらっしゃいます。
社会人におけるコミュニケーションとは報連相のことだといってもいいでしょう。
報告、連絡、相談が密に取れていないとプロジェクトが円滑に進まず、
“炎上”を経験することになってしまいます。
現場ではそういったコミュニケーションや人柄を重要視する傾向があるため、
コミュニケーションスキルを示せると仕事を手に入れやすくなります。
バージョン管理ツール(gitなど)の操作
開発のプロジェクトにおける進行ではほとんどがチーム開発による進行になります。
個人で活動されている方は例外もあるかもしれませんが、SESで取り扱う案件に個人開発はほぼありません。
そこで重要になってくるのがバージョン管理ツールの使用経験です。
プログラミングスクールや独学での学習を行う駆け出しのエンジニアの方はこのバージョン管理ツールに触れている方が少ないです。
実際に複数人で使用しないと起きない競合やマージの作業、プルリクエストやレビューといった工程を理解することでプロジェクトに支障なくアサインすることができます。
現場ではこれらのバージョン管理ツールの操作は「当たり前」のように操作できることが求められます。
現在学習中の方はぜひgithubに登録しgit管理をしつつ、友人やメンターにレビューや共同開発を持ち掛けてみてはいかがでしょうか?
Linuxコマンドのいろは
開発を行う上で一番最初に求められるのが環境構築です。
その環境構築は現場によってまちまちで、その都度ルールに従って構築していかなくてはなりません。
しかし、スムーズにいかないのが環境構築の醍醐味でもありますね。
みなさんも開発の経験をする中で一度は環境構築に躓いたことがあるかと思います。
実際に現場入りしたときに環境構築に躓いてしまうと、大きくスケジュールに遅れを出してしまいます。
その時、すぐにエラーを解決するために必要なのがLinuxコマンドの操作スキルになるのです。
cdコマンドやlsコマンドはもちろん、grepなどのコマンドにも触れておくといいでしょう。
個人で学習していく場合、Dockerなどの環境構築を用いたり、実際にサーバーにアプリケーションを構築することで身に付けることができます。
DBの使用経験
開発の案件ではデータベース(DB)を使わない案件の方が少ないでしょう。
基礎的なDBの操作スキルはやはり求められます。
MySQLやPostgreSQLなど、どのSQLでも大丈夫です。
データの抽出、登録、変更、削除はもちろんのこと、
外部結合や内部結合、Unionなどの一通りの操作はできるようにしておくといいでしょう。
実際にアプリケーションを操作されている方は触れているかもしれません。
フレームワーク等で簡略化してDBに触れている方も、一度生のSQLに触れておくといいかと思います。
まとめ
さて、みなさんは4つのスキルは足りていましたか?
これから開発エンジニアを目指す方はもちろん、
既に開発エンジニアの方もこれらのスキルを強化してあげることで、
現在よりも良い現場に巡り合えるかもしれません。
また、あらかじめ身に付けておくことで実際にプロジェクトを経験する際に大いに役立つかと思います。
アプリケーションの開発の中で言語の技術も大切ではありますが、
本記事に記載した4つのスキルを極め、自身の市場価値をどんどん高めてくださいね!
最後までお読みいただきありがとうございました。