コンピュータ・関連のお仕事②
日々進化するITやAIの技術─。新たな技術がコンピュータやネットワークのシステムに取り込まれ、私たちの豊かな社会を支えています。その一つひとつのコンピュータに命を吹き込み、システムを動かしている陰の立役者がプログラマ。多彩なプログラミング言語を駆使してつくったプログラムは、流通システムや金融システムといった基幹系システムのほか、テレビやスマートフォン、SNSやゲームなどのアプリケーション、家電製品など、身のまわりのあらゆる場所で活用されています。
めざせる学科
プログラムとは、私たちがコンピュータを使って何かを実現したいという意志にほかなりません。スマホや家電製品、自動車の中にあるコンピュータも、プログラムという人間の意志に沿って動いています。「こういう場合にはこう動く」というプログラムの指示をもとにセンサーやインターネットから入ってくる情報を処理して、であれば最適なルートや安全なスピード、家電製品であれば最適な室内温度などを選んでいます。
社会のIoT化が進み、私たちの日常生活にはコンピュータがあふれています。その一つひとつに、便利さや快適さを実現したいという人の意志がプログラムとして組み込まれているのです。
プログラムを書く作業を、プログラミングといいます。プログラマとは、文字通りプログラミングを行う人のこと。コンピュータを動かす「プログラミング言語」を用いて、さまざまなシステムやソフトウェアを作る役割を担っています。
プログラミング言語にはさまざまな種類があり、「Webサイトを作りたい」「企業の基幹系システムを開発したい」など、目的によって選ぶべき言語は異なります。AIを作るのに向いているのはPython(パイソン)、Webブラウザ上で動くものを作るならJavaScriptなど、それぞれの言語の得意分野を知っておくと、効率の良い開発が可能になります。
■プログラミングが実行されるまで
プログラミング
プログラマーがプログラム(コンピュータへの作業指示書)を書く作業。
プログラムの完成
プログラミング言語(Python、JavaScript など)で書かれている。
プログラムの実行
コンピュータがプログラムを実行。
プログラマは、システムエンジニアが作った設計書に基づいて、システムが作動するようにプログラミングを行います。システムの開発は、要件定義、設計、プログラミング、テスト、運用・保守など、いくつかの段階に分かれており、プログラマは主にプログラミングとテストの一部を担います。
単体テスト・・・モジュール単位で機能の動作をチェックします。
結合テスト・・・複数のモジュールを組み合わせて問題がないかをチェックします。
システムテスト・・・すべてのプログラムとハードウェアを合わせてシステム全体をチェックします。
運用テスト・・・ユーザーが行う、本番稼動直前の最終テストです。
システムの開発手法で主流になっているのが、ウォーターフォール型と呼ばれる手法です。これは、前記の図のように「工程を1つずつ順番に終わらせていくやり方」で、ウォーターフォール(滝)という名前が示すように、上流工程(要件定義〜設計)から下流工程(構築〜リリース)へと、後戻りせずに開発を進めていく手法です。
ユーザーから要望をヒアリングしてどんなシステムにするかを決定し、それに基づいて仕様書を作成するのがSEの役割です。プログラマの仕事は、その仕様書をもとに、システムが稼動するようにプログラミングを行うこと。バグ(不具合)を見つけることもプログラマの重要な仕事です。
上流工程は基本的にSEが担い、プログラマは直接関与しません。ただし、プロジェクトによってはプログラマがシステム設計をサポートする場合もあります。また、仕様書の通りにプログラムを組んでもうまく作動しない場合には、SEとプログラマが連携して仕様の修正に当たります
プログラマになるためには、プログラマとしての基本的な知識とスキルを身につけることが大切です。実務経験の有無は関係なく、特別な資格も必要ありませんが、プログラマに関連する資格はいくつかあり、それらを取得すれば必要な知識やスキルが効率よく身につきます。独学や通信教育、大学などで知識を習得することもできますが、未経験からプログラマをめざすなら、専門学校で学ぶのがおすすめです。
プログラマにとって、プログラミングのスキルは必須です。プログラミング言語にはいくつもの種類があり、作るシステムやプロジェクトなどによって使用する言語は異なります。さまざまな言語を習得し、状況によって言語を使い分けることができれば、活躍の場がよりいっそう広がります。
システム開発の現場はチームで動くことが多いため、コミュニケーションスキルは欠かせません。パソコンに向かって一人で仕事をするイメージが強いプログラマですが、実際は他のメンバーと連携しながらプロジェクトを進めていきます。プロジェクトリーダーからの指示を適切に理解したり、自分の考えをきちんと伝えるためにもコミュニケーションスキルは重要です。
論理的思考力とは「論理に基づいて物事を考えられる力」を指し、ロジカルシンキングともいいます。プログラミングは、物事を順序立てて考え、プログラムを一つずつ構築していく作業です。コンピュータに的確な指示を出すには、どのようにプログラムを書けばよいか─。複雑に見えるものを正しく解釈し、ポイントをわかりやすく整理する力は、プログラミングを行う上で大いに役立ちます。
入門レベルのIT基礎知識を証明できる国家資格です。経済産業省が認定する「情報処理技術者試験」の一つであり、入門者向けの資格として位置づけられています。ビジネス社会に必須のIT基礎知識が問われるため、さまざまな企業で社員のスキルアップなどに導入されており、プログラミング教育を受けている学生たちも大勢受験しています。
「情報処理技術者試験」の中で、もっともスタンダードな資格です。ITエンジニアとしての基本知識を認定する資格であり、企業の注目度も高く、取得すれば就職活動などで大きなアピール材料になります。日本工学院ITカレッジでもこの資格を重視しており、資格取得を徹底サポートしています。
OCJ-P(Oracle Certified Java Programmer)は、オラクル社が認定する世界共通の民間資格です。Webの世界で広く使われているプログラミング言語「java」を使ったプログラミング能力を評価します。この資格を取得すると、業界標準に準拠した高度なスキルを証明できます。
専門学校の授業には専門的なカリキュラムが組まれているので、プログラマのスキルを短期間で効率良く学習できます。2年制学科なら、最短2年でプログラマとして働けるので、なるべく早く仕事で活躍したいという人は専門学校への進学がおすすめです。日本工学院なら、2年制学科から4年制学科や併設する大学への編入が可能なので、入学後に希望する進路が変わっても安心です。
大学が教養や研究重視の場であるのに対し、専門学校は実践重視です。特に日本工学院では、プロジェクト学習や企業でのインターンシップなどの体験型学習が多く、授業全体に占める実習の割合は大学のほぼ倍です(4年制学科の場合)。授業内容もIT企業にヒアリングして常にアップデートしているので、卒業後すぐに即戦力として活躍できます。
専門学校には同じ目標を持つ人たちが集い、目標に向かって一緒に学習します。仲間がいることで、勉強のモチベーションを保つこともできるでしょう。クラス担任制を採用している日本工学院では、クラスの仲間たちと共に学び、切磋琢磨しながら、一人ひとりが知識と技術を高めています。チームでシステムを開発する実習も盛んに行われているため、プログラマに必要なコミュニケーションスキルも身につきます。
独学や通信教育でプログラミングスキルを習得したとしても、就職はまた別の話です。IT業界に就職するなら、長年にわたって業界と信頼関係を築いている専門学校の方が、就職できる確率は格段に高まります。その点、日本工学院ITカレッジには、57年間にわたって業界に優秀な人材を送り出してきた実績と、信頼関係に基づく揺るぎないネットワークがあります。各学科の先生とキャリアサポートセンター(就職サポートの専門機関)がダブルで一人ひとりの就職を支えますので、安心して就職活動に取り組むことができます。
プログラマをめざすなら、日本工学院ITカレッジで学んでみませんか。日本工学院ITカレッジでは、プログラマになるために最適な学習環境を整え、希望者一人ひとりをプロのプログラマに育てています。
特長1
プログラマをめざすためには、プログラミング言語を学ぶことが必要です。プログラミング言語には、さまざまな種類があり、業務システム、Webサービス、アプリ開発など、何を作るかによって使う言語が変わります。
例えば、ITスペシャリスト科(4年制)の1年次などで学ぶPython(パイソン)は、AIからアプリまで幅広い開発用途に使えるため近年注目されている言語です。入学して間もなく、もっとも旬の言語を使ってプログラムの世界に踏み出せることは、IT業界をめざす人にとって大きなメリットです。
情報処理科でも、1年次にPythonを学んだ後、一人ひとりが将来の進路を考慮に入れながら、C言語やJavaなど自分の希望するプログラミング言語を自由に選択して学んでいきます。こうしたステップ式のカリキュラムにより、将来開発の現場で必要なプログミング言語を効率よく学ぶことができるのです。
Python
機械学習のプログラムに使われることから、AIの開発言語として注目されているオブジェクト指向の言語。シンプルで可読性が高い。InstagramやYouTubeといったSNSサービスでも利用されている。
実績
Instagram – SNSサービス
YouTube – 動画投稿サービス
Java
大規模な業務システム開発からモバイルアプリまで、さまざまな開発に使用されている汎用性の高いオブジェクト指向の言語。ECサイトなどWEBサービスからスマホアプリまで広く使われている。
実績
X(旧Twitter) -SNSサービス
EVERNOTE – Webサービス
C
歴史が古い汎用的な言語。現在は、家電や機械の中に組み込まれたコンピューターを制御する「組込み系」のプログラムで使われることが多い。優れた高速性で、処理速度が求められるところに利用されている。
Type Script
Microsoftが開発したプログラミング言語で、Java Scriptとの互換性がある。2017年からGoogle社内の標準言語に採用された。WEBサイトやWEBサービスなど用途はさまざま。
Java Script
Web開発で使われることの多い言語。授業ではType Scriptで作ってJava Scriptに変換している。
PHP
HTMLに埋め込むことができるWeb開発に適した言語。Web開発の授業では、HTML、CSS、Java Script、その後PHPという流れで学んでいく。
Swift
アップル社のiOSアプリを開発するためのプログラミング言語。シンプルで使いやすく、高速という特徴がある。
特長2
昨今、プログラム言語だけでなく、ライブラリを使いこなすことが重要になっています。プログラムはさまざまなことができますが、そのためには、1から記述する必要があります。それでは効率が悪いので、多くの人がよく使う機能はあらかめプログラムし、ひとつのファイルにまとめた「ライブラリ」を使用します。例えば、PythonにはWEB開発で使うためのライブラリもあり、システム開発の現場では、こうしたライブラリの使用が当たり前になっています。日本工学院では授業でライブラリを活用し、現場で通用する実践的なスキルを磨いています。
特長3
PythonやJavaなどは、半年から1年ほどで言語の基本を身につけることができます。でも、言語の仕様を覚えたからといって、すぐにプログラムを作れるわけではありません。なんとかプログラムが書けたとしても、品質の高いもの、コストの低いもの、移植性の高いものなど、プロとして製品と呼べるものが作れるようになるまでは、さらに技術を磨き、経験を重ねることが必要になります。
よく「在学中に、どの言語を勉強すれば大丈夫ですか」と先生に質問する学生がいますが、何を作るかによってプログラミング言語が変わるので、その時々で対応していく能力を磨く必要があります。日本工学院ITカレッジのカリキュラムは、そうした能力を高めるためのトレーニングを意識しています。極端なことを言えば、入学時に主流だったプログラミング言語が、卒業時には主流でなくなっている可能性もあります。そうした事態にも対処できる力を身につけることが大切なのです。
特長4
プログラミングは、一人でモニターに向かって作業する孤独な仕事というイメージを持っている人が多いかもしれません。しかし、プログラミングをはじめとするIT業界の仕事は、グループやプロジェクトチームで行われるため、コミュニケーション能力を必要とします。一人でプログラムを組める優れたスキルがあっても、それだけではプロとして働けません。システム開発の現場では、グループワークが中心になるからです。
ITスペシャリスト科(4年制)の3年次および4年次に行われる「開発演習」では、4〜5人でチームを組み、グループワークの中で自分の役割を認識した動き方を理解し、コミュニケーション能力の向上をはかっています。3年次の夏には、インターンシップへの参加を推奨し、会社や仕事への理解を深めることで就職のミスマッチを防いでいます。
特長5
2020年から小学校でプログラミング教育が必修化されました。近い将来には、誰でも当たり前にプログラムを書ける時代がやってくるでしょう。IT業界でプロとして活躍するプログラマになるためには、その先が求められます。ただ動くだけでなく、クオリティの高いプログラムの作り方を教えることが、日本工学院ITカレッジのプログラミング教育の意義であり、存在価値にほかなりません。
これからはエンジニアも、コンピュータにインプットするデータを集める作業中心のタイプと、AIではカバーしきれない発想で新たに何かを創り出すタイプに2極化していくでしょう。もちろん、日本工学院ITカレッジが育成するのは後者であり、想像力を持ちアイデアを形にできるエンジニアです。
特長6
日本工学院では、クラス担任制を採用しており、学生の入学から卒業までを1 人の専任教員が担当を務め、学習・就職・学生生活などあらゆる面で親身なサポートを行っています。担任教員と学生がじっくり向き合う中で信頼関係を築き、精神面でも支えとなっていきます。特に就職に関しては、学生一人ひとりの資質や希望に合わせた面倒見の良い指導で、IT業界への就職をサポートしています。
卒業後も交流が続く仲間を得られることも日本工学院ならではのメリットです。就職先で同級生やOBと一緒に働くケースもあり、業界内に広がる人脈は心強い味方になってくれるでしょう。
諸岡 瑞香 先生
担当科目:システム設計、プログラミング基礎、
プログラミング実習
【プロフィール】
約15年間にわたり、プログラマ、システムエンジニア、プロジェクトリーダーとして、電子部品メーカーやシステム開発会社などで活躍。その間、金融、映画、教育、流通など、さまざまな業界のシステムを手がける。その後、「ITエンジニアをめざす若い人の力になりたくて」教育の道へ転身。本校教員として多くの教え子をIT業界に送り出している。
プログラマをめざすみなさんへ
プログラミングは、白いキャンバスに一から絵を描く作業に似ていると私は思っています。何もないところから何かを創り上げる喜びを、私自身何度も味わってきました。バグ(不具合)を見つけて修正することもプログラマの重要な仕事なのですが、プログラムにはバグはあって当たり前ですし、むしろバグがないとおもしろくないぐらい(笑)。バグを見つけては直す、また見つけては直す、を何度もくり返すからこそ、完成したときの達成感はことばにできないほど深いのです。
プログラマはシステム開発の中核を担う役割なので、いろいろな業界のさまざまなシステムの開発に携わります。その過程で、いろいろな業界に対する幅広い知識が身につくんですね。かつ、多種多様な業界の人たち(ユーザー)に対して、それぞれが抱える問題を解決してあげることができます。それ自体、とてもうれしいことですが、自分自身の知見が広がることで、人間的にも大きく成長できます。
もしプログラマの仕事に興味が湧いたら、ぜひ一度、体験入学+オープンキャンパスにお越しください。プログラミングがどんなものかが実感できると思います。コンピュータの世界は、すべてのデータを2進数*で表すため、最初は数字が多くて戸惑うかもしれませんが、プログラミングの基礎を理解すると、プログラミングが一段とおもしろくなります。
体験入学に来て、日本工学院で学びたいと思った人は、「プログラミングが好き」という気持ちだけ持って入学してきてください。私たちが一からしっかり教え、あなたを一流のプログラマに育てます。