HOME > もっと教えて!フォーラム > 今も未来も必須のインフラ「IT・Web」の仕事 > 回答・コメントする(No.1917)

もっと教えて!フォーラム
回答・コメントする(No.1917)

いつも、子どもたちの疑問にお答えいただき誠にありがとうございます。
13hw編集部より、ご回答くださる際のポリシーに関するお願いです。
 
  • 回答は、基本的には、その職業の方(または経験者、相応の知識を有する方など)にお願いしております。
    しかしながら、なかなか回答のつかない質問もあります。
    投稿されてから2週間経っても回答がつかない質問に関しましては、職業などに関係なく、ご回答のご協力をお願いしたいと考えております。
  •  
  • 白書の皆様におかれましては、貴重な時間を割き、子どもたちの質問に丁寧にお答えくださったり、叱咤激励してくださって誠に感謝しております。
    このようなお願いをするのは大変恐縮なのですが、勇気を出してこのサイトに質問を投稿してくれた子ども達に、よりよい情報を提供したいと考える当サイトの運営ポリシーをご理解・ご了承いただけますと幸いです。

もっと教えて!フォーラム 質問 ソフトウェアエンジニア

2007/05/16 09:08  cazooさん[高校生・男]

[Q] PCを使った仕事につきたいのですがソフトウェアエンジニアとはどのような仕事をするんですか?

[A.3]

まず、「PCを使った仕事」と「ソフトウエアエンジニア」は多分cazooさんが思っているほどイコールな関係ではないと思ったほうがよいです。

ソフトウエアエンジニアというと、まあ、システムエンジニアという言葉よりは絞った言い方なんですが、幅が広いです。特に規模の大きいソフトウエアを作る仕事となるとPCを使わない役割の人も多くなってきます。ただし、PCが「使えない」人は皆無だと思ってください。

ソフトウエアエンジニアは、ソフトウエアをデザインする、作る、直す、などが仕事です。

・デザインする
 どういう入力にどういう処理をしてどういう出力をするのか、を使う人の思いを汲んで絵とか文章で表します。
  入力とは、キーボードを打つことであったり、カメラやマイクからの映像・音声であったり、ネットワークからのデータ受信であったりします。
  処理とは、条件で集計したり、写真の色具合を直したり、メールを読み込んだり、様々です。
  出力とは、ディスプレイに表示したり、音を出したり、ネットワークにデータを送信したり、これも様々です。

 どんなプログラム言語で作るのか、なんてこともデザインの範囲かもしれません。
 この仕事をする人は多分ソフトウエアエンジニアの一番メインなところだと思います。PCをつかうことは使いますが、ワープロとかプレゼンテーション、表計算ソフトを使ってする仕事です。

・作る
 デザインを具体的なプログラムにします。プログラマですね。これをソフトウエアエンジニアと呼ぶかどうかは人によって意見が分かれるかもしれませんが、一番分かり易い仕事ではないでしょうか。まさに、一日中PCを使った仕事です。

・直す
 ソフトウエアを作って、これを世の中に売り出したり、お客さんに納めたりした後でも具合の悪いことが後から後からいっぱい出てきます。Windowsも毎月Updateがありますね。悪いところを見つけて直す。これも重要な役割です。

私の分類の仕方は一例と思ってください。それでもまだまだいろんな役割があります。
つきたい仕事のイメージと自分の好きになれる役割をどんどん具体的にしていってください。


[A.2]

初めまして、たけしと言います。
エンジン、作業機などの制御コントローラの開発をしています。

私の会社のソフトウェアエンジニアは2種類あります。
「仕様設計者」
「プログラマー」

「仕様設計者」はエンジン、作業機の電気部品が動くプログラムの仕様を考える人。
「プログラマー」はプログロムの仕様から、CPUに負荷のかからない、プログラムのコードを打ち込むことです。
ご参考になったでしょうか。


[A.1]

cazooさんこんにちは。

IT分野のカテゴリに同じ質問をすると多分・・多少違った回答が得られると思いますので、後で試してみて下さい。
ハードウェアに近い分野で「ソフトウェア設計」と言うと、GUI設計ではなくファームウェア設計がしっくりきます。ファームというのはデバイスまたはデバイスの集まりであるモジュールをローレベルコントロールをするソフトウェアのことですが、物によってはローレベルコントロールのみならずOSを載っけてGUIまでやらせる場合もあります。(携帯電話が好い例です。)

ファームはハードと密接に絡んでいますので(と言うよりハードと一体)純粋なアルゴリズム設計とは違います。
この分野ではPCはクロスコンパイラとして使用します。つまり、ソフトを書くのはPC上ですが、実際にはそのソフトはPC上ではなく組み込み対象のモジュール上で動く。ということです。
その意味では特にハイスペックのPCを使う必然性が無いので常に新しいPCを使いたいというのであれば・・ちょっと違うかもしれませんね。

あと、組み込み(ハード)の場合、設計ミスしたときのダメージ(リコール費、やり直し費用)がPC上で動くソフトウェアより大きく感じます。これは個人的な意見ですけどね。