【1週目】未経験からTECH::EXPERTでプログラミングやってみた

f:id:b1840943:20180506185521p:plain

せっかくなので学んだことを多少アウトプットする意味でもブログ書いていこうと思います。

スクールに通おうかなと思ってる人がなんとなく雰囲気つかむのにもいいんじゃないかなとか思ってます。

 

オリエンテーション

まずオリエンテーションがあったわけなんですが、だいたい20人ぐらいが同じタイミングで入学するようでした。20代の方がほとんどだったと思いますが、30代の方もちらほらおられましたね。

 

契約書や分割払いのための口座引落申請書を書いて、手続きは終わりです。ちなみに受講料は最大24回払いまで分割できるのですが、24回払いをオススメします。

理由は、受講料がおおよそ40万円として、そんな多額のキャッシュを一気に支払いにあてるならその40万円でインデックス投信買って運用した方がいいです。

分割払いの利率はめっちゃ低いので、それを差し引いても若干お金残ります。ありがたやー。それに退職して収入が無くなってる状況なのでキャッシュはできるだけキープしておきたいですからね。Macとか買うかもしれないし。

 

話逸れましたが、そのあとはカリキュラムの簡単な説明をしてもらいました。またきっちりコースを終わらせられれば転職時の年収が大幅に変わるというデータも見せてもらいました。

やっぱりやりきった人とそうじゃない人と、企業から見て評価が変わってくるのはそりゃそうですよね。生徒みんなで支えあっていこうと思いました。

 

オリエンテーション終わったら早速勉強開始です!

 

 

HTML&CSS

ある程度経験はあったので概念の理解自体は問題ないんですが、改めて実践的な問題やってみるとできないもんですね…。

簡単な設計図をもとにHTMLとCSSを書いていくんですが、久々にfloatに再会したのでフッターが吹っ飛んじゃったりとかヘッダーにposition: fixed指定したら消えちゃったりとか大変でした。

 

Ruby

Ruby on Railsやる前にRubyやります。Railsチュートリアルやってたので特に難しいと感じる部分はありませんでした。引数を除いては。

 

ターミナル上で動く身長体重を保存してBMIを教えてくれるアプリケーションを作ったときに苦戦しました。

例えばこんな感じで配列にハッシュを入れて保存していくんですけど、register_dataを呼び出すときregister_data(records)で配列を引数に取ってるんですよね…今は理解しましたが、この動き方がなかなか理解できず苦しみました。

プログラミング始めてすぐに理解した引数の概念とちょっと違うというか、応用編というか…割と周りでもここの理解でつまずいたようだったので、やっぱり難しいんだなと思いました。

def register_data(a_records)
  record = {}
  puts "名前を入力してください"
  record[:name] = gets.chomp
  puts "年齢を入力してください"
  record[:age] = gets.to_i
  puts "身長を入力してください"
  record[:height] = gets.to_f
  puts "体重を入力してください"
  record[:weight] = gets.to_f

  record[:bmi] = calculate_bmi(record[:weight], (record[:height]))
  puts "あなたのBMIは#{record[:bmi]}です"

  a_records << record
  return a_records
end

records = []
register_data(records)

 

懇親会

スクールに懇親会を開いてもらいました!近くの居酒屋で2時間ぐらい食べ飲みしながらおしゃべりしました。

 

本当に色んなバックグラウンドの人たちが集まってて、お互いの自己紹介がなかなか終わらなかったのが印象的でした。

元商社マン、元自衛隊員、コンビニバイトだった人、現役大学生など他にも興味深い経歴の方がたくさんいました。人との出会いだけでもスクールに行く価値はあるなと思います。

 

あと完全未経験の方が圧倒的に多かったです。

僕はRailsチュートリアル一周したりとかしてたのである程度慣れてたんですが、本当にHTMLを一回も書いたことないぐらいの状態で入学される方もいました。それでも入学前に選考をパスすれば転職を保証してくれます(転職コースの場合)。スクールの力ですね。

もちろん自分の努力は絶対に必要ですが、「完全未経験の人も育てて転職させる!」というスクールの気概が見えてモチベーション上がりました!

 

だいたい1週目はこんな感じでした。

そもそもなぜエンジニアになろうと思ったのかについても書いているので、ぜひ見てください!

b1840943.hatenablog.jp

 

2週目、頑張ります。

 

26歳営業が未経験からエンジニアになると決めた理由

f:id:b1840943:20180426192611p:plain

 

三月末に会社を退職してプログラミングスクールに通い始めたので、記念にブログを書くことにします。

僕自身もともとプログラミングは多少知ってたのですが、エンジニアになる!となるまでは結構時間がかかったので、この記事で迷ってる誰かの背中を押せたらいいなと思ってます。

 

簡単に自己紹介をして、そのあとになぜエンジニアになる決断をしたのかその理由を書きます。

 

自己紹介

1991年生まれの26歳です。福岡県出身です。

 

三月末まで技術営業職として産業機械メーカーに勤めてました。プラスチックとか化粧品とか医薬品や食品などを作る機械メーカーで、営業と機械の保守をやってました。実際に工場に行ってスパナ握って機械のメンテナンスをしたりするも僕の仕事でした。

 

この会社には1年半ほど在籍して待遇も不満はなかったのですが、エンジニアにジョブチェンジすることに決めました。そう決めた理由を書こうと思います。

 

社会にインパクトを与えられる

ここ20年でソフトウェアは世界を変えました。機械やエネルギーが世界を変えたスピードよりもはるかに早く世界を動かしています。

 

BtoBの仕事をしていて直接消費者と対峙することがなかったので、余計に自分が社会に対してインパクトを与えれているのかどうか実感が得られませんでした。

もちろん僕にもクライアントがいて、そのクライアントは消費者向けに商品を開発していて、巡り巡って何かしらの形で社会に貢献しているのはわかるのですが、僕がどう頑張っても世界は変わらないし、社会が動き出すこともまあないです。

 

決して産業機械という業界や営業という職種が社会に貢献してないという意味ではありません。ただ僕が個人的に貢献感を感じにくいんだと思います。

 

一方ソフトウェアは、FacebookAmazonGoogleは、文字通り世界を変えました。一人一人が書いたコードが世界を変えるパワーを持っています。人の役に立ってることを実感できるし、世界を変えれるポテンシャルを持ってます。

 

何のために仕事をするのかというところまで立ち返った時に、社会に貢献していると思えるかどうかはとても大きな要素でした。

 

トライアンドエラーが早い

エンジニアはアイディアを形にする力を持つ職業だと思います。他にもそれができる職業はありますが、エンジニアが最強なところは低いコストでそれをできることと、スピードです。

 

産業機械の業界にいたので余計にそう思うんですが、アイディアを形にするまでは途方も無い時間がかかります。しかもむちゃくちゃコストがかかります。

例えばこんな機械作ってみれば面白そうじゃない?と思ってからデモ機作るまでにかなり時間とコストがかかるし、それで作ってみて売れなかったなんてなればもう首が飛ぶレベルです。

 

でもエンジニアはローコストでスピード感をもって新サービスを開発できます。とりあえず社会に出してみて、評価をもらって、ダメだったら潰すこともできます。潰すにしても大したデメリットはないはずです。

 

作って出すまでのスピードもそうなんですが、世に出してからフィードバックをもらうまでが圧倒的に早いです。デジタルワールドなので、出せば確実に何らかの数字が出ます。このスピードはかなり早いと思います。

機械だったらまずお客さんがテストする場所代を払わなきゃいけないし、使う材料代もあるし、次のお客さんに出す前に洗浄しなきゃいけないし、機械を運搬するにもコストかかるし…これでやっと一つのお客さんからのフィードバックを得られます。費用も時間も結構かかります。

 

まずやってみて、ダメなとこを改善して、またやってみるというサイクルをなるべく早く繰り返せるほうが良い製品やサービスができるはずです。より良い製品やサービスができれば、より良い世界をつくれます。

つまりこのスピード感を持つ環境の方が、社会を良くできるチャンスも多いと思ってます。

 

働く場所を問わない

f:id:b1840943:20180426192740j:plain

 

僕はいわゆるミレニアル世代ですが、僕らがおじさんになる頃には定年80歳になるとかいう話もあります。もしかすると定年自体なくなり、ずっと死ぬまで働き続けることになるかもしれません。

 

それを踏まえて自分のキャリアを考えると、一生同じ場所で働き続けるというのは非現実的だと思います。東京から地元に戻る可能性もあるし、海外で働きたいと思うかもしれません。

ちょっと誤解されそうなのですが、僕は現時点でリモートワークは全く考えてません。ですが、将来的にどこかのタイミングで居住地を移す可能性は誰しもあるので、それを考えると自分が移動しても問題ない仕事がベストな選択肢ですよね。そういう意味でエンジニアは比較的自由な職業です。

 

エンジニアはどの国でも求められることは変わらないし、国や環境が変わっても成果を出しやすい職業だと思います。またリモートワークという選択肢も手元に残せるので、何か大きく環境が変わったとしても幾分かは安心できます。

 

しかも技術職って言語を取っ払ってコミュニケーション取れたりするんですよね。前職で外国人技術者と日本人技術者の通訳をすることが多々あったんですが、結局彼らが勝手にホワイトボードに数式とか図とか書いてコミュニケーション取り始めるので、あまり僕の出番はありませんでした。それでも問題なく意思疎通できるんですよ。

 

プログラミングはユニバーサルです。機械と比べれば国際規格とか気にしなくても全然やってけるはずです。そしてエンジニアは世界のどこでも通用するスキルを持てます。フラットな世界で仕事をできるというのは競争が激しい一方、自由です。

僕は外部要因に不必要に人生を縛られるよりも、変化があればそれに適応し、自分で選択できる人生を送りたいと思ってます。そのためにはエンジニアのスキルは僕にとって必須でした。

 

未来がある

今までいろんなものがソフトウェアに置き換わってきましたし、これからもそれは続くと思ってます。そんな世界の中でソフトウェアに通じているかどうかは大きな違いになるはずです。

 

堀江貴文さんと落合陽一さんの10年後の仕事図鑑でエンジニア職はコモディティ化するとの予想がありました。どんどんプログラミングができる人が増えて安くなっていき、究極的にはAIに代替されると。

 

10年後の仕事図鑑

10年後の仕事図鑑

 

 

僕もプログラミングができる人が増えるというのは同意です。でも、じゃあできる人はいっぱいいるんだから学ばない方がいいよね、ということではないと思います。むしろプログラミングやソフトウェアを理解した上で、それプラスアルファが必要になるという風に捉えてます。

もしエクセルみたいに誰もがプログラミングできるようになるとすれば、なおさらプログラミングぐらいできないとヤバいじゃん、と感じます。

 

WEBとかシステム開発に関わる狭義のスキルはもしかしたら今ほど重要じゃなくなるかもしれませんが、それらを含むソフトウェアそのものの重要性は今よりもさらに上がると予想してます。

どんどんソフトウェア中心の世界になっていっているのは確実です。AmazonFacebookGoogleNetflixUber、Tinderもソフトウェアです。車もソフトウェアがコントロールするようになってきてます。IoTもAIもブロックチェーンもさらに普及してくるはずです。

 

もっともっとソフトウェアが世界の中心になっていったときに、プログラミングやWEB開発などを通じてソフトウェアと仲良くなった経験は大きな意味を持つと思ってます。なのでエンジニアとしてソフトウェアに携わる時間をもっと持ちたいと思いました。

 

という感じです

大前提としてプログラミングを面白いと思えることは必須だと思いますが、面白いと思っててもそれを仕事にしようとするとなるとまたいろいろ考えちゃうよね〜っていう気持ち、わかります。

 

なのでエンジニアの世界に未経験から飛び込む奴がどんな人間なのか少しでも感じてもらえば、と。

この記事を見て「う〜ん、やっぱ俺はエンジニアになりたいと思わない」とか「確かにそうだな!エンジニアになりたい!」とか思ってくれたら嬉しいです。

 

楽な道ではないと思いますが、ワクワクしてます!ここまで見てくれてありがとうございましたm(_ _)m 何かあればお気軽にご質問ください。

プログラミングやWEBサービスなどIT関係、それと英語に関してつぶやいてるので、よかったらTwitterフォローお願いします。

twitter.com