wikimm @ ウィキ
プログラミングの道
最終更新:
wikimm
-
view
1日目: Linuxのインストール(Linuxの中でもUbuntuっていうのがおすすめ)
とりあえずLinuxを自分のパソコンにインストールする。Linuxを触れるようになればいい。
PCがない場合は、中古のPCなんて3万ぐらいで買えるからそれ買ってきてインストールする。ヘボくていい。コードは書ける。あとで知識ついてきたり会社入って同僚に聞くなりして高いの買えばいい。インストールのしかたはググれ。
なんでLinuxとかいうよくわからんものを使うのかっていうと、ネットの世界はLinuxが大半だから。みんな知ってて共通認識だから。嘘じゃないよ。
Mac?Windows?ダメです。Linuxインストールするべし。パソコン買うの嫌ならデュアルブートすればいい。やり方はググれば無限に出てくる。詰まってもなんとか解決できる。1日もある。
それでLinuxのターミナル上でcdとかmvとか基本的なコマンドを覚える。CLI/CUIとか言われてる。基本的なコマンドはググればおk。
「Macはダメですか?」っていうのは「MacはUNIXだよ」っていうのだけ理解できてれば別にいいけど、Linuxとは全然違う。そのへん自己解決できる自信がすごくあるなら別にいいんじゃないの
2日目/3日目: VimとPythonを使う。Pythonチュートリアルの本買ってきて読む(2000円弱)
2日目/3日目: VimとPythonを使う。Pythonチュートリアルの本買ってきて読む(2000円弱)
Vimの使い方を覚える。これは2時間ぐらいあれば慣れるはず。ネットで「Vim 使い方」でググればおk。Linuxのインストールがスムーズに進んでればここは1日目になる。
3日目で終わらせる。途中で意味がわからなくて詰まっても、わからないところはメモしてとにかく進むべし。終わらせることを優先。Pythonは書きやすいので比較的簡単
Vimが嫌でもやる。IDEとかいうのでやるのはまだ早い。Vim使ってりゃLinuxのコマンドも同時に覚えるのでオススメだし、Vim系は一生つきまとうので今のうちに消化すべし
「たったこれだけの間違いなのに動かないのか……」を死ぬほど体験して「コンピュータとはそういうもの」という思考になるべし
挫折する必要はない。初めてチャリ乗ったときと同じでコケまくってるだけなので必要以上にメンタルを気にしないこと。挫折するな
4日目: HTML/CSSをやる
4日目: HTML/CSSをやる
MDNっていうところで、HTML/CSSのガイドを一通りやる。わからない用語はバカスカ出てくるけどググればわかるようになる。
わかんなくてもメモしてどんどん次。MDNが気に入らなければ他にもいっぱいサイトがあるのでそれやればいい。
これもつらくてもVimで書くべし。
5日目/6日目: JavaScriptの勉強をする
5日目/6日目: JavaScriptの勉強をする
これもMDNってところのチュートリアルをやればいい。終わったらここ(https://jsprimer.net/)タダ。
たぶんどこかで間違いなく詰まるだろうけど、最悪「このボタンをクリックするとこっちのspanタグをCSSで色を変えられた」ぐらいまでできると「イイネ!よくぞそこまで自力でたどりつけた……!」って言いたくなる。わかんなくても頑張って進めばよし。
だいたい雰囲気はわかってきたと思うのでテキストエディタはVimじゃなくてもいい。好きなのを使ってください
7日目/8日目: HTML/CSS/JavaScriptを組み合わせて、ブラウザで動くアプリをつくる
7日目/8日目: HTML/CSS/JavaScriptを組み合わせて、ブラウザで動くアプリをつくる
電卓アプリケーションやTODOアプリをつくる。作るのはなんでもいいけど自分を過大評価してすごそうなものを作ろうとすると一生終わらない。難しければそのへんに転がってる人のコードを参考にする。
つくったらGitHubに上げておく。デザインとか見た目は別にクソでいい。ゴミみたいなものでいいから、とにかく動くものをつくるべし。ある程度バグっててもいい。ある程度動かせるものをつくってしっかり終わらせる、これが大事。一生これなので。スクールでいうとたぶん3ヶ月目・4ヶ月目ぐらいの内容。
9日目: 就活開始
9日目: 就活開始
既にそのへんの会社には余裕で潜り込めるので、とっとと入って業務経験をつける。履歴書はGoogle Docsで書く。別に他のが使いたかったら他のでもいいけど、よくわかんなかったらGoogle Docsでいい。紙はPDFで送れないし面倒だしITスキルを示せないのでNG。「紙じゃないから」で落とすところはクソなので気にしなくていい。
未経験だと研修もあるので、よくわからなかったところをそこで補完する。とにかくひたすら応募しまくる。たとえブラックでも、1年ぐらいでやめる想定でガンガン応募する。落ちても気にしない。ぶっちゃけどこでもいい。
手に入れるべきなのは「業務経験1年」という称号。給料はそれまでの自分の経験とかに左右されると思う。実地訓練がいちばん為になるし合う合わないもすぐに見極められる
10日目/11日目: ITパスポート系の本とか「○○の絵本」とか、初心者向けの本を大量に買って読み込み、ITの基礎知識を身につける
10日目/11日目: ITパスポート系の本とか「○○の絵本」とか、初心者向けの本を大量に買って読み込み、ITの基礎知識を身につける
とにかく体系的な知識がないはずなので、知識を身につけまくる。背伸びして難しい本を買っても意味がない。
ITパスポートは取れるなら取っておいた方がいい。業界未経験で「ITパスポート持ってる」は頑張った人の証。その後の転職には使えないけど最初はつかえる。たぶん
12日目/13日目: LPIC Lv1の本を買ってやっておく
12日目/13日目: LPIC Lv1の本を買ってやっておく
試験は別に受けなくていい。Linuxをある程度使えるようになればそれでおk。
14日目: ネットワーク系の本を買って1冊読んでおく
14日目: ネットワーク系の本を買って1冊読んでおく
とにかく平易なものを選ぶ。たいてい、いちばん平易なものも平易ではない。最低限TCP/IPとかサブネットマスクとかが理解できてればおk。
よくわかんなくても業務のときにワードが聞こえてきて「あ、それ、○○の本で見たやつだ!!!!」ってなるのでとにかく読む。
15日目: ソフトウェア開発の流れを知る(ネットでも本でもなんでもおk)
15日目: ソフトウェア開発の流れを知る(ネットでも本でもなんでもおk)
ウォーターフォール開発とかいうのを知っておく。アジャイルとかあるけどまだ早い。気にしなくていい。基本は「要件」「仕様」「実装」「テスト」が大事。死ぬほど大事。毎日呪文のように唱えていろいろなことにあてはめて考えるべし。
16日目/17日目: データベースを学ぶ
16日目/17日目: データベースを学ぶ
MySQLっていうデータベースがあるからそれをやる。よくわかんなくても最低限のSQLだけは書けるようにしておく。別に他のをやってもいいけどRDBMSならほぼすべて同じだからMySQLでいいんじゃないのって思う。
どうせ新人には誰も期待してないので、完璧にせずある程度書ければいい。「『正規形』って概念があるんだな〜」って思えるぐらいでも上出来
18日目/19日目: Webフレームワークを勉強する
18日目/19日目: Webフレームワークを勉強する
PythonならDjango。ただ、早ければこのへんで就活終了してるはず。就活のときに「なんの言語でどういう作り方をしているか」「自分は何を勉強すればいいか」を聞いているはずなので、そちらを重点的におこなう。HTTPの基本がわかってればWebフレームワークなんて雰囲気でわかる。ガンガンやっていきましょう
20日目/21日目/22日目: JavaとかTypeScriptとか、いわゆる型のある言語を学ぶ
20日目/21日目/22日目: JavaとかTypeScriptとか、いわゆる型のある言語を学ぶ
好きに本を買ってやったらええ。C++とかはたぶん難しいだろうからそういうのにいきなり挑戦しなくてもいいと思う。Javaぐらい書けてみせろ
23日目以降〜: 強化
23日目以降〜: 強化
どうせ会社に入ったらいろいろ道が変わるので、それをみて「自分はここが足りなそうだな〜」と思うところを見つけてやればおk。
このへんで雑魚エンジニアを超えてる。でも中堅エンジニアから見るとまだまだスーパーザコクラスなのでイキらないこと。謙虚にガンガン進んでいきましょう。上に書いたことは全部初歩であり基礎であり重要。他にも重要なことはあるけど、いったんスクールレベルはこれで超えるはず。最初の会社は踏み台でしかないので、さっさと踏んで次の会社に行って年収上げるのがオススメ。