
「プログラミングは全くできなくても大丈夫なの?」
SIerから社内SEへ転職してエンジニア生活も15年を超えました。
未経験でエンジニアへ転職を考えている方の多くは、
「プログラミングなんて出来ないから無理。」
と考えているのではないでしょうか。
システム開発の受注側、発注側どちらの会社にも所属したぼくの経験上、現在エンジニア経験が0だとしてもシステム開発会社への転職は可能です。
なぜなら、システム開発に必要な仕事はプログラミングだけではないため。
本記事で詳しく解説しますのでご覧ください。
タップできる目次
システム開発はみんなで作り上げるもの
IT企業で作るシステムはプログラミングが出来れば完成できるものではありません。
システム開発という大きなプロジェクトを進めるためには、プログラミング以外のスキルも重要だからです。
プロジェクトのプログラミング割合は意外と少ない
システム開発全体におけるプログラミング工程の割合はどのくらいだと思いますか?
開発規模にもよりますが、だいだい3割程度と言われています。
システム開発はおおまかに以下の工程で進められることが一般的。
- 要件定義(どんなシステムを作るか概要を決める。)
- 設計(概要から設計書に落とし込む。)
- プログラミング(設計書からシステムを作る。)
- テスト(設計通りに動くか確認する。)
なお、上記の工程はウォーターフォールモデルと呼ばれる開発方法での話です。
最近ではプロトタイプ開発やアジャイル開発といった開発方法も増えてきており、必ずしも上記の工程で進められるわけではありません。
ただし、ある程度の規模の開発現場ではまだまだウォーターフォールモデルが多いですね。
このようにプログラミングが必要なのはシステム開発全体の一部と思ってください。
いろんな能力を持った人が必要
システム開発はプログラムが出来る人だけで完成できるものではありません。
システム開発にはいろんな工程があり、役割によって求められる能力が違います。
例えば盛り込む機能や価格をお客さんと交渉するにはコミュニケーション能力や調整力が必須。
なるべく多くの機能を入れたいお客さんと、受注価格内で作業をしなければいけない社内とのバランスを取るのは簡単ではありません。
もちろん、設計からシステムを作り上げるにはプログラミング能力も必要です。
また開発全体のスケジュールや予算を管理するマネージャーも欠かせません。
システム開発と一言でいっても、いろんなスキルを持った人の協力で出来上がるわけです。
プログラミングは誰でも覚えられる
「自分にはプログラミングなんてとても無理。」
と考えていませんか?
実はそんなに難しいものでもないんです。
プログラミング=特別な能力ではない
「プログラミングは特別な才能を持った人がやっている。」
と思っている人が多いように感じます。
そう思うのはプログラミングを良く知らず、何か得体の知れないものと考えているため。
プログラミングしている様子をテレビなどで見たことがある方は、英語の文字がパソコン画面に羅列されていて訳が分からないと思うでしょう。
でもやっているのは、機械に動いてほしい内容を伝えているだけ。
ロジックに従って命令を組み立て、専用の言葉(プログラミング言語)を使って指示を出します。
極端にいえば、誰かに作業内容をメモ書きで説明するのと変わりません。
新人でも1年もたてば戦力になる
プログラミング未経験でIT企業へ入社してくる新人も少なくありません。
それでも1年もすれば大抵の人はプログラミング出来るようになります。
IT企業ではプログラミング開発環境も整っており、開発手順もきちんと整備されていることも多いです。
決められた開発手順に従ってしばらく仕事をしていれば環境になれてくるため、プログラミングも覚えていきますよ。
もちろんプログラミングを突き詰めていけば難しいスキルも多く、たった1年で完璧になれるわけではありません。
ただプログラミングの基本的なことを覚え、開発メンバーの一員として働けるようになるのは誰でも目指せます。
0からシステム作り上げるのは難易度高め
システム開発の現場では0から作り上げることは比較的少なめ。
ある程度の規模の開発では既存システムの改修や機能追加が多く、新規案件でも別システムをベースにすることが多いためです。
例えば別システムをベースに使うことで、まっさらな状態から開発するより効率が上がり、より短期間で開発できるメリットがあります。
また何かの機能をプログラミングするときでも、既存システムの似た機能のコードを参考にすれば、何もない状態からプログラミングするより難易度が下がります。
システム開発のすべてを0からプログラミングしているわけではありません。
どの世界にもスーパーマンはいる
エンジニアに転職したいからといっても、必ずしもトップエンジニアを目指す必要はありません。
正直言って彼らは別人種だからです。
ぼくがこれまで出会ったエンジニアの中にも、
「この人には絶対にかなわない。」
という人が実際にいました。
そういう人は技術を追いかけるのが楽しく、もはや趣味と言えるような人ばかり。
休日でも自宅でコードを書いたり、システム構築したり。
トップエンジニアは全体のほんの一部。
エンジニアが皆トップエンジニアばかりと考えないようにしましょう。
ITスキルだけで採用されてはいない事実
企業の事業計画や人事の方針にもよりますが、エンジニアを採用するときってプログラミングスキルだけを見ているわけではありません。
これまで書いたようにシステム開発には色んな人材が求められるためです。
管理職がやるべきことは業界共通
IT業界でも別業界でも管理職に必要なスキルはそれほど変わりません。
なぜなら管理職の仕事は人、モノ、金の管理だからです。
IT企業の場合はモノにあたる部分がシステムやソフトウェアになります。
管理職はどんな会社でも必ず必要になる役割の一つですよね。
プロジェクトマネージャとプログラマは別物
システム開発全体を取り仕切るプロジェクトマネージャには、プログラミングスキルは求められません。
プロジェクトマネージャの役割はプロジェクトをとりまとめて開発を進めること。
開発のスケジューリングや進捗管理、お客とのやり取りが主な仕事です。
実際ににぼくが経験したプロジェクトでも全くプログラミングできないマネージャがいました。
でもその方はコミュニケーションスキルがとても高く、お客さんや社内との調整力がずば抜けていましたね。
もちろんプログラミングスキルがあるに越したことはありませんが、プロジェクトマネージャの役割に直接的には不要なスキル。
システムやプロジェクト全体を俯瞰し判断できるスキルが重要です。
人柄も重要です
やっぱり人を選ぶときには、”この人と一緒に働きたい”と思えることも大事なんですよね。
個人の開発と違って、会社でのシステム開発はチームで進める仕事。
いくらスキルが高くてもチームワークが全くない人とは一緒に仕事をやりくかったです。
まとめ:チャンスは転がっている
エンジニアの転職は企業と求職者のマッチングです。
マッチングする内容は技術力や経験、人柄や若さなどさまざま。
転職先の会社に一緒に働きたいと思ってもらえるかどうかが大事です。
ぼくがいた会社でも、スキルは未経験に近くても転職してくる方は少なくありませんでした。
初めからあきらめるのはもったいないですよ。
プロの転職エージェントならあなたの希望に沿った良いアドバイスをくれます。
ただでさえ忙しいエンジニアが転職活動を並行するためにはプロの力を借りて効率に。
思い立ったら行動を起こしてみましょう。
それでは。