これからエンジニアとして、C#で業務を行っていきたいとお考えの方。どうやって勉強していけばいいか迷っていませんか?特に、中途採用で入られる方はある程度実践的な知識が必要になってきます。新卒で入られる方は、基礎知識さえあれば、後は業務の中で学習していけるでしょう。それでも、最初からできるだけの知識をつけておいたほうが、後のキャリアに良い影響をもたらします。
では、最低限どの程度の知識をつけておくべきでしょうか?最近では、ウェブサービスの案件が増えていますので、デスクトップ系よりもウェブ系の開発技術知識をつけておくべきでしょう。ウェブ系と言っても、そこには多数の技術が含まれます。実際の開発現場では、C#のみで開発が行われることはほとんどなく、一般的なウェブサービスは多数の技術で成り立っています。
と言っても、ソフトウェア業界は分業制の場合が多く、企業によってはC#のみの担当となれるかもしれません。しかしながら、C#部分のみの担当とはいえシステムは互いに連携して動作しているわけで、他の部分を全く理解できないというのは問題です。
そこで、この記事ではウェブ系の開発技術を勉強するに当たり、インターネットショピングサイトを一人で実装できるレベルを目指します。このレベルに到達することができれば、後は実際の開発現場で腕を磨いていけるでしょう。現場でしか学ぶことができないことはたくさんあります。
それでは、目標のレベルに到達できるように、段階を追って勉強法を紹介していきます。まずは、どういった知識が必要か見ていきましょう。
参照:初心者のためのC#アプリ開発基礎について解説した記事はこちら
ショッピングサイトを開発するのに必要な知識
ショッピングサイトは複数の技術で成り立っていますので、どういった技術を取得する必要があるかを説明します。
C#
メインの開発言語としてC#を使用することが前提なので、もちろんC#の知識が必要です。一般にプログラミング言語は、文法などの言語仕様の部分と標準ライブラリ(既成のプログラム)で成り立っています。C#にも、標準ライブラリとしてベースクラスライブラリ(BCL)がありますので、BCLについての勉強も必要です。
HTML
ウェブサービスは、一般的にブラウザからアクセスして利用されます。つまり、画面はHTMLで記述されているということです。C#の開発環境Visual Studioには、HTMLをあまり書かなくてもウェブページを構築できる機能がありますが、よく使うタグは覚えておきましょう。
CSS
ウェブページの画面は、HTMLだけではデザインできないのでCSSの知識が必要になってきます。デザイン部分の担当者は別になることが多いですが、プログラムからCSSを操作することもありますので、IDやクラスなどの概念は理解しておくと良いです。
ASP.NET
C#で、ウェブサイトを比較的簡単に作るためのフレームワーク(枠組みや基本的な処理を提供する)です。無料の開発環境Visual Studioを使えば、デザイナー上でウェブページを作れるので、HTMLやCSSの知識が少なくてもページを作成することができます。また、イベント処理(ボタンクリック時の処理など)も簡単に追加できます。初心者の方がウェブサイトを作るのに、おすすめです。
データベース(SQL)
たいていのソフトウェアは、何らかのデータを保存したり、読みだしたりします。ショッピングサイトなら、商品や受注データなどです。データの保存先は、通常データベース(DB)になりますので、SQL ServerなどのDB製品とDBを操作する言語であるSQLの基本的な知識を取得しましょう。
基礎知識の勉強法
では、必要な知識がわかったところで基礎的な部分から学習していきましょう。知識ごとに具体的な方法を紹介していきます。
C#言語仕様の基礎
費用:2,000~4,000円程度
平均学習期間:1~2ヶ月
必要なもの:C#の入門書、Visual Studio(無料でダウンロードできる開発ツール)
取得難易度:★★☆☆☆
言語の基礎部分はもっとも重要な部分なので、しっかり理解しておきましょう。ここが理解できていないと、後の応用の学習が進まなくなり挫折する原因になってしまいます。C#を実際に動作させて学習するので、開発ツールを導入しましょう。実際に自分でプログラミングをしないと、本を読んでいるだけでは絶対に身につきません。
WinFormsの基礎
費用:2,000~4,000円程度
平均学習期間:1~2週間
必要なもの:C#の入門書、Visual Studio(無料でダウンロードできる開発ツール)
取得難易度:★★☆☆☆
WinFormsは、C#でデスクトップアプリを作るためのフレームワーク(ツール)です。Visual Studioなら、デザイナーを使って比較的簡単にアプリを作ることができます。デスクトップアプリを作るわけではないのですが、C#を学習するのには最適です。実際に自分で画面を作れるので、楽しく学習できます。
HTML / CSSの基礎
費用:2,000~4,000円程度
平均学習期間:2~4週間
必要なもの:HTML / CSSの入門書、ブラウザ、テキストエディタ
取得難易度:★☆☆☆☆
HTMLとCSSはプログラミング言語ではないので、比較的学びやすいです。また、特別なツールは必要ないので、いつも使っているブラウザでHTMLやCSSを表示させることができます。一番身近な技術なので、親しみやすいのではないでしょうか?
オブジェクト指向の概要
費用:なし
平均学習期間:1~3日
必要なもの:ウェブサイト
取得難易度:★☆☆☆☆
C#のメインパラダイム(プログラムの捉え方)である、オブジェクト指向の概要をつかんでおきましょう。オブジェクト指向を解説したサイトはたくさんあるので、ご自分でわかりやすいサイトを見つけて下さい。ここで完全に理解する必要はなく、なんとなく考え方がわかっていればOKです。C#を使い込んでいけば、自ずと理解は進みます。
実践的な開発に進むための勉強法
次に、実践的な開発に進むために必要な知識を取得していきます。学習した基礎知識を使って、簡単なものを作ってみましょう。わからない部分は、インターネットで検索すれば答えが見つかりますので、探してみましょう。わからないことは常に発生するので、実務でも調査能力は重要な要素です。
電卓アプリの作成
費用:なし
平均学習期間:3~7日
必要なもの:Visual Studio
取得難易度:★★★☆☆
WinFormsで電卓アプリを作ってみましょう。電卓にも色々機能がありますが、自分の力量に合わせて、できるだけ高機能なものにするとよいです。実際に作ってみると、思ったより難しいと思うのではないでしょうか?作り終わったらしっかり、動作するか確認して、不具合が見つかったら修正します。
簡単なサイトの作成
費用:なし
平均学習期間:3~7日
必要なもの:ブラウザ、テキストエディタ
取得難易度:★★☆☆☆
5~10ページ程度の簡単なサイトを作ってみましょう。それほど高度なことをする必要はありませんので、文字や画像でページを作って、ページ同士をリンクさせる程度でOKです。サイトの内容は、自分の好きな内容を考えて作成しましょう。そのほうが、面白いですからね。
ショッピングサイトを作るための勉強法
それでは、最後にショッピングサイトを作るための知識の学習に入っていきます。これまでの知識をベースに、さらなる知識が必要になってきます。
ASP.NETの基礎
費用:2,000~4,000円
平均学習期間:1~2ヶ月
必要なもの:ASP.NETの入門書、Visual Studio、ブラウザ
取得難易度:★★★★☆
C#には、ASP.NET Web FormとASP.NET MVCの2つのフレームワークがありますが、初心者のかたにはASP.NET Web Formの方がとっつきやすいです。WinFormsに似ている部分があるので、電卓アプリを作った時の経験が生きてきます。もちろん、C#の基礎知識も必要になってきます。
データベースの基礎
費用:2,000~4,000円
平均学習期間:2~4週間
必要なもの:SQL Serverの入門書、SQL Server Express(無料でダウンロードできます)
取得難易度:★★★☆☆
ショッピングサイトのデータを保存したり、読みだしたりするためにはデータベースが必要です。データベースにもいろいろ種類がありますが、C#ではマイクロソフトが開発しているSQL Serverが使われることが多いです。テーブルやSQLコマンドなどデータベースの基本的な知識を取得しておきましょう。
ショッピングサイトの作成
費用:なし
平均学習期間:2~4週間
必要なもの:Visual Studio、SQL Server Express、ブラウザ
取得難易度:★★★★★
これまでの知識を総動員して、ショッピングサイトを作ってみましょう。5~10ページ程度の規模で大丈夫ですが、実際にショッピングサイトのように注文までできるように作りこんでいきます。具体的には、商品データはデータベースから読み込んだり、受注データはデータベースに保存したりするなどです。注文後にメールで受注内容をお知らせする機能などもあるとよいですね。ご自分の力量に合わせて、仕様を考えてみましょう。
さいごに
言語などの技術の知識ももちろん重要ですが、それと同じぐらい重要なのがコミュニケーション能力です。業務ではプログラムを一人で開発することはあまりありませんので、他のエンジニアとの意思疎通が重要になってきます。とはいえ、技術の知識なくして話をすることはできません。現場のエンジニアの一人に加わるためにあなたも、C#を学んでみませんか?
参照:初心者のためのC#アプリ開発基礎について解説した記事はこちら
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)