【メモ】SEの方に素朴な質問をいろいろお聞きました。(2010/01/12)

職業訓練校のプログラマーJava)養成科のカリキュラムで学んだら具体的にどういうことができるのか?
またどういう仕事に就けるのか?

資格はとったほうがいいのか、だとしたら何をとれば?

などなど現状、”わからないことがわからない””わからないことだらけ”なので、

SEのお仕事をされている_crays_さんに昨日スカイプで2時間ほどお話を伺ったのでその記録

※_crays_さんの承諾はいただいてます。
※このスカイプのログは編集してます。

まずはカリキュラムを見ていただいた。(カリキュラムはウェブで公開されている情報。)

                                                                                                                                                                                                  • -

委託訓練カリキュラム
訓練科名 プログラマー(Java)養成科 就職先の職務 ソフトウェア産業
プログラマ
訓練期間
3か月

受講者の条件 文字入力ができ、Word、Excel等の基本的なパソコン操作ができる。
訓練目標 コンピュータの基礎知識とアルゴリズムを学び、基本パッケージ、コレクショ
ンなどを初めとし、プログラム言語としてオブジェクト指向型言語であるJava
の習得と基本的データベース構築技術を身につける。
仕上がり像 Javaプログラミング技法と基本的データベース構築技術を身につけ、Web・オ
ープン系システム開発プログラマとして活躍できる人材。
修了時に取得できる資格等
取得可能な
資格 (注) SJC-A(Sun) 等
科    目 科 目 の 内 容 時 間
訓    練  の  内   容 学科 コンピュータ
システム 1.コンピュータシステム  2.中央処理装置と記憶装置  3.ソフトウェア 
 4.オペレーティングシステムの機能  5.ファイル  9
ネットワーク技術 1.ネットワーク  2.伝送技術と伝送制御 15
セキュリティ 1.セキュリティ管理  2.機密  3.不正アクセス  4.コンピュータウイルス 
5.セキュリティ対策 6
データベース 1.データベースの基本知識 2.データベースの設計・操作・運用 12
システム開発 1.システム開発の方法と工程 2.システムの設計 3.プログラミングとテスト 4.オブジェクト指向 5.システム開発の生産性向上と工数見積 
6.システムの性能、評価と運用 7.システムの形態 12
コンピュータ科学基礎 1.10進数、2進数、16進数 2.いろいろなデータ表現 3.シフト演算
4.語算 5.論理演算 6.論理回路 7.状態遷移図とオートマトン
8.データ構造 9.アルゴリズム 12
情報化と経営 1.確率と統計 2.オペレーションズリサーチ 3.品質管理 
4.企業の経営・会計・経営分析 5.ビジネスシステム 6..関連法規 12
補足知識 1.開発工程 2.UNIX研修 3.オブジェクト指向入門 4.WEB概論 18
実技 JAVAの基本構文 1.Java・プログラミングの概要 2.プログラムの基本要素・演習 27
クラス 1.クラスとオプジェクト 2.配列・文字列 21
先進機構 1.パッケージ 2.例外処理 3.ストリーム 4.スレッド 21
API 1.APIドキュメント 2.java,langパッケージ 3.java.utilパッケージ 4.java.netパッケージ 27
GUI 1.AWTの概要 2.ウィンドウの作成 3.java.awt.Graphicsクラス 
4.インベント処理プログラミング 5.GUI部品 6.ダイアログの作成 27
サーブレット 1.Webアプリケーション概要 2.WebプラウザとWebアプリケーション間でのデータ送受 3.サーブレット
27
総合演習課題 プロジェクト管理・役割分担、システム開発・提案システムの企画書作成及びプレゼンテーション 48
就職支援 就職支援 選考書類対策
・ 自己PR
・ 志望動機作成
・ 応募書類対策
18


計 324H
考備 Java SE Development k it (JDK)6uqdate
(注)「取得可能な資格」は試験実施機関が行う試験に合格する必要があります。

                                                                                                                                                                                                  • -


G: このカリキュラムどおりやったとして
G: 独学とかも含めて
G: 仕事ができるためにはどこまでやればいいのかなと。
G: あと
G: Javaの資格っているのかな?だとしたら何をとれば?
G: これが実際職業訓練校行かれた方の記事なんですけど
G: http://i-otter.hp.infoseek.co.jp/hon/kunren.html
G: あと
G: 仕上がり像の Javaプログラミング技法と基本的データベース構築技術を身につけ、Web・オ
ープン系システム開発プログラマとして活躍できる人材。
G: っていうのがよく分かりません^^;
G: Web・オープン系システム開発って・・・
G: なるほど。いきなり専門用語で混乱しますよね。
C: 不安もあるでしょう
G: 資格:SJC-A(Sun)とか調べたんですけど受験費用高いです・・・。
C: ひとまず、ひとつづつお答えしますね^^
G: お願いします。
C: >仕事ができるためにはどこまでやればいいのか

システム屋にはいろいろな種類がありますが、ここに書かれている技術はどれも大事です。
C: というのも、言語がわからなければお話にならなく、プログラムを作るには設計が必要で、これをビジネスにするにはスケジュール(工程管理)が必須となります。
G: 僕全部聞いてますのでどんどん続けてください。
C: 工程管理は、プログラムを作った事のない人間ができるものではなく「こういう要望だからこういう機能が必要。だから○日はかかるな」という風に考えられる人間が求められます。
C: やったことの無い人間が、どうしてスケジュールを立てられる?というお話ですね^^
C: 技術として言語習得は大事ですが、どの言語にしても今の世の中はデータベース必須です。
C: また、後記しますが、WEBオープン系であればUNIX(またはLinux)は必ず必要となります。
C: UNIXはサーバーで使用されているOSであり、コマンドラインでの操作になる為、コマンドを覚えるという勉強が必要になります。
C: LinuxUNIXから派生されたOSで、UbuntuFedoraCoreRedHatとかが有名ではないでしょうか。
C: このカリキュラムを見る限り、GUIの学習もあるところを見ると、
C: Java言語を使用したGUIアプリの製造もできるようにするようですね。
C: GUIアプリはWebオープン系に必須ではありませんが、必要となる仕事は0ではありません。
C: 「ついでに」という考えでいいと思います。
C: ここまでで、質問や知らない言葉あります?
G: 教科書は 明解Java入門編(単行本)
情報処理システム入門(単行本)
情報セキュリティ読本―IT時代の危機管理入門(単行本)
本格学習Java入門(単行本)
はじめてのJSP&サーブレットプログラミング  
G: です^^
C: つづけますね^^
G: あ
C: ?
G: プログラマーもSEも工程管理はできて当たり前という認識でいいですか?
C: はい
C: SEとPGの違いは、SEは営業+開発とイメージされたほうがわかりやすいです
G: なるほど。
G: 「ブラック会社に・・・」の映画見ました。


C: システムの内容や機能について柔軟な提案をできる。つまりそれぐらいシステムを理解しているのがSEです。
C: あ、それ本スレみましたw
C: ああいう事、会社にもよりますが、ありますよ。
C: ぼくもありましたw
G: そうなんですか^^;ITソルジャー(@@;
C: 別名、IT土方ですからね〜w(SE
C: さて、話をもどしますねw
G: はいw
C: 「仕事ができるためにはどこまでやればいいのか」についてですが、SEとしてはすべてあるに越したことはないです。
C: PGとしては、言語とデータベース、工程管理は必要です。
C: ここでの言語は大きい意味です。
C: Java言語はオブジェクト指向という特殊な言語です。
C: オブジェクト指向を理解するのが一番大事です。
C: また、JSPサーブレットは結構必要となる場面が多いので、「ああ、そういえばこんなんだったな〜」的にしておくべきでしょう
C: Java言語の習得、データベース操作の習得(SQL)、工程管理ぐらいでいいと思います。
C: 工程管理といっても、自分で自分のスケジュールを引けるというぐらいです^^
C: 何人ものスケジュールを見るのは先輩やSEです
C: 実際、ここで習った事のほとんどが仕事で使います。しかし、100%一人でやっているのかというと、そうではありません。
G: (ふむふむ)
C: プロジェクトマネージャ(以下Pマネ)がいて、基盤チームというサーバー構築チームがいて、営業がいて、お客さんがいる。
C: 営業とお客さんが作るシステムの機能(これを仕様といいます)をきいてきて、Pマネと詳細に仕様を起こす。
C: PマネとSEが1つ1つの機能について詳細な設計書を作成
C: その詳細な設計書(詳細設計といいます)を元にプログラマ(以下PG)がプログラムを作成
C: できたプログラムをテストし(これを単体テスト)。ドンドンつくっていきます。
C: その間に、基盤チームがサーバーを準備し、テストを行う人(テスター)がそれぞれの機能を連結させてテスト(これを総合テストや統合テスト)
C: 最終的に、いくつものテストを行い、お客さんに確認してもらって、本番運用という流れです。
C: つまり、いきなりPマネやSEになるのは難しく、
C: 一人の力では成し得ません。
C: ここにある技術はすべて必要ではありますが、仕事を行って行く上で学習する事も可能です。
C: ですので、これからシステム屋に就職されようと考えられているのであれば、
C: 必要最低限(Java言語、データベース、自分のスケジュール)は習得し、それ以外は「ああこういう事なんか習ったな」という予習程度で十分と思います。
G: なるほど。ありがとうございます。とてもわかりやすかったです。
C: 分からない言葉とかあったら、その時にきいてくださいね^^
C: 次にWebオープン系ですが、
C: これは簡単ですw
G: !
C: インターネットやインターネットの技術を使った情報技術全般をいいます。
C: たとえば!
C: このSkype
C: ネット、つかってますよね〜w
C: Twitter
C: つかってますね〜w
G: はーい(^^)/
C: これらがそうです
G: なるほど!
C: じゃあ、Webオープン系以外になにがあるの?ですがw
C: 汎用系があります
C: 汎用系は汎用機と呼ばれる機械を使ったもので、
C: 有名なとこだと金融機関がつかってます
C: 表になかなか出てこないので、こいつはイメージがつきにくいです^^;;
G: クローズなかんじですね^^
C: ちょっと考えてみると、この世の中のほとんどがネットを使っているので、Webオープン系の仕事というのが多いのがわかるとおもいます^^
C: そうですね。
C: あとは制御系とよばれるものです。
C: これは駅の自動改札機や自動販売機がそうです
C: これは身近ですね^^
G: ふむむふ
C: だいたいイメージつきました?
C: >Web・オープン系システム開発プログラマとして活躍できる人材
G: はい。
C: これ、簡単にいったら、MixiTwitterのようなシステムを作れる人材ってことですw
G: mixiアプリもオープン系ですね^^
C: そうです^^
G: 僕カヤックみたいなことがやりたいんです。最終的に。
G: 自分で企画したものを自分で作って公開するかんじです。
C: ああ、いいですね^^
C: それでいうと、Webサービスを展開したいという事ですね^^
G: なのでその手段の1つとしてプログラム勉強しようと。
G: そうですー
C: なるほどなるほど。
G: なんでHTML&CSS FLASH FW DW とかも勉強してるかんじなんです^^
G: まずは一通り自分で作れるようになりたいなと。
C: FW=ファイアーウォール?
C: DW=DoreamWeaver?
C: スペル違っw
G: 先程おっしゃってましたがたとえばウェブディレクターになると言っても何もできないひとがディレクションなんてできないかと。
G: そうです。(スペルはちがいますが^^;)
C: はは^^;; <スペル
C: ディレクタはいろんなサービスと技術習得必要ですからね〜
G: 就職についてお聞きしてもいいですか?
C: はい
G: 資格もそうなんですけど
G: 「何を持って自分はプログラミングできることを伝えるか?採用にあたって。」
G: その1つが資格
G: もう1つが
G: 自分で作ったアプリなり、つくったものを見せる。
G: なのかなと思ってるのですがどうでしょうか?
C: はい、僕は後者だけだと思っていますw
C: 資格は学習しただけで、使えたわけじゃないと考えている人間なもんで^^;;
C: 自作アプリとかもっていって、それのクラス図やDBの説明ができたら、僕が人事なら採用ですねw
C: クラス図ってのはUMLというプログラム構造を図式にしたものの一つです。
G: やはりそうですか。
C: かなり主観ですけどねw
G: じゃぁ資格は取るのやめときます^^
C: あ、
C: 持っていて損しない資格がひとつあります。
C: 費用かかりますが、Oracle資格はかなり有利です。
G: ほうほう
G: いくらぐらいするんですか?
C: というのも、これはデータベースの仕組みやOracleの特性を完全に把握してないと取れないんです。
G: 完全に把握
G: (@@;
C: ブロンズ、シルバー、ゴールド、プラチナとランクがありますが、
G: へー
C: ゴールド以上はかなりハードです
C: http://www.oracle.com/global/jp/education/certification/path/10g_dba_path.html
C: かといって、ブロンズでも楽勝ではないと思います。
C: (僕はやったことはないですww)
G: これどこに受験費用のってるのか見つけられない;;
C: 僕の場合、資格習得にかける時間があるなら、アプリ制作にかけますけどねw
C: あ、すんまsねn
C: すんません
G: なるほどー
G: アプリつくりゅ!
C: http://www.oracle.com/global/jp/education/certification/evoucher.html
C: 15,750円ですね
G: 高っ(@@;
C: まあ、就職してからの取得したら、会社から手当が出たりする資格ですのでw

G: Java と Actionscript3.0 って書き方似てるんですよね。そこも魅力的です^^
C: そうですね、ASは似てます。
C: Javaができれば、ASがかけるようになり、FlashだけでなくFLEXやAdobeAIRもできるようになりますよ^^
G: ヒャッホイ^^
G: なんでぇ
G: この3ヶ月頑張って習得したいです。
G: 学校で教わることって基本的なことを押さえる程度かなと思ってて
G: あとは自分でやるしかないのかなと。
C: やってみたら分かりますが、きっと講習が終わった後に、なにか製造をする場合、調べる必要はでてくると思います。
C: しかし、その調べ方さえわかっていれば、意外と難しくないもんです^^
G: ふむふむ。
C: 講習で習ったこと、調べ方や見方は特に覚えておいてください
C: JAVA-DOCの読み方は特に重要です。
G: JAVA-DOC・・・ふむふむ
C: まあ、そのうち講習の中で出てきますよ^^
C: っていううか、ありましたしw
C: APIのとこで習うはずですw
C: 今はわからないことがわからない、わからないだらけです^^
C: そうですよねw
C: だから、ひとつひとつしっかり覚えてくのが大事です^^
C: 詰め込んだだけじゃ、使い物にならないですから^^
G: へい
C: 知識より知恵ってやつです^w^b
G: なるほど

G: 突飛なことをお聞きしますが
C: はい
G: 今のお仕事楽しいですか?
C: 僕は、天職ですw
G: 素晴らしい!
C: ありがとうございますw
G: 僕もそう言えるようになりたい!
G: 人間好きなことはいくらでもがんばれますからね!
C: そうですね^^
C: 僕も、昔からの夢で入った仕事ですからw
C: PC好きにはたまらないw
G: いいないいな!
C: www
G: プログラマーされてるんですか?
C: 一応、SEです。
C: ええ
C: ww
G: なるほど
G: 僕SOHOもやってみたいです^^
G: SOHOしながら就活したいなと^^
G: SOHOで経験・実績・スキルをつけながら就活なんかんじ。
G: まぁ1つずつやっていくしかないってことですね!w
C: そうですね〜。いまのうちに企画を練っておくのはアリだと思いますよ^^
C: ページ構成とか、機能とか、サービスの詳細とか
G: そうですね。企画はスキル要りませんもんね^^
C: 収益につながる事とか
C: ですです^^
C: 発想が大事です^^
G: こういうのを作りたいっていうのをまずあってそのためのにはこういう技術がいるからその勉強をするのが理想って言いますもんね。
G: とりあえずできることが増えてきたらその都度どんどん自分で作っていくことが良いみたいですね!
C: そうですね^^行動が大事です
G: ではそろそろ
C: はい^^
C: またなにかあったらいつでもどうぞ
G: 今日はいろいろありがとうございました。


                                                                                                                                                                                                                    • -

この話を受けて、今後の方向性


・資格はとらない

・授業関係なく自分で巻いてJavaプログラミングを勉強して早く制作に取り掛かれるようにする

Javaをある程度やった後にAS3.0の勉強は再開



_crays_さん本当にありがとうございました。