久しぶりに昔のことを振り返ろうと思う。
以前、俺の人生について以下の記事にて振り返ってきたが、今回は中卒の俺が、家族(妻・子二人)に飯を食わせることができるレベルのITエンジニアになるまでにやってきた勉強法を紹介していく。
コンテンツ
俺の人生バックナンバー
- 熊本で過ごした平凡な15年
- 囲碁との出会い
- 大阪での囲碁修行
- 中卒男のはじめての就職
- 転職に向けて
- 転職活動を始める
- Web制作会社での2年間
- 2度目の転職 ブラック企業からホワイト企業へ
- 新会社の立ち上げから2年で年商1億円達成
プログラミングに興味を持ったきっかけ
こちらの記事にもあるとおり、はじめての就職先は囲碁のプロ団体だった。
といっても自分はプロ棋士ではなく、裏方の職員で主に棋士のマネジメント業務をおこなっていた。
外注先に作ってもらった、オリジナルのデスクトップアプリケーション(Go Management System)を使ってデータの管理をおこなっていたのだが、たまにシステムに不具合が起きると開発元の社員が来てくれ、都度修正をおこなってくれていた。
この時はじめてプログラマーに接することになったのだが、エディタを開いてわけのわからないコードを見ながらカタカタとタイピングしているのが何となくカッコ良く見えた。
これが俺がはじめてプログラミングに興味を持ったきっかけだ。
VBAでの簡単なプログラミングをやってみた
先ほど紹介したデスクトップアプリケーションと合わせて、Excelも業務で多用した。
ある日、Excelに処理の自動化をおこなうマクロという機能があることを知り早速使ってみた。
しかし、単純なマクロ機能ではできることに限界があり、さらに深く調べていくとVBAを使ってプログラミングができることを知った。
すぐに書籍を購入し、自宅のPCでVBAプログラミングの勉強を始めたのが22歳の頃だった。
C言語、Javaを学ぶが挫折する
VBAはExcelに馴染みがあった分とっつきやすく、数冊の書籍を読み終える頃には簡単なExcelアプリケーションを作れるようになっていた。
VBAでひととおりのことが出来るようになると、今度は自分の作ったプログラムを誰かに使ってもらいたいという気持ちが芽生え、デスクトップアプリケーションの開発に興味を持った。
この時、どの言語を学べば良いか分からなかったため、特に何も考えず唯一聞いたことのあったC言語を学ぶことにした。
購入した書籍がこちらの「猫でもわかる」シリーズ。
しかしVBAの時とは違い、まず開発環境の構築から難しく、途中ポインタの概念がよく理解できず、途中で挫折することとなった。
次に、C++、Javaと挑戦したが、VBAとは格段にレベルが違い、いずれも挫折することになった。
JavaServletを学ぶ中でHTMLに出会う
Javaの勉強から派生し、一時期JavaServletを学んでいた。
JavaServletはあまりメジャーではない技術だが、Webアプリケーションのバックエンドを担うところで、PHPと同じ位置にある。
勉強していると、途中HTMLやCSSのコードを書く場面があったのだが、全く知識がなかったため一旦HTML/CSSの勉強に集中することにした。
HTML/CSSは、これまで悪戦苦闘しながらCやJavaなどを学んできた俺にとってあまりにも簡単で、すぐに簡単なホームページを作れるスキルは身に付いた。
実践で試してみる
ホームページを作れるようになった俺は、まず知人にお願いして整骨院のホームページを作らせてもらうことにした。
報酬なんかいただけるレベルではなかったので無償で依頼を受けたが、この時確か、納品後にステーキを御馳走してもらった記憶がある。
※この時作ったサイトは、数年後にリニューアルしたため無くなっているが、リニューアル案件は報酬をいただくことができた。
リニューアルした整骨院サイト
https://omatsuseikotsuin.com/
さらに、職場(囲碁団体)のサイトも古くなっており、正式な管理担当者もいなかったため、サイトのリニューアルを提案し専属のWeb担当となった。
書籍を利用した勉強も大事だが、実践に勝るものはない。
このリニューアル案件で、HTML/CSSの基礎をより固めることができた。
さらに凝ったWebサイトを作りたくなる
Web担当となった俺は、サイトの保守・運用を任せられたが、色々とやりたい企画などが浮かんでくる。
それらを実現するため、今度はPHPの勉強を始めることにした。
元々、CやJavaなどを学んだ経験があったため、これらに比べればPHPも圧倒的に取っつきやすかった。
何よりコンパイルの必要がなく、自分の書いたコードをすぐに試すことができるのが良い。
覚えたPHPを使って、棋士の人気投票のような動的ページを作ったり、ユーザーの多数決で次の一手を決めるようなプログラムを作ったりもした。
また、jQueryを使ってWebページにアニメーションを付けてみたりと、覚えたスキルを実務でどんどん試していった。
今思えば、これだけ自由に好きなことをやらせてくれた環境は他にない。
当時の職場には感謝している。
Web制作会社へ転職し本格的な勉強が始まる
Webサイトを作ることがとにかく楽しかった俺は、26歳の時にWeb制作会社へ転職する。
多少の経験はあったつもりだが、入社すると周りはプロばかりで自分のスキルの無さに自信を失った。
と同時に、一刻も早く彼らに追いつこう、追い越そうと本格的に勉強を始めることにした。
これまでは競争相手も周りにおらず、一番やっていた時期でせいぜい一日2時間くらいの勉強時間だっただろうか。
転職してからは、趣味で続けていた格闘技も一切やめ、全ての時間をWebの勉強に投資することにした。
出社は午前10時。
出社前に行きつけのカフェでノートPCを開き、PhotoShopを使ったバナー作成の練習。
出社してからは午後11時ごろまで、一日中PCと向き合いコーディング。
帰宅して寝るのは、毎日深夜0時を過ぎていた。
時には明け方まで残業をする日もあった。
結局この会社では丸2年間働いたのだが、この間以下のスキルを身に付けることができた。
- HTML/CSS(SASS)
- JavaScript
- PHP
- WordPress
- MovableType
- MySQL
- Git
- EJS
- Linux
- PhotoShop
- リスティング広告
本業のかたわら、自分一人で勉強していても所詮井の中の蛙で、制作の現場にでたらほとんど役立たずだ。
プロとしてお金を取れるスキルを身に付けるならば、必ず一度は制作会社での激務を経験しておくことをおすすめする。
再び転職しECサイトの構築経験を積む
28歳の時に転職した会社では、自社ECサイトを一から構築し、管理・運用していく経験を積ませてもらった。
VPSの契約からサーバー構築。
EC-CUBEのカスタマイズによるECサイト構築。
また、独自機能の開発など、前職で培ったスキルでフロントエンドからバックエンド、広告運用まで幅広い業務をおこなった。
転職後は、Pythonを使ったスクレイピング、機械学習や、SwiftでのiOSアプリ開発など、Web以外のプログラミング技術の勉強に現在進行形で取り組んでいる。
主に書籍を購入し、ひととおりのチュートリアルを終えたら、簡単なプログラムを作って遊んでみる。
そして覚えた知識を実務で試してみる。
ひたすらこの繰り返しだ。
プログラミングに出会って10年後のスキル
細かいスキルは先に述べたが、22歳にプログラミングと出会って少しずつ勉強を積み重ね、32歳現在の俺のスキルをあらためてまとめよう。
- Webサイト制作(デザイン・コーディング・プログラミング)
- Webサーバー契約からVPS構築まで
- オリジナルECサイトの構築
- Web広告の運用
- Web全般、ブログ収益化などのコンサル
- 業務効率化の提案(Excel VBA・Pythonなどによる自動処理)
- 機械学習(※勉強中)
- iOSアプリ開発(※勉強中)
学歴こそ「中卒」ではあるが、10年間で3社渡り歩いてきた中で身につけたスキルには少しだけ自信を持っている。
これからも日々の勉強を怠ることなく、さらなるスペックアップに励んでいきたい。