プログラマから始まり、システムエンジニア、プロジェクトリーダーを経て現在はSIerとして提案活動を行っています。
リーダーや提案をやりたいと思い、気づいたら「本当にやりたいことを見失ってるのでは?」と最近思っています・・・
それぞれを経験した自分から見てどんな仕事なのかをまとめて行きたいと思います。
IT業界ってどんな事やってるの知りたい方、就職を考えている方の参考になれば幸いです。
Index
プログラマの仕事
プログラマは仕様書もしくは設計書をもとにプログラム構造を考え、コードを書いて、テストを行います。
設計書は行間(明記されていない仕様)が多いものから、ロジックに近いレベルまで細かく書かれているものまで、人によって書き方がまちまちです。
そのため、行間の大小にかからわず、設計書に書かれていない暗黙の了解的なことも存在します。
本来、これらは規約や仕様書などで整理されているべきですが、そういったものが無い場合はプログラマとしての知識や経験でシステムの質が大きく変わります。
また、ひとりでシステム開発する事はほとんどなく、数名のメンバーで開発を進めるのが一般的です。
そのため規模が大きい開発では機能やモジュール単位に作業が分割されて、全体を把握できないケースもあります。
時には人の作ったプログラムを読んで機能追加やバグ改修をすることもあります。
必要な技術
最近では言語の種類も多くなり、また新しい言語や技術も日々増えています。
一体何を勉強すればよいのか分からなくなってしまいます。
そこで、自分の考えとしては、「3つの技術習得」がポイントだと思います。
1.「軸となる言語」
これはJavaであったり、PHPであったりC言語であったりします。
これら代表的な言語からまずはひとつの言語を深く理解することをお勧めします。
なぜひとつかというと、IF文、FOR文、変数、関数など一般的なロジックや指向はどの言語も共通している部分が多いからです。
また、オブジェクト指向などをひとつの言語でしっかり理解しておけばプログラム構造設計が出きるようになります。
しっかり理解した後で、他の言語習得は始めると早く覚えられます。
2.「SQLの知識」
現状はデータベースを使うシステムが多いです。スマートフォンですらSQL文を使うぐらいです。
まずはテーブルからの抽出・追加・変更・削除などの操作が出きるように、それからテーブル作成や制約やインデックスなどの作成・変更・削除ができるように基礎的なSQLを理解します。
大きなシステムになってくるとストアドプロシージャなど使うこともあります。
ただ、これはプログラム言語とSQLをしっかり理解できていれば習得はそんなに難しくはないと思います。
3.「デザイン」
これができるプログラマは自分の知っている限り少ないです。
デザインは重要ではないという意見もあると思いますが自分は重視します。
システムは使う人が必ずいます。その人が使いやすいように、また楽しく使ってもらうためにデザインは重要です。
また、保守など費用が限られている中でデザインとプログラムの人が分かれているとスケジュールや費用、品質に営業ができます。
そういた面でも、デザインのできるプログラマは非常に重宝されると思います。
楽しいところ
プログラマの楽しいところは何といっても「形になる物」を作れる事です。
また、難しい技術や新しい事を習得する事が多く日々成長している事を感じられます。
辛いところ
昔はプログラマと言うとかっこいい職業のひとつでした。
しかし、最近では残業ばかりで、給料が安いイメージが強いかもしれません。
給料はともかく残業が多いのは事実です。
それにつけて日々出てくる新しい技術に興味をもち、どんどん吸収する理解力と理解力が必要となります。(これが結構大変)
まとめ
よく理系向きと言われますが、自分はあまり関係ないと思います。
自分としては日々新しいことを習得する意欲のある人、ものを作る事が好きな人であれば向いていると思います。
ただし、「並」のプログラマは星の数ほどいます。その上を目指せる、その上を目指そうとしない限り、生き残るのは結構大変です。
参考
Head firstシリーズは他の入門書と違い楽しく学べてお勧めです。
この記事のトラックバック用URL