プログラミング

プログラミングとは?現役システムエンジニアが教える裏事情

システムエンジニア プログラマー
プログラミングとは?現役システムエンジニアが教える裏事情

 

プログラミングってよくわからない?

実際に何をやっているの?

 

最近注目されているSE(システムエンジニア)やPG(プログラマー)という職業ですが、「そもそもプログラミングとは?」といった疑問を抱えている方も多いですね。

今回は、そういった方へ向けて「プログラミングの基礎知識と裏事情」についてを現役のシステムエンジニアが、わかりやすくご紹介します。

 

 

なんのためのプログラミング

 

そもそも、プログラミングは何のためにするのでしょうか?

私たちのようにエンジニアであれば、「そんなの決まってるじゃん・・・」と思うかも知れませんが、今までそういったことに縁がない人からすれば、何をどうすればどういったことができるのか、検討がつかないものです。

 

プログラムという言葉は、IT関係意外でも幅広く使われています。例えば、小学校の運動会や文化祭へ行くと、プログラムを配られますね。実はこれと役割自体は同じで、その対象が人間ではなく機械だということです。そして、プログラミングはそのプログラム(指示書)を作るための行為そのものを指していると考えてもらえば良いでしょう。

 

 

機械に対する指示書

 

では、どうやって機械にプログラミングで指示を出せばよいのでしょうか?

これは、プログラミング言語によっても違いますし、機械の種類によっても異なります。ここも人間世界に置き換えると、すんなりと理解できるでしょう。

 

日本語の学習をしたことのない、生まれも育ちもフランスで、両親もその両親もフランス生まれフランス育ちの人に対して、日本語で指示を出すのは難しいですね。おそらく指示を出すためには英語かフランス語を選択することになりますよね。

環境やその相手によって指示の出し方は異なるように、プログラムも言語やその対象によって異なります

 

また、指示書を作ったは良いものの、それをそのまま自分の机の上に置いていれば、その指示に従う人はいませんね。見てもらうためには手渡しをしたり、メールで送ったり、決められた場所へ置く必要があります。

プログラミングをしても同じで、コードを書いたからといって、いきなり機械は動いてくれません。その機械が読める場所に置いてあげることで、初めて成立するのです。

 

 

単純なことを機械頼み

 

では、実際にどういったことができるのでしょうか?

基本的には「なんでもできる」と言われています。もちろん、物理法則を無視したようなことなど実現不可能なものはありますが、人ができる作業のほとんどを機械化することは可能なのです。

 

最近の企業であれば、単純な作業やデータの管理はシステム化しています。ここにももちろんプログラミングが用いられています。

新しい社員さんが入ってきて、履歴書をファイルへ入れたりする業務がありますね。少数精鋭の会社であればそこまで負担では無いかも知れませんが、100人、1000人と増えていけば、紙ベースの場合だと管理することだけで精一杯になります。

それを、パソコンでデータ入力をして保存ができれば、検索するのも簡単ですし、在籍年数を自動で計算してくれたり、その人の出勤状況なども連携させれば、わざわざ給与計算をせずとも月末になれば給料計算を自動でさせることも可能です。

 

このとき、機械からすれば作られたプログラムを元に作業をしているだけに過ぎません

 

  • 名前が入力されたら保存をする
  • 退勤入力がされたら、その日の出勤時間の差を勤務時間とする
  • 月末になったら、その人の勤務時間と基本給を使って計算をする

 

簡単に言えば、こういった指示をプログラミングしておくことで、機械は忠実に守ってやってくれるのです。

しかし、機械は臨機応変に対応することができませんので、指示がなければ動いてくれません

例えば、基本給が1円で設定されていた場合人であれば「おかしい」と感じて正しい基本給を確認してから給与計算をするはずです。ですが、機械は基本給が1円ということに対しては「おかしい」と判断してくれません。そう判断してもらうためには、「基本給が〇〇円以下の場合はおかしい」という指示をしておかなければならないのです。

 

それらを踏まえると、本当に機械頼みで良いのかと議論されることもありますが、指示さえ的確に与えられていれば、人間が1日でやるような作業も数秒で終わらせてくれることもあります。

単純作業であればあるほど機械へ与える指示書は簡潔になるので、機械からすれば得意分野です。プログラミングができれば、あなたに機械という部下ができ、あなたが知識をつければ付けるほど、その部下は優秀になるということです。

 

 

英語や数学は必要か

 

プログラミングというと、多くの人が「英語は必要?」「数学は必要?」という問いを投げかけてきます。真っ黒の画面に英語や数字を打ち込んでいる姿を見れば、そう思うのは無理ありませんね。

もちろん知識があれば役立ちますが、必要だと言うレベルではありません

 

 

税関で止められました

 

私はシステムエンジニアという職業ですので、ほぼ毎日のようにプログラミングをしています。ですが、英語は全くと言っていいほど喋れませんし、英語の本を読んでも9割何が書いているのか理解できません

私は初めて海外へ行った時に、入国審査で問われる質問(英語)の意味がわからなすぎて15〜30分ぐらい税関で止められたぐらいの英語力です。ですが、そのときも私はバリバリのプログラマーをしていました。

 

プログラミングでは確かに英語を使います。ですが、使う単語のほとんどが生活で使わないものであり、そこまで数が多いわけでもありません。

なので、drink(ドリンク)やworld(ワールド)といったような単純な英単語を覚えるぐらいの要領で、やっていれば身につきます。そして言語と大きく違うところは、会話としては使わないので、わからなければ調べながらで事足りるのです。

 

ですが、英語ができればかなりのアドバンテージになります

なぜなら、世の中には他の人が書いたプログラムがネット上に数多く公開されており、それを見て参考にしたり、勉強することがほとんどです。日本語の説明がついたものより、英語で書かれた情報の方が何倍も多く、プログラミング言語は国に関係ないので、それらを参考にする際に英語が読めるのと読めないのでは大きな差があるのです。

 

 

体育科出身です

 

では、数学についても考えてみましょう。

確かに、プログラミングで計算を用いるケースは多くありますが、そのほとんどが四則演算ができれば十分対応可能なレベルです。中には、複雑な数式を用いて組まれるものもありますが、その割合は多くありませんし、そういった計算が必要になったタイミングで覚えれば十分です。

私は普通高校に通わず、体育科という専門の高校に通っていました。そのため、数学Ⅰと数学Aは学びましたが、高校2年生になれば数学の授業はなくなり、そこから全く数式と縁の無い生活をしてきました。

もちろん、それまでの数学に関しても、決して点数が良かったことはありませんし、数学Ⅰと数学Aでどういった内容があるのかどころか、中学でやった数学の内容すらほとんど覚えていません。

ですが、数式を使ったプログラムも書けますし、複雑なものであってもそのタイミングで覚えれば十分に使いこなすことができます。

 

プログラミングでは論理的思考が求められるので、数学が得意であればきっとプラスになりますが、「文系だから」「数学は苦手」ということはほとんどハンデになりません

 

 

知られていない意外なコト

 

仕事でプログラミングをやっている」と言えば、多くの人が「毎日黒い画面に向かってコードを打ち込んでる」といったようなイメージを抱いてくれます。

ですが実際は、書類を作ったり、打ち合わせをしたり、開発する環境を準備したり、地味な作業の割合がほとんどだったりします。

今回は、その中でも意外と割合の多い書類作業について触れてみましょう。

 

 

書類作りをやってます

 

プログラムを組むといっても、いきなり黒い画面に向かって英数字を打ち込んでいくわけではありません

どういったプログラムにするのか、そのためには何が必要か画面はどんなものにするのか必要な機能は何かどういった組み方をすれば良いかなど、仕様を決めたりプログラムや画面の設計書や定義書を作ったりする作業が、プログラミングを始める前の大部分となります。

中には、そういった書類作業は別の人がやって、出来上がった仕様書通りにプログラミングをするだけのポジションを与えられた人もいます。よくプログラマーと呼ばれている人がそれに該当します。ですが、少数精鋭でやる場合には書類作業も各自で担っているケースは多く、そこそこの時間を要しています。

 

また、プログラムを組み終わったら、それが正常に稼働しているかをテストしたり、使い方の書類を作成したりしなければなりません。

規模によっても異なりますが、プログラミングの時間以外にもそういった作業が多く存在しているのです。

 

 

アップデートが欠かせません

 

プログラマー、システムエンジニアは技術職ですが、手に職つけたからと言って一生安泰とはいかない世界です。

なぜなら、日々言語は新しくなり、フレームワークやライブラリなど開発を便利にサポートしてくれるようなものもどんどん登場することで、新しいユーザーは自分たちよりも新しい技術を備えて乗り込んでくるからです。

 

ですが、過去学んだことが無駄になるようなことはほとんどありません。ベースとなる知識があれば、新しいものを導入するのに時間や費用といったコストが掛からなかったり、新しいものを使う上でも過去の知識が必要だったりすることがほとんどだからです。

ですが流行がある以上、常にアップデートしながら新しいものを取り入れなければ置いていかれてしまうため、日々仕事と隣合わせとなって勉強がついてまわります。

 

プログラミングができれば便利な半面、それを仕事にする場合は常に勉強するという前向きな姿勢が求められるのです。

 

 

まとめ

 

いかがだったでしょうか。

今回は「プログラミングとは?基礎知識と裏事情」についてご紹介しました。

もしプログラミングというものが分かり、興味を持ってくれた方は、ぜひ学習を初めてみてはいかがでしょうか?

そういった方は、短期間で稼げるシステムエンジニアになる方法についてもまとめていますので、一度目を通してみてください。

 

1ヶ月で未経験から『稼げるシステムエンジニア』になるための3つの手段 1ヶ月で未経験から『稼げるシステムエンジニア』になるための3つの手段

  将来のために手に職をつけたい   終身雇用が危ぶまれている今、システムエンジニアやプログラマーというIT技術職の需要は年々高くなってきました。ですが、思うようになれないということも事実です。   今回は、これからIT関係の仕事に転職を考えている人や、将来エンジニアとして独立・起業を志している人...

 

IT社会となった現代では、プログラミングスクールや書籍、独学など色んな方法でスキルを習得して、多くの方が活躍しています。

将来プログラミングをする仕事についてみたい、趣味や副業でプログラミングを勉強したいという方は、ぜひ参考にしてみてくださいね。

 

パーフェクトPHP パーフェクトPHP

ワイがPHPを勉強した一冊や! というより、書籍はこれしか読んでないで! ちなみに、最初からこれに挑むとほぼ100%挫折するので、ある程度PHPを理解してからの方がいいぞ   オブジェクト指向がよく分かってなくて、関数がなんとなく理解出来てたあたりで読み出して、理解を深めた一冊や。 古い本やけど、...

 

注目の記事

【変数とは】初心者が最短でPHPを使えるようになるための実践的な学び方
プログラミング
HTML,PHP,プログラミング学習
【変数とは】初心者が最短でPHPを使えるようになるための実践的な学び方

  ※PHP初心者へ向けた内容となりますので、ある程度HTMLの知識がある方を対象とした内容になります。予めご了承ください。    Webプログラミングを学ぶ方はHTML、そしてCSSを学び、そしてJavascriptやPHPという順に学んでいくひとが多いでしょう。 私も実際に、似たような手順で学んでいきました。   ...

ビジネス系次世代ブログ!?無料で企画書が読める「机上の空論」とは
ビジネスモデル
ビジネス系次世代ブログ!?無料で企画書が読める「机上の空論」とは

  この記事は、私の考えたビジネスモデルを紹介するコーナーです。考えるだけで辞めたものや、コストやリスクを考えて断念したもの、そこまでニーズがないと判断したものなど様々なので、読んだ方は自分なりの見解や根拠を踏まえて判断したり、各自ビジネスの参考資料としてご活用ください。   このブ...

PHPポケモン「2進化ポケモン実装編」8
プログラミング
PHP,PHPポケモン,プログラミング学習,ポケモン
PHPポケモン「2進化ポケモン実装編」8

  記念すべき?第8回目で遂にタイトル変更です。 (旧)ピカチュウから学ぶオブジェクト指向 (新) PHPポケモン   機能増設によりオブジェクト指向云々より、PHP学習がメインになったので泣く泣く変更です。(今の所)順調に続いているのも、多くの方?が見てくれているおかげです。感謝感激雨ア...

独立してから心がけていること【社会人時代と比較して】
フリーランス
フリーランス,独立
独立してから心がけていること【社会人時代と比較して】

  今回は自分が独立してから心がけていることの中から、ある程度上手くいっていることや、オススメできるようなことを簡単に感想付きでまとめてみました。 社会人時代と比較しながらの内容なので、これからフリーランスで生きていこうと思っている人や、社会人という生活にストレスを感じている人は是非参考に...

具体的にフリーランスで生きていくには -独立してからの働き方を徹底解説-
フリーランス
フリーランス,独立
具体的にフリーランスで生きていくには -独立してからの働き方を徹底解説-

  安定した仕事に就きたい。。。   多くの人がそう思っていた時代はどんどんと変化して、今やフリーランスでいることの方が安定しているのではないかと言えるような時代です。 そう、もはや会社員でいる人の大半が安定ではなくなってきているのです。 フリーランスでいる人も、根本的に安定という...

SEOで強いURLとは?安易に決めると危険だった!「よく分かるSEO対策」パーマリンク編
SEO対策
WordPress,ブログ
SEOで強いURLとは?安易に決めると危険だった!「よく分かるSEO対策」パーマリンク編

  パーマリンクの設定ってSEO対策に関係あるの?   意外と気になっているポイントではないでしょうか。実は、URLとSEO対策には全くの無関係ではなく、安易に決めてしまうとせっかく積み上げた資産的価値を台無しにしてしまうかも知れない危険なポイントでもあるのです。   今回は、ブログの収益化を目指...

PHPポケモン「バトルシステム編〜状態異常2〜」31
プログラミング
PHP,PHPポケモン,ポケモン
PHPポケモン「バトルシステム編〜状態異常2〜」31

  前回に引き続き、状態異常チェックを実装します。 まず、前回実装した「ねむり」の処理についてですが、やはりターン数をセットして経過ターン数を引いていくという処理の方が解除率もゲーム再現になるので、まず修正をしておきます。サーセン。   チェック格納トレイト(/Traits/Battle/CheckTrait.php) ...

プログラミングでフリーランスを目指す人にPHP学習をオススメする3つの理由
プログラミング
Laravel,PHP,SEO,WordPress
プログラミングでフリーランスを目指す人にPHP学習をオススメする3つの理由

  「フリーランスになるためにプログラミングを身に着けたい」 「セカンドキャリアで技術を習得したい」 「副業でパソコン1台で稼げるものに挑戦したい」   終身雇用が危ぶまれている現在、スキルを身に着けて転職やフリーランスとして活躍したいと考える人が増え、プログラミングの需要は年々高まってきて...

カテゴリ

SEO対策 イベント デザイン ネットワーク ビジネスモデル フリーランス プログラミング マーケティング ライティング 動画編集 雑記

タグ

5G Adobe AfterEffects AI ajax amazon Animate api artisan atom Automator AWS Bluetooth CSS CVR description EC-CUBE4 ECショップ ESLint Facebook feedly foreach fortify function Google Google AdSense Honeycode htaccess HTML IEEE 802.11ax Illustrator Instagram IoT JavaScript jetstream jQuery jQuery UI keyword LAN Laravel Linux MacBook MAMP meta MLM MySQL NoCode note OS OSI参照モデル Paypal Photoshop PHP phpMyAdmin PHPポケモン PremierePro rss SEO SEO対策 Sequel Pro Skype SNS SSH Symfony TCP/IP title Toastr Trait Twig Twitter UCC V系 WAN WebSub Wi-Fi wiki Windows WordPress XAMPP xml Xserver YouTube YouTuber Zoom アーティスト アウトプット アクセス層 アニメーション アフィリエイト イーブイ インターネット インプット エンジニア オブジェクト指向 お金配り クリック単価 クリック数 コミュニケーション能力 コロナ コンサルティング サムネイル システムエンジニア スタートアップ スタイルシート スパム データベース ディープフェイク デザイナー デザイン テレワーク ナンパ ニュース ネットワークモデル ノマドワーク バナー ピカチュウ ビジネス フィード フリーランス ブロガー ブログ プログラマー プログラミング プログラミング学習 プログラミング教育 プロトコル ホームページ制作 ポケモン マークアップ マーケティング メール リモートワーク レンダリング 三井住友 三宮 仕事依頼 児童デイ 児童デイサービス 児童発達支援 公開鍵 初心者 助成金 勉強法 営業 広告 広告収入 必勝マニュアル 放課後等デイサービス 朝活 楽天 深層学習 無線LAN 独立 神戸 福祉 秘密鍵 翻訳 自己啓発 英語 見積書 計算機 認証 読書 起業 迷惑メール 配列 銀の弾丸 集客 雑学力