<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>本格的にプログラミングを勉強したい人のためのノウハウ集</title>
		<link>http://benkyo.programming-edu.net/</link>
		<description>本格的にプログラミングを勉強したいと思っている人のためにシステムエンジニアが何から勉強すればイイのかを解説しています。プログラミングは独学でもある程度のところまで進めますが、壁にぶつかってしまうことがあります。ＩＴエンジニアを目指している人、起業を考えている人向けにプログラミングの勉強方法を解説しています。</description>
		<language>ja</language>
		<pubDate>Wed, 13 Mar 2019 16:19:09 +0900</pubDate>
		<lastBuildDate>Wed, 13 Mar 2019 16:19:09 +0900</lastBuildDate>
		<item>
			<title>プログラマーとして何歳まで働けるかデータで検証</title>
			<link>http://benkyo.programming-edu.net/kisochishiki/nansaimade.html</link>
			<description><![CDATA[
プログラマーというと働いている人の年齢層が若いイメージがあるかもしれませんが、意外と40歳過ぎでもプログラマーとして働いている人もいます。何歳まで働けるか？という質問に対しては、極端な例を出せば、「何歳まででも」というのが正解です。ただ、実際はこのぐらいの年齢までというラインがあるはずです。そこで、プログラマーとして働いている人の年齢層を調べてみました。元データとしたのは厚生労働省の「賃金構造基本統計調査（平成29年）」。賃金を調べる全国規模の調査ですが、データの中に年齢層別の対象人数がありました。プログラマーとして調査対象となったのは男性約７．８万人、女性約１．５万人。男女別に年齢層ごとの人数を集計した結果が下記となります。プログラマーの年齢層：男性は２０代が４９％、女性は２０代が６０％（出所：厚生労働省「賃金構造基本統計調査（平成29年）」をもとに作成）男性の場合、プログラマーで最も多い年齢層は25歳～29歳で全体の28.2％。20歳～24歳が20.6％なので、20代だけで全体の半数近い４８．８％となります。30歳以降は年齢ごとに減っていく傾向にあり、40歳以上のプログラマーの割合は全体の18.3％。5人に1人いるかいないかといったところです。女性の場合は、年齢層として最もい多いのは20歳～24歳で全体の35.3％。25歳～29歳が25.1％なので、20代だけで全体の６割近い６０．４％となります。男性と比べると、この年齢層が突出しているのがわかりますね。また、40代以上の割合が男性よりも高いのも女性の特徴。40歳以上の女性プログラマーの割合は、全体の20.3％と男性より高くなっています。システムエンジニアの年齢層は？プログラマーと比較されることが多い、システムエンジニアの年齢層も同様に調べてみました。（出所：厚生労働省「賃金構造基本統計調査（平成29年）」をもとに作成）システムエンジニア（SE）の場合、最も多い年齢層が男女ともプログラマーの場合よりもひとつ上になっています（男性SE：30歳～34歳、女性SE：25歳～29歳）。また、男女とも各年齢層間の差がプログラマーのときほど大きくありません。これはどの年齢層にもシステムエンジニアとして働いている人が一定数いることを示しています。プログラマーとして働ける年齢層は…こうしてみるとプログラマーとして働いているメインの年齢層は20代だとわかります。「プログラマー30歳定年説」はこのあたりが根拠なのかもしれません。確かに、30歳を過ぎた頃が、キャリアチェンジするか、そのまま働き続けるかの分岐点。ただ、40歳を過ぎてもプログラマーとして働いている人もいます。「何歳までしか働けない」なんてことはさなそうです。
			]]></description>
			<pubDate>Wed, 13 Mar 2019 16:19:04 +0900</pubDate>
			<guid isPermaLink="true">http://benkyo.programming-edu.net/kisochishiki/nansaimade.html</guid>
		</item>
		<item>
			<title>プログラマーの平均的な収入はどのぐらい？</title>
			<link>http://benkyo.programming-edu.net/kisochishiki/prgrammerincome.html</link>
			<description><![CDATA[
年間で何億円も稼ぐプログラマーがいないことはありませんが、あくまでごく一部のスターだけ。平均的なプログラマーの収入ってどのぐらいなのでしょうか？かつてはプログラマーは３Ｋ（きつい、きたない、給料安い）と言われたこともありますが、最近はどうなのでしょうか。最新の全国調査で調べてみました。プログラマーの平均年収は３２．１歳で４１６万円職種別の収入を調査しているデータとしては厚生労働省の「賃金構造基本統計調査」があります。これは全国の労働者を対象に毎年行っているもの。この平成29年の結果を見るとプログラマーの平均年収は次の通りでした。年齢（歳）年収（万円）月給（万円）ボーナス（万円）プログラマー（計）32.1416.1 29.759.9プログラマー（男）32.3426.3 30.462.0プログラマー（女）30.9363.9 26.249.2（出所：厚生労働省「平成29年賃金構造基本統計調査」より算出）ちなみに、プログラマーと比較されることが多いシステムエンジニア（SE職）はこちら。年齢（歳）年収（万円）月給（万円）ボーナス（万円）ＳＥ（計）38.0550.8 37.5 100.4 ＳＥ（男）38.5563.6 38.4 102.5 ＳＥ（女）34.9474.4 32.2 88.0 （出所：厚生労働省「平成29年賃金構造基本統計調査」より算出）プログラマーよりもシステムエンジニア（ＳＥ職）のほうが平均年収が高くなっていますが、ＳＥ職の平均年齢が高いことも影響しています。プログラマー職を経験してからシステムエンジニア職に変わるのがキャリアパスとして出来てる会社もあるので、このようになっていると思われます。会社規模によるプログラマーの年収の違い上の表はプログラマー全体の平均年収ですが、会社規模により年収は大きく異なります。同じデータで見てみると次のような年収差があります。従業員1000人以上従業員10～99人年収差プログラマー（計）498.1391.6106.5プログラマー（男）509.9400.9109.0プログラマー（女）431.4348.183.4（出所：厚生労働省「平成29年賃金構造基本統計調査」より算出）従業員1000人以上の会社と従業員10～99人の会社では同じプログラマー職でも年収の差が１００万円以上あるというわけです。この差は大きいですね。従業員10～99人の規模のソフトウェア会社というのは決してめずらしくありません。むしろ、これぐらいの規模のほうが一般的です。システムエンジニア（ＳＥ職）での同様のデータはコチラ。従業員1000人以上従業員10～99人年収差ＳＥ職（計）607.6484.8122.8ＳＥ職（男）625.6492.2133.4ＳＥ職（女）517.9414.6103.3（出所：厚生労働省「平成29年賃金構造基本統計調査」より算出）ＳＥ職でも１００万円以上の差があります。参考にしてみてください。
			]]></description>
			<pubDate>Wed, 6 Mar 2019 14:03:08 +0900</pubDate>
			<guid isPermaLink="true">http://benkyo.programming-edu.net/kisochishiki/prgrammerincome.html</guid>
		</item>
		<item>
			<title>独学でプログラミングの勉強をするなら知っておきたいテクニック</title>
			<link>http://benkyo.programming-edu.net/benkyohou/dokugakubenkyo.html</link>
			<description><![CDATA[
入門書を買ってきて独学でプログラミングの勉強する方法について解説します。買ってきた本を読むだけでは、効果的な勉強にはなりません。私自身、次から次へと新しい本を買ってきては読んでいたのですが、あまりコーディングスキルが上がりませんでした。上達を感じたのは下記の方法で勉強するようになってから。独学するなら、無駄に本ばかり買ってしまう前に参考にしてみてください。サンプルコード解読プログラミング言語の入門書、参考書にはサンプルコードがついています。まずは、このサンプルコードを使って勉強します。入門書に掲載されている通りに自分で入力してみる必要なんてありません。そんな根性論的で非効率な勉強は無用です。コピーして使えるデジタルデータを利用しましょう。（入門書を選ぶときには、デジタルデータが使えるかをチェック）デジタルデータが準備できたら、最初にすべきは解読です。１行ずつサンプルコードの意味を解析してみましょう。この行ではこんな処理をしている。といった理解ができればＯＫ。最初は意味のわからない行がいくつかあっても気にしないようにします。まずは、どこでどんなことをしているのか（全体の流れ）を把握することが大切。最初からすべてを完璧に理解しようとすると挫折しがちです。だいたい理解できればＯＫ。そのぐらいの感覚が独学では必要です。サンプルコード変更サンプルコードがだいたい理解できたら、次にコードの一部を変更してみます。例えば、解析で理解できた行の一部の数値を変えてみるとか。ひとつ変えたら動かしてみます。想定通りに結果が変わったかを確認。このくり返しです。一度にいくつも変えてしまうと、動かなかったとき（エラーとなったとき）にどこが間違っているのかが判別しにくくなってしまいます。まずは、ひとつずつ変えて実行してみてください。慣れてきたら、解析のときに意味がわからなかった行にチャレンジ。意味がわからない行でも何かの数値を変えて実行してみると結果が変わるはずです。その結果から、どんな意味だったかが理解できるようになります。こうしたことがあるので、解析の段階は「だいたいわかればＯＫ」というわけです。ただし、コードを削除するときはあとで元に戻せるようにしておきましょう。そうしておかないと、全然動かなくなってしまった…となるだけです。デバックスキルが身につくこのサンプルコード変更を続けることで、デバッグスキルが身につきます。デバッグとはバグ（障害）を取り除く作業のことです。障害を取り除くには、コードを解析することがさけられません。サンプルコード解析と変更で自然とデバッグ手法は身につきます。自分なりのデバッグ方法を身に着けておくことはプログラマとして必須。ただし、ゼロからコードを組むのは初心者にはハードルが高いものです。また、初心者が組むコードは量も多くありません。このため、サンプルコードで試すのが役立つというわけです。プログラマとしての最初の仕事は、既存システムの修正となることが少なくありません。サンプルコードの解析、変更はこうしたときにも役に立ちます。入門書で勉強しておくことをオススメします。機能追加コードの変更になれたら、新たな機能を追加してみましょう。自分で考えた新たな機能を追加するといわけです。どんな機能を追加するか？どんなコードをどこにかけば良いのか？これは本格的なプログラミングの勉強となります。最初から複雑な機能を追加する必要はありません。まずはシンプルな機能から。別のサンプルコードにある機能をコピーして、持ってきてもＯＫです。追加するコードをどこに書けばいいかを調べるだけでも勉強になります。追加したら、実行して結果を確認してみます。シンプルな機能追加が成功したら、徐々に複雑な機能に。まったくゼロからプログラムを組むよりも、このようにサンプルコードに追加していくほうが独学では効率的に勉強できます。参考にしてみてください。
			]]></description>
			<pubDate>Wed, 27 Feb 2019 11:56:45 +0900</pubDate>
			<guid isPermaLink="true">http://benkyo.programming-edu.net/benkyohou/dokugakubenkyo.html</guid>
		</item>
		<item>
			<title>知っておきたいプログラマーとシステムエンジニアの違い</title>
			<link>http://benkyo.programming-edu.net/kisochishiki/setonochigai.html</link>
			<description><![CDATA[
プログラマーとシステムエンジニアの仕事の違いについて解説します。会社によってどこまでをプログラマーの仕事とし、どこまでをシステムエンジニアの仕事とするかは異なります。ここではシステムエンジニア（SE）の仕事とされることが多いものをピックアップしました。システムエンジニアの仕事内容要件定義どんなシステムを開発するのかをシステムの発注者（依頼者）と決めるのが要件定義です。要求定義といった場合も基本的には同じような意味です。会社によっては要件定義と要求定義を使い分けているとこともありますが、言葉の定義にこだわる必要はありません。基本的に何をどこまでシステム化するかを決めるものです。システムの依頼者（発注者）はＩＴに詳しくないことが多いものです。このため、要件定義と言われても、何を決めなければならないのか理解できません。そこで、システムエンジニアが必要となるわけです。あとで変更できる部分とできない部分はどこかなどを説明することから始めます。どんな画面にするのか、どんな帳票を出力するのかなど決めることは多岐にわたります。ここでの内容をもとにプログラマーがシステムを開発することになります。決めた内容があいまいだと、どう作ればいいのかプログラマーが混乱します。また、必要な機能が盛り込まれていないと、使えないシステムとなってしまいます。システムエンジニアとして腕の見せ所でもあり、頭を悩ませるところでもあります。開発工程管理システムエンジニアがプログラミングしてコードを組む場合もありますが、コーディングはプログラマーが行うのが一般的です。システムエンジニアの役割は工程管理になります。開発が予定通りに進んでいるのかを確認するのが工程管理です。システム開発ではスケジュールよりも時間がかかることが日常茶飯事です。遅れてる場合は自らプログラミングを行うこともあります。また、先のスケジュールを変更することも必要になります。プログラマーが苦戦しているときには、必要以上に複雑なシステムを組もうとしているなど要件定義を誤解しているケースもあります。どこで詰まっているのかを把握し、誤解があればそれを解くのも工程管理の大事な仕事です。品質管理プログラムにバグ（障害）はつきものです。だかといって、「障害が多いのはプログラマーの質が悪いから」ではSEの存在価値がありません。品質を保つためにどのようなテストをいつ、どのぐらい行うべきかも考えるのがシステムエンジニアの仕事です。障害が起きたときの修正方法も大切です。新しい障害を直したら、前に直した障害が再発してしまったなんてこと（デグレと言われます）も起きてしまいます。。こうしたことが起きないようにするのもSEの仕事とされます。導入計画完成したシステムをどのように導入するかも大切な仕事です。システムは使う人がいないと動きません。ユーザ（利用者）のためのマニュアルや使い方の研修なども考えなければなりません。そのための専門チームがいる場合もありますが、小さなシステムではSEが兼任するケースもあります。また、専門チームがいる場合でも、開発チームとのあいだに入って情報の共有化など調整を図るのがシステムエンジニアの役割となります。特に最終テスト段階と重複して行われることも多いので、テストチームとの調整もしなければなりません。開発ＳＥ、運用ＳＥ、障害ＳＥ上記ではシステムエンジニアとしてひとくくりで説明してきましたが、企業によってはシステムエンジニアをその役割によって開発SE、運用SE、障害SEのように分けている場合もあります。開発SE…システムを開発し、導入（リリース）するまで運用SE…システムを運用していくためのサポート部隊障害SE…システム運用中に障害が発生した場合の復旧部隊これは一例で企業によって分け方は異なります。いずれにしてもプログラマーよりも扱う領域が広いのがシステムエンジニアの特徴です。
			]]></description>
			<pubDate>Wed, 20 Feb 2019 11:06:28 +0900</pubDate>
			<guid isPermaLink="true">http://benkyo.programming-edu.net/kisochishiki/setonochigai.html</guid>
		</item>
		<item>
			<title>プログラミングだけじゃないプログラマーの仕事内容</title>
			<link>http://benkyo.programming-edu.net/kisochishiki/programmershigoto.html</link>
			<description><![CDATA[
会社員として企業に勤めているプログラマーの仕事は、プログラミングだけではありません。プログラムを組む以外にプログラマーがどんな仕事をしているのかを紹介したいと思います。典型的な企業内プログラマーの仕事内容フリーのプログラマーの仕事は契約内容により大きく異なります。純粋にプログラミングだけで成果物としてコードを納めればいい場合もありますし、それ以外の付随業務（ドキュメント類の作成など）が発生する場合もあります。以下で紹介するのは会社員として働くプログラマーの典型的な仕事内容です。会社により異なりますが、こんなこともあると参考にしてみてください。プログラミングプログラムを組む仕事です。ただし、これがメインとは限りません。プログラマーとは名ばかりで、ほとんどコードを書いていないというケースもあります。むしろ、プログラミングだけしてれば良いプログラマーは日本の企業では少数派です。デバッグプログラミングの中に含まれますが、バグ（障害）を直す仕事です。会社によってはデバッグを見つける専門チームがあって、そこからの報告に対応しなければならないケースもあります。プログラミングがものを作り上げていくプラスの仕事だとすれば、デバッグはマイナスを取り除く仕事です。後ろ向きになりがちですが、プログラマーとしては避けては通れない仕事です。テスト作成したプログラムのテストを行うこともプログラマーの仕事です。これにも相当な時間が割かれます。また、テストの種類だけでも単体テスト、結合テスト、ユーザーテストなどいくつもの種類があります。どこまでプログラマーが担当するかは企業やプロジェクトによって異なります。テスト用のデータを作ったり、テストのシナリオ（どんなテストをするのか）を作るのもプログラマーの仕事のケースもあります。各種ドキュメント類の作成プログラマーの中には苦手な人も多いのですが、詳細設計図などのドキュメント類を書くのもプログラマーの仕事です。ひな形が用意されていて、そこに書くことが多いのですが、これにも時間がかかります。設計図だけでなくバグがあったときの障害報告書なども書く場合があります。プログラマーには文章力（日本語力）が必要なことがわかる仕事内容です。仕様変更への対応プログラマーとして面倒な仕事が仕様変更への対応です。「Ａの処理をするように」といわれてプログラミングしてテストまで終わった後で、やっぱり「Ｂの処理をするように」と言われるのが仕様変更です。仕様を決める人の要求が変わることが日常茶飯事の職場では避けては通れません。そうした現場が多いのが現状です。お客様のご要望には逆らえない、みたいな。前に行った作業が無駄になってしまうので、イヤな気持ちになってしまうこともありますが、仕事と割り切ってやるしかありません。新サービスの提案書作成新サービスの提案をプログラマーに求める会社もあります。自分が仕様に関われることに喜びを感じる人もいますし、忙しいのに余計な仕事を増やしてと思う人もいるかもしれません。企業によってプログラマーの役割が違う上に挙げたプログラマーの仕事内容は典型的なものだけです。これ以外の仕事をプログラマーが担当していることもあります。企業によってプログラマーの役割が違うからですが、そもそもプログラマーという呼び方すら企業によって違います。実質プログラマーをシステムエンジニアと呼ぶところもあります。プログラマーとしての就職にこだわってるのであればこうした点に注意してください。自分が考えているプログラマーの仕事と就職先で求められる仕事内容にギャップがあるかもしれません。仕事内容については入社前の面接などを確認しておくことをオススメします。
			]]></description>
			<pubDate>Wed, 20 Feb 2019 11:02:47 +0900</pubDate>
			<guid isPermaLink="true">http://benkyo.programming-edu.net/kisochishiki/programmershigoto.html</guid>
		</item>
	</channel>
</rss>
