昨日までのはこちら
100日後にエンジニアになるキミ - 95日目 - 開発環境 - Docker について
100日後にエンジニアになるキミ - 94日目 - 開発環境 - 仮想化について
100日後にエンジニアになるキミ - 91日目 - 運用 - 監視について
100日後にエンジニアになるキミ - 90日目 - 開発 - CIについて
100日後にエンジニアになるキミ - 88日目 - データ - データ転送について
100日後にエンジニアになるキミ - 86日目 - データベース - Hadoopについて
100日後にエンジニアになるキミ - 76日目 - プログラミング - 機械学習について
100日後にエンジニアになるキミ - 70日目 - プログラミング - スクレイピングについて
100日後にエンジニアになるキミ - 66日目 - プログラミング - 自然言語処理について
100日後にエンジニアになるキミ - 63日目 - プログラミング - 確率について1
100日後にエンジニアになるキミ - 59日目 - プログラミング - アルゴリズムについて
100日後にエンジニアになるキミ - 53日目 - Git - Gitについて
100日後にエンジニアになるキミ - 42日目 - クラウド - クラウドサービスについて
100日後にエンジニアになるキミ - 36日目 - データベース - データベースについて
100日後にエンジニアになるキミ - 24日目 - Python - Python言語の基礎1
100日後にエンジニアになるキミ - 18日目 - Javascript - JavaScriptの基礎1
100日後にエンジニアになるキミ - 14日目 - CSS - CSSの基礎1
100日後にエンジニアになるキミ - 6日目 - HTML - HTMLの基礎1
本日はこれまでのまとめです。
1日目:目標設定
まずエンジニアになりたいと思うかどうかですね。
なりたければそれなりにお勉強しないと難しいです。
エンジニアもいろんな職種があります。
フロントエンドエンジニア
サーバーサイドエンジニア
ゲーム開発エンジニア
組み込み系エンジニア
インフラエンジニア
セールスエンジニア
etc
職種によって求められるスキルセットがちょっとずつ変わってくるので
何をやりたいかを決めるのが一番最初に考えることだろうと思います。
ざっくり、エンジニアになりたいであれ、それぞれの職種で最低限求められることを
全て押さえておく必要はあるだろうと思います。
とりあえずプログラミング
が出来れば、サーバーサイドで働くことは
可能だと思います。
目標がうまく定まっていない人はプログラミング
だけでも
始めると良いんじゃなかろうかと。
2-5日目:環境構築
プログラミングとかをやるにしても
まずはじめは開発環境構築からやらないとダメですよね。
PCを買ってセットアップしましょう。
自分のやりたい言語が定まっているなら
その言語用の開発環境などをインストールしましょう。
特に言語の選択ができていない人は
Python
言語がオススメです。
Anaconda
をインストールしておきましょう。
またコーディング
をするには
テキストエディターもあると良いです。
好みのテキストエディターもインストールしておきましょう。
6-9日目:HTMLについて
いきなりプログラミング
をする前に
準備運動としてコーディング
をしてみましょう。
これであなたの適性が分かります。
HTMLを勉強してコーディング
に慣れてみましょう。
ここでコーディング
にすらつまずく様であれば
あなたはエンジニアには向いていません。
エンジニアになることを諦めることをお勧めします。
コーディングはエンジニアリングのどの分野にも出て来ます。
・サーバーの設定ファイルを書く
・コマンドを考える、実行する
・シェルを書く
・プログラムを書く
etc
コーディングすら出来なければエンジニアの仕事はなりたちません。
HTML
でコーディングに慣れて、特に問題なければ
次はCSS
にチャレンジしてみましょう。
10-13日目:インフラやサーバー、コマンドについて
プログラミングの前に、システムで稼働しているプログラムは
PCで稼働している訳ではありません。
サーバーと呼ばれるマシンの上でプログラムが動いているので
そういったインフラ側の仕組みがどうなっているのかを
知っておくのも良いかと思います。
プログラミングだけではエンジニアとして仕事をするのは難しいので
エンジニアリングの仕事の一部を知っておくことも
今後の選択肢を考える上ではすごく役立つハズです。
サーバーの仕組みやコマンドなどを試してみましょう。
14-17日目:CSSについて
CSS
はHTML
より少し難しくなります。
コードを書く量も増え、書き方も正しく書かなければならない部分が増えます。
HTMLとCSSを覚えるだけでも、ウェブデザイナーの仕事の一片にはなります。
普段彼らがどんな仕事をしているかは、ここで想像がつくんじゃないでしょうか。
18-23日目:Javascriptについて
CSS
まで出来るならJavascript
に入りましょう。
一番先に覚える言語としてPython
を選択するなら
ここを後回しにして飛ばしても大丈夫です。
Javascript
を覚えるとフロントエンドの開発をすることができる様になります。
加えてサーバーサイドでも用いられている言語ではあるので
そちらも対応できる様になります。
昨今のWEBの仕組みではJavascript
が使われていないものは
珍しいと思いますので、押さえておいて損はありません。
24-35日目:Pythonについて
言語としてはJavascript
を先にやるか、こっちを先にやるかで迷うかもしれません。
おそらくPython
の方が簡単だろうと思います。
Python
言語はWEB開発
以外にも機械学習
やAI開発
の分野でよく用いられる言語です。
特に機械学習の分野では、専用のライブラリ群が充実しすぎており
他の言語を選ぶことが難しくなっています。
比較的文法も簡単な言語であるため、一番最初に学ぶ言語としては
適している言語だと思います。
学ぶ量は多いですが、ここでプログラミングを覚えてみましょう。
36-41日目:データベースとSQLについて
昨今のシステムでは必ずといって良いほどデータベース
を利用します。
そのデータベース
を操作するための言語であるSQL
も押さえておく必要があります。
データベース
自体は好みのデータベースを
インストールしましょう。
SQL
は標準的な機能であればデータベース
による違いはほとんどありません。
ここでデータベース
の仕組みとSQL
を覚えておきましょう。
42-42日目:クラウドサービスについて
始めの方でサーバーやインフラの仕組みについてやっていますが
最近の開発では、自前でサーバーを買わずに、クラウドサービスを利用して
サーバーなどのインフラを構築することが増えて来ています。
そのため、クラウドサービスの仕組みなどを押さえておく必要があります。
クラウドサービスの名前や、役割などを覚えておきましょう。
44-52日目:プログラミングに関係する話
ここで取り扱っているトピックはプログラミングや
システム開発でよく出てくる事柄についてをやっています。
取り扱っているトピックは
ログ
ロギング
OS
クーロン
ネットワーク
通信
テスト
コーディング規約
正規表現
データ
ファイル形式
フレームワーク
学習サービス
こんなトピックについて触れています。
知らない部分はぜひ押さえておきましょう。
53-58日目:Gitについて
Git
は今では開発には欠かせないツールとなっています。
Git
でソースコードを管理し、開発を円滑に進めることができます。
仕組みや、コマンドなどを押さえておき
大規模な開発に参加しても困らない様な知識を身につけておきましょう。
59-65日目:アルゴリズムやデータ構造について
プログラミングができる様になったら、それをもう少し掘り下げていきましょう。
プログラムではアルゴリズム
やデータ構造
がとても重要になって来ます。
効率的なプログラムを書くために必要な手法や考え方を学んでおきましょう。
アルゴリズム
を学ぶコツとして暗号があります。
暗号はアルゴリズム
で出来ているものなので、暗号を学ぶことで
アルゴリズム
というものが理解出来るんじゃないかと思います。
確率
などもプログラミングではよく出てくる考え方なので
合わせて押さえておきましょう。
66-68日目:自然言語処理について
プログラミングの中でも自然言語処理
という分野があります。
日本語を取り扱うことはシステム開発の現場では欠かすことのできない事項ですので
どんなことをしているのか、ざっくりでも良いので知っておくことが必要かと思います。
70-75日目:スクレイピングについて
スクレイピング
はWEBサイトからデータを取得するための技術です。
これを押さえておくと、データを集めるのが非常に楽になります。
通信の仕組みや、HTMLの解析の技術も身につくので
押さえておいて損のない技術体系です。
ぜひ覚えておきましょう。
76-85日目:機械学習について
ここからは長い機械学習についてのお話です。
機械学習自体は、学んでも学びきれないくらいの量があり
全てを完全に把握することは困難だと思います。
まずはざっくりと学んで、その道に進みたければ
再度詳細まで学ぶ方向に進めば良いと思います。
今や機械学習を使っていないサービスも少なくなって来たので
一般的な知識は押さえておいた方が良いかと思います。
この機械に勉強しておきましょう。
86-89日目:Hadoopやデータ周りについて
昨今ではサービス内で使用されるデータ量が1台のマシンで賄うことの出来る量を
はるかに超えています。
そのため大量データを取り扱う技術については押さえておいた方が良いかと思います。
Hadoop
というものが何故利用されているのかということや
そのデータを分析の現場で活かすために、どうしているのかを
押さえていく必要があります。
ETL
というデータ周りの仕組みも勉強しておきましょう。
90-93日目:運用や監視について
システム開発ではビルド
や監視
など
プログラムを書くこと以外の仕組みづくりも大事です。
運用や保守という仕事についてや、開発の見積もり方についても触れています。
コーディングをしない職種につこうと思っている方は
ここら辺の技術体系や仕組みを覚えておくと良いでしょう。
94-99日目:仮想化やDockerについて
開発環境の構築作業は労働時間を圧迫していきます。
効率のより開発手法としてコンテナ
を用いた開発が増えて来ました。
ここら辺の知識を押さえておく必要があるかと思います。
コンテナ
技術の代表格であるDocker
の仕組みを押さえておきましょう。
まとめ
以上が100でエンジニアになる方法としてのまとめです。
結構覚えることいっぱいありましたねーー
これが必要最小限ですね。
これだけ覚えてようやくスタートラインですが
ここまでちゃんとやっていれば、あなたは
エンジニアになれる知識が身についているハズです!!!
明日からはエンジニアと名乗っても
問題ない!!!
エンジニアの仕事してなくてもねwww。
作者の情報
乙pyのHP:
http://www.otupy.net/
Youtube:
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter:
https://twitter.com/otupython