Chimo no Logue

chimotyのメモ書きブログ

90年生まれのゆとり世代が人生の軌跡を綴ったブログ

【スポンサーリンク】

WiMAXを1ヶ月使ってわかったデメリット

どうも、チモです。

今回のテーマは「WiMAX 1ヶ月使ってみたら泥沼にはまった件」

いきなりすまんです。

僕の家は訳あってインターネットの回線を引くことできんのです。

11月に引っ越したばかりやけど、どうも家のWiFi環境がよろしくない。

なので「UQ WiMAXが提供している、W06というルータのWiMAXを契約した。

今回は1ヶ月使ってみてわかったことを共有する。

オススメのWiMAX取り扱いプロバイダの詳しい情報は以下を見てほしい。

internet-kyokasho.com

今回の結論

  • ・WiMAX2+は超高速ではない。
  • ・ハイスピードエリアモードは月7GBまで
  • ・低速通信モードは使い物にならない。

WiMAXの速度は微妙

WiMAXは実はWiMAXからWiMAX2+に移行してる。

今後WiMAX2+がスタンダードになるんやけど、これも通信速度は微妙かな。

確かに日常ではサクサク快適には使えるんやけど、やはりWiFiは障害物に弱いのは変わらん。

毎日通勤中にWiFi飛ばしながらストリーミングで音楽聴いてるけど、朝の混雑時間帯ではさすがに快適に使えるわけではない。

度々通信が途切れて、モバイル通信に切り替わる。

これは電車だけじゃない。

人が多いところに出向くと結構引き起こることがわかった。

いつでもどこでも高速なわけではない、てこと覚えておいてほしい。当たり前と言えば当たり前なんですけどね。

ハイスピードエリアプラスモードは月7GBまで

WiMAXは基本無制限の使い放題やけど、これはハイスピードモードの場合だけ。

より速度を求めるなら、au 4G LTE回線を使った、ハイスピードエリアモードを利用するとええ。

ただし、これは月額追加で1005円かかる上に、月最大7GBまでしか利用できない。

しかも、一度設定すると当月は変更不可能という仕様。最短で翌月になるまで変更できないのです。

実は僕はここの情報を見逃していて、ずっとハイスピードエリアモードで通信し続けてた。

結局、月の半ばで7GBを使い果たし、低速通信モードでしかWiFiが繋げんくなった。

今回の自分の最大ミスです。

低速通信じゃ使い物にならない

無制限のWiFiてことで借りたけれど、僕の手違いにより早速速度制限がかかってしまった。

月の中盤にも関わらず、低速通信モードで生活するはめに。

この低速通信、夜に速度測定した画像がこちら。(それぞれ別日に計測)


f:id:chimoty:20200118224410j:image


f:id:chimoty:20200118224426j:image

酷くない??

いや、低速なのは理解してたつもりやけど。。。

でも、この速度はさすがにないかなぁと。

スマホ格安SIMを使ってて、それも速度は速くない。しかし、その格安SIMの低速通信より遅いという事実が発覚した。

さすがに期待ハズレ過ぎた。

この低速状態でニュース記事を読み込むのはギリギリ可能やけど、Webサイトや動画などは接続中に途切れることがほとんどです。

YouTubeなら読み込みで失敗するレベル。

全く使い物にならんです。

だから、山間部とか余程電波が届きにくい場所でない限りは、ハイスピードエリアモードは使わんほうがいい。7GBなんてすぐに達してしまうから。

これが最高の学びです。

まとめ 

WiMAXを1ヶ月使ってのデメリットだけお伝えしました。

もちろんメリットもいっぱいあるけれど、僕みたいに使い方を間違ったら、めちゃくちゃストレスフルな状態で過ごさなければならない。

もしあなたがWiMAXの契約を考えてるんなら、ちゃんと計画的に利用しよう。

追記 ※2/2

月が変わり快適にネットライフを楽しんでます。

3年経験してわかった、IT業界の開発現場

12月27日、僕は3年に及ぶ某金融機関での常駐業務を終えた。

稼働システムの保守運用に始まり、構築を少し経験した。

 Web業界からSI業界へ移ってからの3年間を振り返ってみる。

ITインフラとかサーバ関係の話をしたいので、こういったことが全くわからないのならば、以下の記事を参照してほしい。

chimoty.hatenadiary.com

 

chimoty.hatenadiary.com

f:id:chimoty:20200108233239j:plain

取引関係はこんな感じ

まずは勤務していた金融機関と自社との関係だが、以下のような感じだ。

エンドユーザ(本金融機関)
  ↓受託

大手SIerのA社(大手ITベンダー)

  ↓受託・委託
A社とパートナー契約のB社(開発協力会社、業務委託会社)
  ↓委託
自社(B社からA社受注業務を委託される)

 

イメージ的には建設現場と同じようなものだ。
下請けやパートナー会社になればなるほど、中抜きされて契約金は低くなる。

契約の関係上、いろいろと複雑な仕組みではあるが、簡単に言えば派遣社員のような形で元請けのA社の立場で仕事をすることになる。

つまり、同じ仕事でも所属会社により、各エンジニアの給料は全く異なるわけだ。

金融機関での開発は自由度が低い

これは伝えておきたい。

僕はITインフラの中でも特にサーバ周りの保守・運用要員として、本現場に3年前に配属された。そこは某大手の金融機関だ。
特に技術力も高くなく、IT業界経験者というだけで何となく配属された。

金融機関全般のことはわからないが、ここの現場はとにかく様々な制約や業務上の細やかな作法が求められる。本番環境で稼働中のシステムを触るのに7つの申請を通さなければならない。

これだけでストレスフルな環境である。

さらに自席のPCからはインターネットに接続できない。
何か調べようものなら、自分のスマホで調べなければならない。

また、自由に検証できる環境も用意されていない。

はっきり申して、エンジニアとしてはあまり環境は良くない。

ただし、エンジニア未経験者でも配属されやすいという意味では自社としては楽なのだろう。未経験者にとってもとりあえず経験ができるという小さなメリットはある。

定型作業が多く、言われたことをミスなく言われた通りに実現すればそれだけで評価が上がる環境だ。

ITインフラ業界はチャンス

別の業界やお仕事からIT業界に未経験で働くなら、ITインフラ分野はチャンスだとおもう。

まず、アプリケーション開発やWeb業界に比べれば、人手が圧倒的に足りない。

僕の場合、サーバ関係のお仕事だったが、ネットワーク分野も含めインフラ部門は人気がないため、未経験でも転職しやすい。

また、最近は大手でもAWSやAzureなどパブリッククラウドサービスを利用することも増えてきており、そこに参入の余地がたくさんある。

あなたは自分の発想を生かしたアプリ開発やプログラミングがしたい気持ちがあるのか?

もしなければ、地味だがITインフラは転職のチャンスだ。

Linux が使えれば重宝される

3年いてわかったのがこれだ。

Linuxの需要が高いとはよく聞く。

勤務していた現場ではLinuxを扱える人が極端に少なかった。

その現場では圧倒的にWindows Serverで稼働しているものが多く、Linuxだとかなり少ない。UNIXだともっと少ないが。。。
僕の場合、前職で少しLinuxを触っていたこともあり、現場でもLinuxサーバの運用を担当した。

Linuxならば自宅のPCにインストールして、練習することができる。

もし今から勉強するならば、アプリ開発でもインフラ構築でもLinuxは触れておくと、重宝されるだろう。

最新技術は敬遠される

金融業務なので、稼働率の高さを求められる。

つまり、正常に動作できることが大前提なのだ。

そのため、実績ある技術や商品、サービスを利用することになる。

流行の最新技術を利用する機会はほとんど皆無だ。

導入するOSやソフトウェアのバージョンもレガシーなものを使うことが多い。(リリースバージョンが5年前・10年前などざらに存在する)

大手ならではの高価なソフトウェアを使える

これは小さなWeb業界や中小規模の受託会社ではあまり体験できないことだ。

OracleやJP1,Cisco,SalesforceなどITベンダーの高価なソフトウェアを利用することができる。
これは個人で利用するにはかなりハードルが高いため、大手企業常駐の唯一のメリットと言えるかもしれない。

総評

経験値の少ない僕にとっては経験値を上げられたという意味では良い現場だった。

ただし、技術向上が見込めない上に、現場全体に保守的な考えが浸透しているので、数年も勤務する価値は全くなかった。

もし2020年も同じく契約更新だったら、自社を退社するつもりだったので、ちょうどこのタイミングで離れられたことは良かった。

アプリケーションとインフラの境界が徐々に消えつつある昨今だが、まだまだインフラ分野は需要が大きいとおもう。

IT業界に転職したいのならば、インフラ分野を検討するのも悪くないだろう。

【3分でわかる】【これからIT業界で働く方へ】客先常駐でのSEのお仕事とは?

こんにちは!

しばらくブログの更新止まっていました、chimoです。


今回はIT業界にあるあるの客先常駐での働き方についてお伝えしていきます。

私自身はWeb業界にいたこともあるので、自社内サービス開発の企業を経験した後、今の客先常駐型のSEへなりました。

これからIT業界に飛び込もうとしている方の多くが、客先に常駐して開発するという働き方に身を呈することになるでしょう。

Web業界と客先常駐型のSI業界(*後述参照)の両方を経験している私が「客先常駐型」での仕事ぶりや内部事情についてお伝えしていきます。

 ITの多くはシステムインテグレーターである

この業界に属する多くの会社はサービスプロバイダーとかシステムインテグレーター(通称SIer)と言いいます。

こういった会社が手がけている事業がSystem Integration(略称SI)というものです。
SIというのは、ITサービス提供とか依頼されたものを作る受託開発という意味合いがあります。
SES(System Engineering Service)という事業を展開することもあります。
これは客先へ自社の技術者を提供して、サービス開発や運用のお手伝いをしてもらう事業です。

もっともSESもSIも意味合い的にほとんど変わらない、境界線が曖昧なことが多いですが。

参考資料

www.agent3.co.jp


SESの場合はIT業界独特のSES契約という雇用形態が存在します。

「準委任契約」とい言ったりしますが、要は請負でお仕事をする契約です。

国内の多くのITサービス事業会社はこのSIをベースとしたSIer(SIを提供する会社)であり、そういった会社に所属する社員は、客先と派遣やSESといった雇用契約で客先でお仕事をすることになります。

 

労働基準法に照らすと、契約形態の違いはあれど、IT業界で客先で仕事をするのは要するに派遣の働きと同じです。

客先現場の実態とは

私の場合は、某大手金融機関にサーバインフラ部門のSEとして常駐しています。

SIやSESというサービスは、多重請負構造で有名です。よく建設会社に例えられたりします。

私の所属会社の場合は、お客さん(金融機関)の立場から見れば、3次請けの会社です。(立場上、元請けのメンバーとして仕事しているのですが)


どういうことか。


このSI事業の場合、元請けとなる会社が客先から案件やプロジェクトという単位でお仕事をいただいたり、入札したりします。

案件の多くが業務系や基幹系システムに関するものです。

元請けとなりうる会社としては、大手のSIerであることが多く、主に富士通、NTTデータ、日立製作所、NEC、野村総研、アクセンチュア、日本IBMなどが該当します。

こういった元請け企業からその下請け企業や協力会社へ案件の一部を外注したり、それらの企業からどんどん人員を投入したり、というのがこのSIやSESの業態です。

そうなると当然、同じチーム内でも所属会社がバラバラだったり、技術力や経験値に差がありすぎたりといった状況が引き起こります。

また、会社都合や本人都合で現場を離れることもあるので、技術や経験が蓄積されていかないという状態に陥ることもあります。

どんな仕事をしているのか

では実際にどのようなお仕事しているのか、私の経験を踏まえてお伝えします。

私が常駐しているのは金融機関のため、情報セキュリティにものすごく厳しいということがあげられます。

何をするにも細かなルールがあるので、それに従って進めていかなければなりません。

大手企業ならメーカーでも金融でも同じかもしれませんが、とにかくそこで仕事をする上でのお作法が膨大に存在します。

例えば、いつ・誰が・何の作業をするのかといったことから、勤務時間の管理や休日に出入りする場合の申請など多数の申請が存在します。

何事も申請して承認を得る、という流れを踏まなければならないため、申請書を作成するだけで1日が過ぎていくこともあります。自分の場合は技術力も経験も乏しいため、こういう申請周りの事務作業をしていくことになります。

他には稼動システムのメンテナンス作業や構築作業時には、きちんとした手順書を作成しなければなりません。

基本的には作業手順書をつくったり、申請したり、会議の議事録作成したりといったことがメインであり、エンジニアのお仕事とは程遠いものです。

これはインフラ部門もアプリケーション部門も同じです。

こういった現場でのSEのお仕事はエクセルやワードとにらめっこ、ということが珍しくありません。

Webの会社にいた時は、いきなりプログラミングやサーバ構築という作業から始まったので、それに比べるとカルチャーショックでしたね。

常駐型で技術力は身につくのか

これについては、案件や現場次第というのが本音ではあります。

ただし、未経験で常駐して構築や開発となった場合は作業よりも申請や資料作成などに取り掛かる時間の方が多いかもしれません。

全くのIT未経験ともなると、最初の数年は特に技術的なところに触れる機会というのはそれほど多くはないとおもいます。

もちろん中にはPM(プロジェクトマネージャー)やPL(プロジェクトリーダー)を若くして務めるほどの高い技術と管理・折衝能力を持っている方もいらっしゃいます。

ですが、常駐での働き方はやはりツコツ時間をかけて能力を磨きたいという方が向いているでしょう。

逆にがっつりコーディングやプログラミングがしたいと考えている方は、客先常駐型では雑務や事務作業がたくさんあるため、自社内開発企業やWeb業界に行く方がいいでしょう。

金融業界のIT現場の特徴

続いて私が今行っている金融業界の現場についてお伝えします。


1つ目は前述しましたが、金融の現場はセキュリティが非常に厳しいです。持ち物の管理や情報資産の管理など、そのチェックが頻繁にあります。


2つ目はシステム開発費用や保守費用が多大なコストがかかるということです。

多くの零細規模のSIerやSES企業でも利益を出せるのは、こういった金融系の現場の案件を請け負うことで、大きい契約金を獲得できるからです。

たとえ、それが元請との間に3社ほど介する状況であっても、あまり売れないサービスを自社で開発している企業よりも儲かっている可能性が十分にあり得るのです。


3つ目は基本的に枯れた技術を使うことです。

IT業界は技術変化のスピードが速く、次々に新たなサービスや技術が生み出されています。

しかし、金融業界に関しては、最新技術によるバグや障害を防ぐという考えの下、実績のあるサービスや技術しか利用しないということがあげられます。

つまり、最低でもリリースから1〜2年間は利用することはありません。

私が行っている現場でも、ようやくAWSやAzureなどのパブリッククラウドの導入検討が始まったというくらい取り組みが遅いです。

金融は24時間365日稼働している必要があることが多いので、このような考えがはびこっているようです。

まとめ

以上のように、IT業界に初めて飛び込む方は常駐型か自社開発型かで働き方やITに対する考え方も異なるということを心に留めておいてください。

また、自社内開発でも受託開発なのか、自社オリジナルサービスの開発なのかで全く異なってくるでしょう。

技術を極めたいのか、もしくはマネージメント能力を高めたいのか、どれほどの規模のサービスを扱いたいのか、などそれぞれの志向で常駐型を選ぶか、自社サービス開発を選ぶかということが重要です。

 

【初心者必須】未経験からWebエンジニアで成功するための7つの心得

こんにちは!

溜まりに溜まった本を片っ端から読んでるchimoです。

前回『Webエンジニアという職業から逃げた話』では、私が過去webエンジニアを辞めてしまった経緯と理由を簡単にお伝えしました。

今回はもう少し踏み込んで、プログラミング初心者やこれからWeb系のお仕事をしようと考えてる方向けに、この業界で仕事していく上で覚悟すべきことをお伝えします。

私は努力を怠り、すぐに諦めた結果、ついていけなくなり、Web系のお仕事を辞めてしまったので、この経験を反面教師にして読者の方にはWebエンジニアとして活躍してほしいと考えています。

まずはプログラミング未経験者もしくは初心者の方向けに書きます。  

1.HTML・CSS・Javascriptは必ず覚える

プログラミングすらも未経験、初心者の状態でも私のように拾ってくださる会社はあるかもしれません。

しかし、そこで頑張る上で覚悟してほしいのは「プログラミング」に関わる部分では非常に覚えることが多いです。

Web系であればフロントエンドからバックエンドまで幅広い知識と経験が必要なのです。

その中でまずはHTML, CSSの基礎はしっかりと押さえましょう。

これはWebの基礎の基礎となる部分です。

ウェブサイト制作をしている会社のコーダー(コーディングする人)は皆、HTMLとCSSでレイアウト部分(「見た目」)を作り込んでいます。
こういったレイアウト部分の工程を「フロントエンド」といいます。(厳密には違うかもしれませんが、イメージしやすいので、ここではこのように定義します。)

フロントエンドで活躍する人は、HTMLやCSSでコーディングしていくだけでなく、「Javascript」というプログラミング言語で、ウェブページに動きを加えていく方もいらっしゃいます。

例えば、名古屋のネット企業「エイチーム」のウェブサイトは以下のような感じです。 

株式会社エイチーム(Ateam)

ご覧の通り、こういう動きのあるウェブサイトを実現するのがCSSやJavascriptの役目です。ウェブサイト制作のコーダーは大体この「HTML+CSS+Javascript」でフロント部分のコーディングをしていることでしょう。

2.プログラミングを習得する

 WebエンジニアあるいはWebプログラマを目指すのであれば、ここのレイアウト部分をやりつつ、機能部分(「動き」)を作っていかなくてはなりません。

これが要するに「プログラミング」のことです。
当然ですが、プログラミング言語を覚えなければなりません。

先ほどご説明した、HTMLやCSS, Javascriptを覚えないといけませんが、それらに加えて、「 PHP」「Ruby」「Java」「Python」などのWebアプリ向けのプログラミング言語を習得する必要があります。

これらはWeb系では人気かつよく使われている言語です。

HTMLやCSSと異なり、サーバやデータベースと連携する必要があります。

ここがWebプログラミングの核となる作業です。

会社によっては、HTMLとCSSでレイアウト部分を作る人、PHPやRubyなどで機能部分を作る人、という様に分担制を採用しているところもありますが、大抵はこれらを一人でやることが多いとおもいます。

ちなみに私は初めて触れたプログラミング言語は「Ruby」でしたし、就職してからはまずは「Java」、次に「PHP」に触れていました。

最初からプログラムの方に力を入れてやっていたので、HTMLやCSSの部分をあまりがっつり勉強していなかったことも続けられなかった原因だとおもいます。

基本的にはプログラミングの練習をしながら、HTMLやCSSを同時に習得していくのがベストだとおもいます。

しかしこれを独学でやるのは忍耐力と根気が必要です。 

自宅にいながらプログラミングを学習できるサービスとして、ProgateドットインストールCodeacademyなどがあります。有料ではありますが、Udemyも動画形式の教材が豊富で独学には最適かと思います。

これらを上手に活用しながら、プログラミングを習得していければ幸いですが、これだけに永遠と取り組んでも基礎は理解できても上達は見込めません。

やはり自分で0から何かをつくってみることが上達への一番の近道です。

もし頼れる人がいるならその人を頼りましょう。

もし頼りがいない場合は、オンライン・対面問わず、プログラミングスクールで習得していくのが近道かもしれません。また、ココナラMENTAなどのスキルシェアサービスを利用するのも一つの手ですね。

自分の場合は、上司がいたこととお金をかけたくないという想いから、プログラミングを無理に独学で身につけようとしました。

しかし、結局何もできないまま月日が流れてしまったので、多少お金はかかっても有料で専門家から学ぶことをお薦めします。

3.フレームワークの使い方を覚える

2のプログラミングと関係してくる部分で、各言語(CSSやJavascript含む)にはよく使う機能をあらかじめ準備し、コードの書き方をシンプルかつ共通化して扱う「フレームワーク」というものが存在します。

フレームワークについての詳細は以下を参考にしてください。

www.gixo.jp

基本的には各プログラミング言語のコードの書き方を覚えることが最優先なのですが、多くのWebサービス企業はこの「フレームワーク」をつかって、プログラミングにかける時間と労力を最小限にして、コードの書き方の共通化を実現しています。

各言語、代表的なものに以下の様なフレームワークが存在します。

・CSS → Bootstrap, Renaissance.css, Skelton

・Javascript → jQuery, AngularJS, Nodejs

・PHP → CakePHP, Laravel, Symfony

・Java →  Apache Struts, Spring, Jakarta EE(旧Java EE)

・Ruby → Ruby on Rails

・Python → Django, Bottle

通常のプログラミング言語とフレームワークでは処理部分で書き方が少し異なっているのですが、ベースとなる考え方は同じです。まずはプログミングそのものを覚えましょう。そして、同時並行でフレームワークでの書き方の規約を身につけましょう。 

4.サーバの使い方を覚える

 フロントエンドで「HTML + CSS + javascript」でレイアウトのコーディングをしている方と最も異なるのが、この「サーバ」周りを扱うかどうかだとおもいます。

フロントエンドと対をなす意味で「バックエンド」と呼んだりします。

そもそもサーバとはウェブサイトはもちろん、各サービスのコードやデータベースを置く「土地」みたいなもので、これがないとウェブ上に公開してサービスを使ってもらうことができません。

web系であれば、アプリケーションサーバ・データベースサーバ・ウェブサーバなどがあります。

ウェブサービスをサーバ上で動かすならば、サーバ上にウェブサーバ(ApacheやNginxなど)を構築しなければなりません。

また、サーバは物理で購入し、OSをインストールするかクラウドで借りるかしなければなりません。

格安でサーバをクラウド上で借りれるレンタルサーバや全てブラウザからボタン一つでサーバを構築・運用できるクラウドサーバが人気ですね。

よく使われるレンタルサーバとしては以下があります。 

  • さくらクラウドさくらVPS(提供:さくらインターネット)
    レンタルサーバの代表格。気軽にサーバをレンタルできる。
  • X Server(提供:エックスサーバ)
    WordPress運営で豊富な実績あり。
  • GMOクラウド(提供:GMOクラウド)
    グループのGMOインターネットのクラウドサーバも有り
  • Amazon Web Service(AWS)(提供:AWSジャパン)
  • Google Cloud Platform(GCP)(提供:Google)
  • Microsoft Azure(提供:Microsoft)

今やクラウド全盛期なので、AWSやGCP, Azureなどのlaas型のクラウドサーバがWeb系でも人気になってきています。

いずれを選ぶにしても、サーバOSのLinuxの使い方をある程度習得しておく必要があります。Linuxについてはこちらで説明しています

UbuntuでもCentOSでもいいので、CUIのコマンド操作に慣れておくことが重要です。Windowsサーバを利用するのもいいですが、こういったレンタルサーバやクラウドサーバ事業者の多くは安く安定的なサーバとしてLinuxを採用しています。
ウェブサービスを作ったり、運用するなら、このサーバ構築や運用の仕方も覚えなければなりません。 

5.データベースの使い方を覚える

次にデータベースです。

データベースてなんだかわかりますか? 

例えば、昨今様々なサービスが各社から提供されていますが、どれもかならず初めて利用するときにはログインアカウントの登録をするとおもいます。

Gmailにしろ、Facebookにしろ、Twitterにしろアカウントや個人情報を登録しないと使えないですよね?

このアカウントを登録するときに入力した情報が「データベース」上に書き込まれ、ここに保存されます。

データのやりとりが発生するWebサービスを作るなら、このデータベースも必要です。具体的にはデータベースサーバ(DBサーバ)を構築しなければなりません。

DBサーバを実現するソフトウェアに「MySQL」, 「PostgreSQL」, 「Oracle」などがあります。

総くくりで、RDBMS(Relational DataBase Management System)と呼びます。

最近ではこれらを覆す、NoSQL仕様の「Mongo DB」なども出てきました。


以前勤めていた上司に言われて最も印象に残った教えがあります。
それはWebサービスを作るときに重要なのはデータベースの構造を理解し、きちんと設計・構築することです。
プログラムをつくるときも改修するときも、またサーバやネットワークの設計をするときもこのデータベースの構造をきちんと把握し、精密に設計・構築することで良いウェブサービス・アプリケーションができると言われました。

データベースの構造がむちゃくちゃだと、新規の機能追加をするときもすごく大変になります。

ですので、このデータベースの作り方・運用の仕方はしっかり学ぶべきです。 

6.原理原則を把握する

プログラムを作ったり設計する上で最も大切なのは、原理原則を理解することです。

プログラムが動く仕組み、インターネットに繋がる仕組み、サーバが処理する仕組み、データベースが処理する仕組み、など数え上げたらキリがありませんが、それぞれに基礎となる原理原則があります。

ここはどんな時代になっても必要となる基礎です。 

特にWeb系の技術の移り変わりは非常に早いです。昨年使った流行った技術が今年は枯れ始めているなど、よくあることです。

そんな移り変わりの早い業界だからこそ、原理原則を身につけることが重要だと教わりました。

これからプログラミングやサーバを勉強しようと考えている方は、それぞれの仕組みを理解することを念頭に置いてください。

7.根気強く努力する

最後ですが、未経験者や初心者に最も心に刻んで欲しいことがこれです。

辛抱強く、根気強くプログラムを書き続けてください。

特に初めの頃はエラーばかりでさっぱりわからないとおもいます。

そのエラーがどこが原因で発生しているのか見つけるのに最初は苦労します。 

例えば、

・プログラムの書き方に問題があるのか

・サーバ側の設定が間違っているからなのか

・動作に必要なソフトがインストールされていないからか

・必要ツールも揃い、書き方も正しいが、導入されているソフトやツールのバージョンが古いもしくは新しいから不具合が発生したのか

 
考えられる原因は一つずつ追っていかなければなりません。

ですので、エラーログをしっかり見ましょう。

ログと友達になるつもりで、ログの内容を把握し、わからなければググるということが大切です。

とにかく最初はトライ&エラーの繰り返しです。

エラーを根気強くググってください。

ここが続けられるか続けられないかの山です。


私は途中挫折してしまいました。ですので偉そうなことは何も言えません。

しかし、これからWeb系の仕事、あるいはプログラミングが必要な仕事に就こうとおもうなら、休みを返上してでも勉強する覚悟があるほうがいいかもしれません。

先ほど、この業界は技術の移り変わりが早いと説明しました。常に新しい技術にチャレンジするくらいの意気が必要です。便利だと思うツールはすぐに試しましょう。

個人でフリーランスで考えているならば、技術にこだわる必要はないとおもいます。

しかし、スタートアップやベンチャーの会社でアプリ開発をやるなら、技術を駆使するのは重要な要素です。

覚えるべきことがたくさんありますが、こういうことも含めて楽しいと思えればきっと立派なエンジニア・プログラマになれます。 

最後に

自分のように中途半端な状態でやめてほしくないという想いから、今回記事に書きました。
Web系は本当に技術開発が早いです。常にトレンドをウォッチすることもエンジニアとして必要です。

一度挫折してやめてしまった私ですが、今もう一度挑戦しようと考えています。

インフラ周りのお仕事でもプログラミングのスキルが求められることは間違いありません。

これからプログラミングを始める人、プログラミングを始めて少ししか経ってない人にこの内容が少しでも手助けになれば幸いです。 

【Web業界初心者必見】僕が2年弱でWebエンジニアを辞めたワケ

こんにちは!

僕は2015年~2016年秋頃まで「Webエンジニア」という職に就いていました。
今回はその「Webエンジニア」という職業について書いてみる。

すごく簡単に言うと、
・HTMLやCSSというツールでWebページの見た目を作り、
・Twitterのようなユーザが入力した内容を表示するような動きの部分を作り、
・ネットワークやサーバといった裏方で活躍するものをいじったり、
これら全般的に設計したりとWebに関わる何でも屋さんのことです。

自称するのもおこがましいですが、私は元Webエンジニアの見習い(実際にはろくにコード書けない卵)だった過去があり、今はITインフラサーバ専業で仕事してます。

Webエンジニアのお仕事て今の時代、人気も需要もすごくお高いのですよね。

ただし、僕はこの仕事を辞めて、今は客先常駐で稼働中のシステムの保守・運用、更改案件の設計・構築なんかをしています。

そんな私がWebエンジニアをやるまでの経緯となぜ辞めたのかを何度かに渡って少し書こうかとおもいます。

1.未経験から始めたWebのお仕事

私は零細規模の某Web制作会社にて、Webアプリケーションシステムの保守・運用を1年半経験しました。

そこは受託で大学や高校といった学校のWebサイト制作や業務システムの受託開発・運用を手がけている会社で、私は転職で入社しました。

正確には第2新卒という枠で雇っていただけました。

というのも、その前に新卒で入った会社では人材系の営業をやっておりましたが、営業のノルマに耐えきれず、ドロップアウトしてしまいました。(最初の会社を辞めた経緯は後日書きます)

次は何しようかなぁとネットで情報集めてたところ、IT業界は人手不足で未経験からでも入りやすいというのがわかりました。

IT業界が3Kと呼ばれ、人手不足が深刻であるということは学生の頃からなんとなく知ってはいたのですが、予想以上に人手不足で、未経験中途採用でも求人倍率は非常に高いらしいということがわかりました。

その中でもWebの世界というのは、IT音痴の自分が関われるなんて全く考えもしなかったですし、「自分でWebサイト作れたらかっこいいだろうなぁ」とか「プログラミングできたらノマドになって自由に働けてかっこいいなぁ」とか、完全にど素人目線で都合のいいことばかりが頭に浮かんでました(笑)

不純な動機もいいところですよね。。。

ちょうどその頃(2015年頃)て、子ども向けのプログラミング教室やProgate、CodeAcademy、ドットインストールなど無料のプログラミング学習サイトが勃興し始めた頃で、単純にプログラミングへの変な憧れがあったようにおもいます。

 

今後需要が見込めるのはWebや!

 

そんな単純な考えでWeb系をメインにIT業界への転職活動を始めたのです。

その当時はよくわからず、とりあえず手っ取り早くプログラミングの勉強ができそうだと感じて、完全な初心者向けの「Rubyプログラミング」の本を購入し、転職活動中マイペースにやってました。

この時点で本当にこれを仕事にしてやっていけるのか、もっと深く考えるべきでした。

最終的にはSES含め2〜3社から内定をもらい、Webサイト制作に力を入れている会社に決めました。

 

テレビや雑誌、SNSで取り上げられるようなイケイケのエンジニアになる!

 

そんな現実知らずの非常に甘い考えで、雇っていただいた会社で頑張ろうと意気込んでました。

2.入社後の1ヶ月は頭がズキズキする連続

無事入社して、当時の上司に言われたのが「とりあえずLinux(CentOS7)入れて!」でした。

「えっ、Linux!? CentOS!? それなんJ!?」

「Linux」というワードは聞いたことは幾度もあれど、何を指しているのかさっぱりわかってなかった私。

ただ業務中にそれをいきなりやると時間と労力がかかるということで、家での課題として出され、実際にはすでにLinux環境とJavaでのプログラミング環境は用意してくれていました。

 

よっしゃあ! これでエンジニアデビューや!」

 

そう息巻いてた私ですが、プログラミングを舐めていたことを痛感しました。

「Java」は入社前に勉強しておいてほしいと言われていたので、Rubyの勉強を止めて、ほんの少しJavaをやってました。

 

が、、、

 

それだけにとどまらず、OJT中にいろいろなツールやサービスの名前が出てきて、大パニック状態でした。

入社してたった1週間で、HTML, CSS, Java, CentOS, MySQL, PostgreSQL, Struts, JSP, Java EE, JDK, JavaScript, TeraTerm,GitHubなどおおよそWeb開発で利用するであろうツールの名前がどんどん出てきて危機感を覚えました。

当時は運用中の設備予約システムの改修をメインにOJTで実際にコードに触れながらプログラムを学んでました。

土日もProgateやドットインストールでプログラミングの基礎を勉強してました。
サーバの環境構築など自分なりに調べて練習する日々でした。

そうこうしているうちにあっという間に1ヶ月が過ぎました。

当時教えてくれていたのは20歳くらいの若いバイトさんだったんですが、バイトを辞めるということで、直の指導員はいなくなりました。

3.入社後3ヶ月

気がつくと3ヶ月が過ぎていました。

相変わらず前述したシステムの改修と別のタスクが割り振られ、それに多くの時間を費やしました。(別のタスクとは、取引先の学校の授業動画を編集するお仕事) 

それに加え、新卒入社3年目のバリバリできる先輩が会社を辞めるということで、急遽引き継ぎという形で彼が開発中のシステムを担当することになりました。

それまではJavaでの保守をやっていたんですが、引き継いだシステムがPHPでコーディングしているではありませんか!

しかもCakePHPというフレームワークを使ってる。

さらにはそれまで手薄だった、Javascriptまでがっつり埋め込まれている。

頭の中は「???」状態でした。

ろくにコーディングも保守もできない状態の私に一気に重くのしかかってきました。

4.入社後6ヶ月の成果とは?

先輩から引き継いだシステムのコードが(上司曰く)ひどいものだったらしく、仕組みの理解ができずに思い悩みました。

基本的に上司は小さいものから大きいものまで数十件のタスクを抱えていた人なので、あまりじっくりと教えてはくれませんでした。

上司自身も一人でなんとかやってきた人なので、自分で調べて自分で解決する、というスタイルが定着していました。

 

そんな環境の中、だんだんと夜遅くまで残ることが多くなりました。

Javaはおろか、PHPすらわからない。

エラーを調べても何が原因で、どう修正すれば解決につながるのか、わからないまま時間だけが過ぎる日々でした。

これは生活にも支障が出始めました。

夜ご飯を食べない日々が続いたり、土日も勉強どころではなく、1日ゴロゴロして終わるような情けない生活が続きました。

5.入社後1年の無念な実績

そんなこんなで1年。

途中、WordPressで運営しているウェブサイトをMovableTypeに移行するというお手伝いをしたり、新たに取引先の学校の授業動画の編集作業をしたり、ウェブサイト制作チームの保守作業を手伝ったり、本業以外の作業を挟んで1年が経ってしまいました。

信じられないかもしれませんが、この時点でプログラミングは全くできない状態です。

データベースの設計・構築はおろか、コーディング自体がまるでできない。

バグの改修案件も数え切れないほど溜まり、自分のやる気もモチベーションもなにもかも失っていました。

時には上司の手伝いで朝までやることもありました。

6.入社後1年と6ヶ月

この時点でやる気がなく、辞める決心を固めていました。

それに会社も人がどんどん辞めていき、業績も赤字ばかりが続いていたようです。

こんなんでいいわけない。
でも今はとにかく休みたい。
パソコンも触りたくない。
何もやりたくない。

こんな感じで思考回路はすでにクズ同然でした。

仕事に対する未来、会社も未来ともに感じなくなったので、結局辞めるという決断に至りました。

すべては私の怠惰が原因なのですが、それについては次回「Webエンジニアという職業から逃げた話②」で詳しくお話します。

7.辞めて思うこと

今最も旬のWeb系のお仕事を離れたのは、以上のような経緯があったからです。

本当に自分は努力が嫌い、興味がないとやらない、という性格でそれが仕事にも響きました。

特にWebエンジニアは覚えることも多いし技術の変化も早い。

これに自分のモチベーションが追いつかなかったです。


次はWebエンジニアになる上での心構えのようなものをお伝えしていきます。

 

【5分でわかる】プログラミング未経験からWebエンジニアになるための7つの覚悟 - Chimo no Logue

【スポンサーリンク】