質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.49%

  • プログラミング言語

    691questions

    プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

  • アーキテクチャ

    83questions

    アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

  • COBOL

    21questions

    COBOL(COmmon Business Oriented Langage)は、実務処理用に開発されたプログラミング言語です。

かつてCOBOLで業務従事していたPGの業界復帰について

受付中

回答 3

投稿

  • 評価
  • クリップ 1
  • VIEW 2,244

Yoshi.O._8192

score 15

かつてCOBOLで業務従事していたPGで、長いブランクがあります。
ソフトウエア業界に復帰したく考えますが、
現在、業界で求められるスキルや、採用に優位な資格はどういったものになりますでしょうか?

言語については書店等でも技術書がありますが、その手の物では、到底、業界での即戦力になりうる技術書になっていないと思われ、その手の基礎技術に、更に必要とされる技術・知識等について、各種分野の情報・助言をお聞きしたいのですが、回答頂けたら幸いです。

システムや、パッケージ開発に限らず、クリエイティブ分野にも興味があります。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+4

COBOLでプログラムを行っていたとの事ですが、現在COBOLを書けるエンジニアが不足しているため、COBOLで案件を探してみては如何でしょうか?

それともオープン系(JavaやPHP、Ruby)などと言った言語を新しく習得したのでしょうか?
その場合、COBOLとの概念のギャップに最初戸惑うかと思います。
私の周りでも、COBOL→Javaなどオープン系の言語に変更したエンジニアがおしますが、真っ先にWEBの概念でつまずくのではないかと思います。

採用に役立つ資格としては、
サーバ系であれば、Cisscoの資格やLIPCなど・・・
プログラム系であれば、PHP、Java、Rubyに関する資格などの・・・
データベース系でれあれば、Oracelno資格

があります。
国家資格もありますが、実務優先というよりも知識優先な気がするのでベンダー資格が良いかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/07/05 14:47

    早速のご回答、ありがとう御座います。

    当方、地方都市に住んでおり、ソフトハウスもいくつかあるのですが、COBOLが主だった事、長年のブランク、がネックとなり、新たに言語等、習得しようと考えておりますが、JAVA、C#、C++等の独習書を読むにつけ、基礎的なプログラミングの習得だけで業務対応できる様に感じられず、当時の原始系言語とは比較にならないほど現状のSDKとでも言うのでしょうか、ライブラリ等、どこまでカヴァーして、実践向けになれるのかを考えると、膨大過ぎて、現場の助言戴きたく投稿しました。…都道府県庁所在の都市圏にまで出られるとCOBOL-PGの募集もあるのですが、移転難しく、COBOL85前の機種依存傾向のあるCOBOL-PGでしたので、フリーも難しく感じます。

    CisscoにOracelno系、難関だと思いますが、取り掛かってみます。
    シングルユーザー・シングルタスク時代のCは少し経験があります。PHP、Java、Ruby、こと、Javaは必須でしょうから、勉強してみます。

    COBOL-PGからすると、通信概念より、ファイルのアロケーション概念・アクセスがどうなっているのかが、理解しづらいです。

    御助言、ありがとう御座います。

    キャンセル

  • 2015/07/05 15:59 編集

    なるほど、ですが考え方を変えると開発に関しての基礎知識・概念はあるとの理解で問題ないでしょうか?
    開発している言語は変わっても、開発の手法に関してはそれほど変化していない気がします。

    私がCOBOLを触った時に思ったのですが、COBOLはウォータフローモデルの開発方式、PHPやJavaなどはスパイラルモデル方式やプロトタイプモデル方式を採用している開発が大半です。

    その為、開発理念さえ押さえておけば言語問わず上流行程を行う事は可能かと思います。
    もちろん、COBOLとは異なりWEB言語特有の基礎的な知識を身につける必要があると思います。
    今も現存するのですが基幹系言語やクラサバを利用する社内通信モジュールなどは基本的にCOBOLの開発方式に近いと言えるかもしれません。

    また、こちらはWEB関連とはかけ離れるのですが、人工知能(AI)などは基本的にCOBOLに近い言語方式だったと思います。
    その為、WEB系の選択するより、機械系・組み込み系も視野に入れてみては如何でしょうか?

    キャンセル

  • 2015/07/05 17:43

    更なる御助言、大変感謝しております。

    下流工程から上流工程へステップアップの最中、身内の健康事情で離職する事となりましたが、補佐的な位置でクライアントとのミーティングに参加、聞き取り内容からの資料整理・作成、シンプルな改造案件にて部分的ではありますが、あらかじめSEが用意されていた線に沿っての要件・機能・構成定義の検証と提案、導入ハードのクライアント向け環境構築等させて頂く機会を何度か頂けました。開発に関する基礎知識・概念はあるとの理解して戴いて大丈夫かと思います。

    年齢がばれてしまいますが、Windows以前(3.1や、OS2が脚光を浴びていた頃、インターネットが浸透する前)の大型汎用でのシステム開発での経験ゆえ、マルチユーザー・マルチタスク、HTTP等、WEB応答プロセス、主流のWindows環境での開発の在り方、JavaVM、データの格納方式(オラクル・アクセス等のDB、CSV、NTFS、と言ったところなのでしょうか?)、原始言語では全て定義する開発環境であったため、オブジェクト化・標準化されている現在の環境での開発経験が無く、下流工程に対する現行知識が欠如していると思われます。

    COBOLという意味では、ウオーターフロー的ではありましたが、システムの改変・追加案件での業務が大半で、提案・変更要望の多いクライアント様が多く、その意味ではスパイラルモデル、改変後の最低機能を定義付けるためのプロトタイプモデル的開発であったとも言えるかもしれません。

    システム開発の概念的な事は仰られる通り、基本に変わりは無いと思いますが、現在のシステム開発に当たり、現在では常識となっている手法・ツール・I/F…等の知識不足を感じます。

    指摘されるWEB言語特有の基礎知識も欠如していると思われます。(COBOLでも、通信に当たっての定番プロセスはあったので、意外と指摘されるWEB言語特有の基礎になじめるかもしれませんが)

    IT分野も歴史が形成されている中、プロセスの定番化や、クライアント様の既存システムの設定変更や、サードパーティソフトの利用、WEBにある情報に基づいてIT分野に強いクライアント様のスタッフでカスタマイズでニーズによるセルフ改変も容易に出来そうな昨今、代表的パッケージソフトを持たないソフトハウスの役割が想像し難く、どのようなIT上の分野を習得すべきか、迷います。

    基幹系や、クラサバ通信モジュール等がCOBOLの開発方式に近いと言えるかもしれないの事。大変参考になります!。

    AIともなると、IT知識に輪をかけ、どういう分野で使われるAIかに因る知識が更に必要となりますが、様々なケース想定をして、エラー回避をしてきた経験が活かせるかもしれません。

    「機械系・組み込み系を視野に入れてみては?」との助言は、マテハンやFA制御をCOBOLでやってた業務経験があるにも関わらず、自分では辿り着けなかった発想かも知れません。言語はC系統、javaになるのでしょうけれど、検討してみます。

    更なる御助言戴き、大変ありがとう御座います!。

    キャンセル

+2

かつてCOBOLで業務従事していたPGで、長いブランクがあります。 
ソフトウエア業界に復帰したく考えますが、 
現在、業界で求められるスキルや、採用に優位な資格はどういったものになりますでしょうか? 

COBOLです。
以下、理由をご説明します。

最初に恐縮ですが、私自身はCOBOLでの開発経験がありません。
ですから以下は、業界での伝聞であることを、先にお断りしておきます。


昔、プログラムを教わった先生から「COBOLは喰える」
といった意味のことを聞いたことが今でも記憶に残っています。

また、知り合いのCOBOLプログラマが、
「並のサラリーマンより稼いでいる」と、
語っていたことも印象に残ってます。

まあ、私が彼の給与を直接確認したわけではないですし、
条件(金融系の正社員なら高いなど)によって違いますが。


なぜCOBOLなのかというと、今でも需要があるからです。
書かれたプログラムが多くて、書ける人は少ないからです。

じっさいに過去の実務に携われておられたご質問者様には釈迦に説法ですが、
基幹業務のシステム開発に、COBOLはよく使われていますね。今もメジャーでしょう。
何十年も使われ続けているので、今でも大量のコードが蓄積されています。

そのいっぽう、書ける人は年々少なくなっています。若者のCOBOL離れが進んでいます。
ネットでの情報が少ないこともあり、若者はレガシーな言語よりモダンな言語に惹かれます。
メインフレーム(大型汎用機)の実機に触れる機会が少ないことも大きいでしょう。

また、職業プログラマでCOBOLを書く人は多いですが、アマチュアで書く人は少ないです。
これがCやJavaやPHPだと、アマチュアでも人気でしょう。
つまり、COBOLはアマチュアとプロの落差が大きい言語で、だから需要が多く喰えるわけです。

とくに古い時代のCOBOLは、秘伝のタレ化していて、若い人がスラスラ読めません。
(作成された年が)その人より年上のコードだったりします。

だから、メンテナンスの需要がかなりありますし、新規開発もまだあるようです。

COBOL自体の変化が少ないので、学習資産が活きるのもメリットです。
ただ、COBOLの規格も少しずつ進歩してます。
今はオブジェクト指向やネットワークにも対応しています。


ただ、他言語をひとつ学ばれるのは良いかもしれません。
とくにJavaがもっともおすすめです。

なぜなら、COBOLを書ける人が少なくなっていくし、
今のうちに書き替えておこう、という流れが出てきました。

そして、Javaも基幹業務でよく使われる言語なので、
COBOLからの移行案件はJavaが多いようです。

全面移行でなく、バッチ処理はCOBOLのほうが適しているので、
フロントの処理だけJavaで、バックはCOBOLとかもよくあるようです。

だから、COBOLのほかに覚えるならJavaが良いと思います。
COBOLからJavaへの翻訳者は少ないので貴重です。

PHPやRubyなどのLL系言語を私は使っていますが、
経験上からも習得しやすいと思いますし、個人的な好みで言えば好きです。
ですが、基幹業務にはまったく向きません。

また、LLはスラスラ書ける若い人がゴロゴロいるので、
COBOLほどの希少価値はありません。

それに言語をたくさん覚えるより、
とくに基幹業務であれば、業務知識や
メインフレームを扱えることのほうが重要でしょう。

時代に合わせて修正する必要はあるかもしれませんが、
これも学習資産が活きると思います。

もちろん、そもそもCOBOLをやるかどうか、基幹業務をやるかどうか、
という選択はありますが、以上は私から見たCOBOLプログラマ像を述べました。


COBOL技術者のためのJava言語入門 - Fujitsu Japan
http://www.fujitsu.com/jp/solutions/infrastructure/dynamic-infrastructure/sdas/technology/java-cobol/

最後に、Javaのご学習のために、富士通のサイトのリンクを貼っておきます。
やはりCOBOL技術者にとってJavaは、学ぶ需要があるのでしょう。
少しでもお役に立てれば幸いです。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

転職で重視されるのは能力です。
あなたが従事したい分野の能力を身につけることが大切でしょう。

雇ってもらってから、会社に教えてもらおう・育ててもらおうなどという学生気分なら、採用の可能性は低くなります。

システムや、パッケージ開発、クリエイティブ分野、何でもいいのですが、その分野のプロダクトを1つか2つ、もしくはそれ以上実際に作ること。これぐらいのものなら作れますよという、最低限の能力のアピールのためなので、必ずしも納品するためのものである必要は無く、自分の好きなものを作ればいいです。

その出来がよければいいほど、またその会社で扱っている技術に近ければ近いほど採用の可能性は高まります。また、すべての分野で優れている必要は無く、例えばUI実装能力が優れている必要は無く「UIは苦手ですけど、中身はちゃんと作れます」などと説明すれば、苦手分野があっても大きなマイナスにはならないでしょう。

そういう方向に力を入れたほうがいいと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/07/05 16:09

    早速の回答、ありがとう御座います。

    「従事したい分野の能力」…当時はソフトハウスにてCOBOLでマテハンやFA制御、業務データ管理や帳票出力等、分野を問わないシステム開発に従事していた為、「分野別」という発想に至れてなかった様です。

    当時、コンピューターシステムの導入もハードが高額で、ソフトウェアもソフトハウスに発注して構築するスタイルが定番で、現在の様なローコスト・ハイスペックのハード、全国規模の有線・無線通信環境、ソフトハウスにカスタマイズ発注しなくても業務利用出来るサードパーティーソフトの充実環境がある中、特定の代表的なパッケージソフトを持たない現在のソフトハウスがどのようなシステム開発を行っているのか、想像し難いです。現在のソフトハウスではシステムやパッケージ開発のみならず、静的ホームページや動的ホームページ、SEO等、旧来のソフトハウスとは業務内容も多岐である事は想像出来ますが、ブランクを埋めるにはあまりに膨大なジャンルにITが関わり、たじろいでおりました。分野を絞って再検討してみたいと思います。(※多岐に渡り、対応出来た方が良いに越した事は言わずもがなですが。)

    また、当時の開発工程と、現在の開発工程、作業分担の在り方に違いを感じます。それだけ、多岐に渡ったIT分野でソフト開発にあたるには分野を絞り情報収集・習得しない事には、よほど有能でないと難しいのだと思いますが。

    「すべての分野で優れている必要は無く、」と言う助言は、目から鱗でした。

    御回答、ありがとう御座います!。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • プログラミング言語

    691questions

    プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

  • アーキテクチャ

    83questions

    アーキテクチャとは、情報システム(ハードウェア、OS、アプリケーション、ネットワーク等)の設計方法、設計思想、設計思想に基づいて構築されたシステム構造をアーキテクチャと呼びます

  • COBOL

    21questions

    COBOL(COmmon Business Oriented Langage)は、実務処理用に開発されたプログラミング言語です。