2020年からプログラミング教育が小学校で必修化となり、プログラミングを勉強すると何ができるようになるの?わたしたちの生活とプログラミングって一体どんな関係があるの?と興味を持たれている方も多いのではないでしょうか。
Winスクールでは、小学生が勉強するプログラミングよりも一歩踏み込んだ「仕事に繋がる」プログラミングを学ぶことができます。今回はプログラミングを使って行う仕事の一例や、未経験者におすすめのプログラミング言語「Java」の紹介、挫折しない学習のコツなどを現場で教えるWinスクールの講師がご紹介します。
これからプログラミングを学ぼうと思っている方こそぜひご覧ください。
目次
プログラマー?SE?システム開発ってどんな仕事?
プログラマーやSEの役割
プログラマーやSE(システムエンジニア)ってそもそもどんな仕事なの?という声をよく聞きます。
ざっくり言うと…
「お客様からの要望を、プログラミングで実現する仕事」
といったところでしょうか。お客様の要望を実現するためには、システムを提案し、それを設計・開発していくことになります。これらの仕事を総称して「システム開発」と呼びます。
まだまだ具体的なイメージは沸きづらいと思いますので、もう少し詳しくみていきましょう。
システム開発の流れ
システム開発は大きく7つの工程で進めていきます。
1. 要求分析
お客様から「こんなシステムを作って欲しい」という要望を受け取ったら、
まずお客様が求めていることがどんなことか、何に困っているのかを掘り下げて分析します。
2. 要件定義
要求分析をもとにどのようなシステムを作るか、システムに必要な機能は何かを検討し決めていきます。
3. 基本設計
要件定義で決定したシステムに必要な機能を実現するためにはどのようなソフトが必要かを考えます。
4. 詳細設計
基本設計で決定したシステムのソフトをどのように動かせばいいのか、
ソフトの機能を細かく設計していきます。
5. プログラミング
詳細設計をもとにプログラムを作成し実装していきます。
6. テスト
プログラミングで作成したソフトが計画通りに動くかを検証します。
7. 運用開始
システムが完成したら、お客様のもとで実際に使用・運用します。
開発作業としてはここでひと段落となります。
一般的に、1~4がSE、4~7がプログラマーの担当範囲となります(4.詳細設計は両者が行うことが多いので重複させています)。ただ、開発を行う部署が自分と上司の2人だけというような小規模な会社の場合では、すべての工程をほぼ1人で行うこともあるため、プログラマーとSEはひとまとめに呼ばれるケースもあります。
システム開発にはどんな知識やスキルが必要?
システム開発の流れや仕事の役割については少しイメージができたでしょうか?では次に、システム開発に求められるスキルについて、IT業界に就転職する際に重要視される3つのキーワードに注目して解説していきます。
1.コミュニケーション能力
お客様から新しい仕事の依頼を受けてもすぐにシステム開発スタート!とはいきません。
まずはお客様がどのようなシステムを必要としているのか、困っていることは何か、予算は?納期は?と、
さまざまなヒアリングを行うことで必要なシステム全体が見えてきます。コミュニケーション能力と言われると、「高度な会話テクニック」が必要なのでは・・・、と不安に思う方もいるかもしれませんが、そんなに構える必要はありません。お客様の抱えているモヤッとした悩みを「もう少しだけ詳しく聞いてみる」というだけで十分です。気難しい印象を与えずに相手が話しやすい雰囲気をつくることが大切です。
2.プログラミング能力
IT業界で働くための条件として、よく「アルゴリズムが(ある程度)わかる人」ということが言われています。これは現場にもよりますが、例えば「Java」という言語を使用する場合であれば、
・「if文」「for文」「while文」等の動きや配列を使いこなせる
・「List型」の存在と使い方を多少は知っている
などが挙げられます。今はよくわからないかもしれませんが、どちらもWinスクールで学んでいただければしっかりと身につけることができます!
3.専門知識
世の中にはさまざまな業界があり、いつどのような業界からシステム開発の依頼があるかわかりません。
たとえば、医療系のシステム開発を担当することになれば、医療機器の知識や、業務内容の知識、法的な知識など、その業界専門の知識が必要となってきます。しかし、業界経験者でもない限りすべてを理解していることはほぼ無いでしょう。ほとんどの場合、案件が決まってから独自に調査をしたり、現場の担当者から情報を得たりして、後から身につける知識となります。
つまり、特定の業種に関する専門知識が不足していたとしても心配ご無用です!逆に言えば、転職で他業種からエンジニアを目指す方は、今までの経験も決して無駄にはならず、現場で必要とされる専門知識をすでにお持ちの場合もあるということです。
まとめると、「1.コミュニケーション能力」については日常会話が出来れば十分で、「3.専門知識」は仕事を始めてから習得すればいいので、これからITエンジニアを目指すあなたには、とりあえず「2.プログラミング能力」の習得を第一目標とすれば大丈夫です!
未経験でも大丈夫!初めてのプログラミング言語に「Java」をおすすめする理由
需要が多い
JavaはコンピュータのOSの種類を選びません。WindowsやMac、Linuxなど、どれでも使用することができるので、幅広く利用されています。また、分野もさまざまで、次のようなシステムで使われています。
- スマートフォンを動かしているAndroid OSやアプリ
- Webサイトのシステム構築
- 銀行のシステム
- ゲームアプリ(例:Minecraft等…結構有名な物も)
- パソコンのソフトウェア(例:OpenOffice,Eclipse等)
このように幅広い分野で活躍している言語なので、需要もとても多いです。
プログラムの文法学習に最適
Javaの特徴としてプログラムの作り方にきっちりとしたルールを設けていることが挙げられます。
他の言語(例:Perl,PHPなど)ではある程度省略したり、多少いい加減に書いていたりしても言語自身が勝手に解釈してプログラムを動かせてしまうものもあります。しかし、Javaではルール通りに書かなかった場合、まずプログラムは動きません。そのため、学ぶ過程で考え方やプログラムで書ける範囲の理解がしやすく、現場に出たときに評価されやすいというメリットもあります。
もちろん、内定先や次の現場が決まっていて、C言語やPythonなどの他のプログラミング言語を使うことがはっきり決まっている場合はその言語を学ぶのが一番です。しかし、まだ実際に使う言語がわからない場合や、今後他のプログラミング言語を学ぶことを踏まえても、しっかりとしたプログラミングの書き方や考え方が学べる「Java」がおすすめです。
独学では挫折しそうな方へ
プログラミング言語の習得に最適な学習方法
勉強方法は人それぞれですが、以前筆者が試して実際に効果があった学習方法をご紹介します。
それは、自身でプログラムを作成するときに、
「どんな機能を実装しようとしたのかコードの中にコメントとして残していく!」
ということです。ここでの「コメント」とは、プログラム中にメモ書きのように残すことができる機能のことで、あるルールに沿って書いた文字はプログラムの一部とはされずに、ただのメモとしてコンピュータが解釈してくれます。本来は同じプログラムを複数のプログラマーで作成するときに意思疎通を行うために使用する機能ですが、自分が学習するときの備忘録として使うと効果的です。
たとえば、この緑の文字がコメントです。
このコードが「変数の練習」ということがわかるようにしています。
さらにエラーが出た場合のコメントやそれに対して行った修正のコメント、成功したときのコメントなど、履歴として残していくことで作業工程が確認でき、次に同じエラーがでたときにも自分で解決することができます。
この履歴を残す習慣をつけることでめきめき上達します。
大切なことは、どう考えて何をしようとしていたか未来の自分が確認できるようにしておくことです。
自分が間違えたプログラムは人が作った教材よりも非常に有益な教材となります。
とはいえ、やはり独学ではなかなか理解が難しい部分もあるでしょう。原因がわからずに学ぶことに挫折してしまう方も多くいらっしゃいます。
Winスクールでは、講師がマンツーマンで指導するのでエラーの原因がわからないときや、思い通りに学習が進まないときは随時フォローすることができます。わからないことはいつでも聞けてその場で解決できるので、しっかりとスキルの習得に繋がります。こういった点も、未経験の方がWinスクールで学んだ後、本職のプログラマーとしてご活躍されている理由だと思います。
ぜひ一度Winスクールの無料体験にお越しいただき、プログラミングがどういうものか試しに触ってみてはいかがでしょうか?