プログラミング

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

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

 

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

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

 

最近注目されている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を理解してからの方がいいぞ   オブジェクト指向がよく分かってなくて、関数がなんとなく理解出来てたあたりで読み出して、理解を深めた一冊や。 古い本やけど、...

 

注目の記事

フリーランスの仕事の取り方教えます!この3つを押さえておけばOKです【企業も応用可】
フリーランス
フリーランス,独立,起業
フリーランスの仕事の取り方教えます!この3つを押さえておけばOKです【企業も応用可】

  仕事ってどうやってとればいいの?   独立したい、起業したいと考えている人の多くが、仕事はどうやってとればいいのかと悩んで足踏みしています。 実は、基本的な3つのポイントさえ知っていれば、継続して仕事を受注することは簡単です。 今回は自分が実際にやっていることを例に「フリーランスなら...

ポケモン預かりシステム編 ボックスの作成 PHPポケモン 86
プログラミング
PHP,PHPポケモン,ポケモン
ポケモン預かりシステム編 ボックスの作成 PHPポケモン 86

ポケモン預かりシステムの実装 今回は、前回ざっくりと仕様決めをした「ポケモン預かりシステム」を実装していきます。ボックス内では操作する項目が多いため、ボックス自体に1つの画面を用意して、できる限りPHPによる制御だけで完結できるように作成していきます。   ボックスクラスの作成 それではまず、今...

なぜ、お金を配るの?悪質メール・SNSを利用した詐欺的手法への対処法とは
ネットワーク
amazon,SNS,Twitter,お金配り,楽天,迷惑メール
なぜ、お金を配るの?悪質メール・SNSを利用した詐欺的手法への対処法とは

定期的に書きたくなるコラムのコーナー! 今回は、迷惑メールやSNSのDMを活用した悪質な勧誘、巷で流行っているお金配りを隠れ蓑のした巧妙な詐欺的手法などをいくつかご紹介、その対策・リクス回避の方法をまとめました。   まず結論からお伝えすると 「怪しいと思うなら手を出すな」 です。その詳細を知りたい...

YouTuber・ブロガー必見!知る人ぞ知るサムネイルの重要性とは
デザイン
Facebook,Instagram,Twitter,YouTuber,サムネイル,ブロガー
YouTuber・ブロガー必見!知る人ぞ知るサムネイルの重要性とは

  サムネイルって本当に重要? ブログの場合はフリー画像でもいいんじゃない?   そう考えている人はいませんか? 残念ですが、それは大きな間違いです。サムネイルを作り込むことは非常に重要であり、集客ポイントを拡大させるのはもちろん、ブランディングにもつながるのです。   今回は「知る人ぞ...

たった2日で200万円!フリーランスが簡単に仕事を受注できる方法とは
マーケティング
コロナ,フリーランス,ホームページ制作,助成金
たった2日で200万円!フリーランスが簡単に仕事を受注できる方法とは

  仕事の依頼が全然来ない・・・ 営業しても話を聞いてくれない・・・   その多くが営業力以上に、営業をすべきタイミングがわかっていない人がほとんどです。 実は助成金等を活用することで、行政書士などの職業以外でも仕事を受注することは可能になります。   今回は筆者が、たった2日で200万...

データ軽量化編 β版へ向けて  PHPポケモン 90
プログラミング
PHP,PHPポケモン,ポケモン
データ軽量化編 β版へ向けて PHPポケモン 90

β版の実装に向けて 大型アップデートにより、ある程度機能改善や実装箇所も増えてきましたが、それと同時に次の段階への移行が本格的に見えてきました。それがβ版です。   PHPポケモンは2020年12月現在α版となっており、完全な試作段階のWEBアプリケーションです。セーブ機能はなく、セッションの有効期...

自称デザイナーがおしゃれ名刺を作成してみた!2度見したくなる名刺とは?
デザイン
Adobe,Illustrator
自称デザイナーがおしゃれ名刺を作成してみた!2度見したくなる名刺とは?

  自称デザイナーらしく、オリジナルデザインの名刺を作成しました。 今回作った名刺はコチラです。   会社名や住所、名前の部分は仮で当てはめています。公開情報なのでそのままでも良いんですが一応です。   今回は「自称デザイナーがおしゃれ名刺を作成してみた!2度見したくなる名刺とは?」につい...

起業・独立を考えている人に向けた具体的なアドバイス3選
雑記
起業・独立を考えている人に向けた具体的なアドバイス3選

  「どのタイミングで起業すべき?」 「会社を作るためにはどういったことをすればいいの?」   あなたはこんな悩みを抱えていませんか? 今回は、これから独立・起業をしようと考えている方や、そういった野望をいだいている人に向けて、自らの経験を元に具体的なアドバイスを3つピックアップしてご紹...

カテゴリ

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 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 独立 神戸 福祉 秘密鍵 翻訳 自己啓発 英語 見積書 計算機 認証 読書 起業 迷惑メール 配列 銀の弾丸 集客 雑学力