見出し画像

プログラミング


みなさんソフトウェアができるまでにどういった作業があるのか理解していますか?

プログラミングだけをしてもソフトウェアはできません。何をするかというと最初に「どういうソフトウェアがお客様に求められているのか」ということを理解した後にそれを、プログラムのシステムの仕様に落とし込むこれを「設計」といいます。その後に「プログラミング」をします。その後にきちんとプログラミングが動くかどうか「チェック」しないといけないです。テストしたあとに世の中にだします。その後はお客様の声を聞いて「改善」を加えていきます。そしてこの流れをずっと繰り返していきます。だからプログラミングだけできてもソフトウェアは作れません

プログラミングスクールからプログラマーになる人は高い収入の仕事につきづらいです。インドの方に外注でプログラミングの市場価値は月2万円です。そしてプログラマーとして収入をあげるには学び続けるしかないです。それが「用語」と「仕組み」です。
プログラマーは10行に1回ググって調べています。では、ググるためには何が必要かというと用語と仕組みです。用語が分からなければどうググればいいかもわかりません。そして検索したとしても仕組みがわからないと何を書いているのか理解できないです。だから用語と仕組みをきちんと知ることが重要です。
例)料理で例えると、みなさんがシチューを作りたいとするとまずレシピを見ますよね。その後にその通りに調理します。最後に味見をして完成ですよね。そこであなたはまず「シチュー」という言葉の意味を知らなければなりません。その次に「切る」という言葉の意味を理解しなければなりません。「包丁」という言葉も知っていなければなりません。みなさんは用語を知っているから調理できるのです。後は「切る」「煮る」などの仕組みを知っていなければなりません。

こういう風にプログラミングも一緒です。用語仕組みを知ったうえでググります。これでようやくプログラマーとして仕事ができます。

○どんな人達がどんなことをしてプログラムを世の中に出しているのか

デザイナー、フロントエンドエンジニア、バックエンドエンジニア、テスター、プログラマー、プロジェクトマネージャー、プロダクトマネージャーこれらの職種でどのような流れで仕事が流れているのか紹介していきます。紹介していくなかでみなさんが世の中にプログラムを出す時に必要なことを学んでいきましょう。

1.デザイナー
デザイナーはソフトウェアの見た目の制作をしています。あとはヒアリング&改善です。まず見た目をつくってお客様に対してすぐに価値の検証ができます。よく使うツールはfigmaAdobe XDです。

2.フロントエンドエンジニア
フロントエンドエンジニアはデザイナーが作ったものを実用化します。よく使っているのがHTML、CSS、Java Scriptです。

3.バックエンドエンジニア
バックエンドエンジニアはログインなどのユーザーの情報を管理します。よく使うのはJava、Python、C#、Go、Kotlin、など様々です。
この知識は絶対必要です。

4.インフラエンジニア
インフラエンジニアは作ったプログラムを管理します。
例)Amazonで大セールでアクセスが集中した時にもしインフラエンジニアがいないとアクセスがいっぱいで人が入りきれなくてパンクしてしまいます。

こういう風にインフラエンジニアは人が多くなるといっぱい入れるようにして少ないと小さくします。だからインフラエンジニアはユーザーが快適に利用できる土台作りをしています。よく使うのはAWS(Amazon Web service)、GCP(Google cloud Platform)があります。

5.テスター
テスターはエンジニアが作ったプログラミングをテストします。エンジニアが兼務することも多いです。

6.プログラマー
基本的にはフロントエンドエンジニアとバックエンドエンジニアが兼務することが多いです。大きいプロジェクトになるとエンジニアは設計のみでプログラマーはコーディングのみになります。

7.プロジェクトマネージャー
プロジェクトマネージャーはプロジェクトのチェックと管理を行います。進歩・クレーム・品質などです。

8.プロダクトマネージャー
プロダクトのマネージメントをします。お客様から課題と改善点のヒアリングをして全部整理して仕様に落として改善します。

○仕事の流れ
 
市場調査→サンプルデザイン→ユーザーテスト→コスト/品質/進歩などを管理→お客様にリリースして→改善を加えていく

まとめ
プログラミングだけできてもダメです。役割を理解して行動しなければなりません。キャリアパスの流れとしては、だいたいテスターから入ってプログラマーからフロント/バックエンドエンジニア→プロジェクトマネージャー→プロダクトマネージャーというながれです。

○インターネットの仕組み
 
インターネットの概要把握で仕組みと用語が分かればあとはググればわかります。
自分が欲しい情報に答えてくれるその手続きをプロトコルと言います。HTTPプロトコル、HTTP通信など言われます。そのやり取りする言語がHTMLと言います。自分が欲しい情報に答えてくれたものを修飾するのがCSSです。CSSで修飾してくれたものにさらに動きを加えたりするのがJava Scriptです。自分が欲しい情報に答えてくれた場所を示すものをURLといいます。URLというのはユーザーが分かりやすいように設計されています。
例)Googleだとユーザーが分かりやすいようにgoogle.co.jpとなっています。機械は何で判別しているのかというと、数字のIPアドレスで判別しています。IPアドレスをわざわざURLにしてくれているのです。
IPアドレスとURL(ドメイン)の紐付けの管理場所はDNSサーバーというところです。DNSサーバーがみなさんに見やすいようにURLにしてくれています。そしてみなさんが作ったプログラムを世の中の人が利用するにはどこかのサーバーにおかないといけないです。これをサーバーにホスティングするといいます。ホスティングする場所を提供するサービスはherokuなどがあります。

まとめ 今回の用語はHTTP通信、HTML、 
    CSS、Java Script、URL、IPアドレ 
    ス、ドメイン、DNSサーバー、ホステ 
    ィング、ブラウザです。

HTML、CSS、Java Script勉強はドットイン 
 ストール
でできます。
CSSで押さえておく用語はFloats,Positioning,Dispiay,Box Model,CSS Grid,Flex Box,BEMです。
Java Scriptで押さえておく用語はHoisting,EventBubbling,Scope,Prototype,Shadow DOM,strict,Ajax/XHRです。





この記事が気に入ったらサポートをしてみませんか?