見出し画像

プログラミング知識0の「情弱人間」がエンジニアへ転職したエピソード【前編:挫折編】

初めまして。
カイリー ーです。

2020年2月の頭から、本格的にエンジニアになってからの経験および知識についての情報を共有しようと発信を続けています。

そもそも、私自身がどんな人物で、どんな経緯で今エンジニアとして存在しているかについて、
前職から今に至るまでの経緯を含め書いてみました。
はっきり言って面白いかというと、面白いかどうかは読者判断になるので、わかりません。が、書きました。
過去のエピソードをつらつらと書いているうちにすごく長くなってしまいましたので、前編、後編に分けたいと思います。
本編は前編をお送りします。

前編:プログラミング知識0の人間が転職し、エンジニアへ…【挫折編】

始まり~2018年6月まで


私はもともと医療事務として社会人になり、そこで約10年の時を過ごした。
そこではよく町にある調剤薬局で現場の医療事務として5年務め、その後昇進し、現場を管理する部門へ異動。
管理部門では主に売掛管理、現場からの問い合わせ対応、新規店舗立ち上げ準備、現場担当が持ち回りで執筆する医療事務としての知識を共有する記事の添削など。
そういったことをしていた。


その後、薬局業界も変遷していき、処方箋だけにとどまらない、一般用医薬品の販売(ドラッグストアに売っている薬をイメージしてもらえればわかるかと思います)、健康をサービスする事業(骨密度測定、食生活改善アドバイス、脳の活性化を促す運動療法など)や、
いわゆる健康食品などを販売していかなければいけないような業態へと時代は変化していった。
その過渡期に、私は管理部門から、上記で述べたような健康食品を販売、サービス企画をする部署へ異動し、売り上げを伸ばすのはもちろんのこと、「健康寿命を延ばすには?」をテーマに試行錯誤を繰り返す日々でした。
その当時、登録販売者健康マスター検定シナプソロジーインストラクターなど様々な資格を取得し、いかに貢献できるか?を考え試行錯誤していた。

そして、その部署で販促企画をする中で、POPの作成などにも携わり、次第に本格的な「デザイン」に興味を持ち始めました。

転職を決意したのはまさにそれくらいの時期で、単純にWEBデザインは面白そうぐらいの軽い気持ちで、何もわからないままPhotoShopをスクールで学び始め、同時に転職活動を始めた。
今考えると、現在のWebデザインのことも全く無知、HTMLやCSSもほぼほぼわからない状態で転職活動をしている時点でバカげているとしか言いようがない。
過去の自分に会えるなら「情弱」ではこの先生きていけない、まずはリサーチをして、必要な学習をし、ポートフォリオの作成をしなさい、叱咤を飛ばしたい。

そんな私がなぜ、今エンジニアになっているのか?というと、就職活動をしていて、面接をしてくれる会社がWebデザイナーを募集していたため、応募してみたが…

しかし、ここでもちゃんとリサーチしない情弱な私。
面接を受けた会社はSES事業を展開する会社でした。
(SES事業がわからない方は以下をご参照)

SESの会社が悪いわけではないし、今でも勤務しているので、その点については特に問題ないのだが、問題は求人の仕方でした。

WEBデザイナーを募集しておきながら、実態はプログラマが欲しかったらしく、「プログラマ」ならすぐにでも採用します。
という「採用」という甘い言葉に誘われるがまま、

「プログラマでも技術を学べるならプラスになるか」

と、その時はポジティブな姿勢で、入社を決めてしまったわけです。

今考えると軸はブレブレ、考えも甘い、リサーチ不足、言い出したらキリがないくらい、本当に馬鹿だったのだな、と反省きてもしきれません…。
最近のプログラミング初心者がちゃんとリサーチし、学習方法を確立し、アウトプットして、という方々を見ると本当に尊敬します。
今でこそ、アウトプットの重要性を理解し、実践しておりますが、それにいち早く気づき、学習しながら行なっているプログラミング初心者の方は素晴らしいの一言です。

恥ずかしながら、こうして私のエンジニア人生がスタートしたのです。

どん底

2018年7月~
ここから何もわからないエンジニアとして、人生一の挫折を味わうことになります。

10年勤めた前職を退職してから、今の会社に入社し、約1ヶ月の研修がスタートした。

その会社の事務所にはたった2人しかおらず、1人はたまにこの事務所にくるプログラマの方で月一顔出す程度、1人は自社のHPをリニューアルしているWebデザイナーさん。(皆現場に出ているのだから当然です。当時何も知らない私は不思議でなりませんでしたが…)


初日は社会人としてのマナーを学ぶための課題をひたすら実施。
2日目はセキュリティに関する情報をひたすらググって調べて報告という課題を実施。
ちなみに報告相手である上司の方も現場に出ているので、報告は全てOutlookでの報告でした。

3日目以降からはJavaの学習に入った。
ただし、具体的な内容は特に与えられておらず、指示書には

Javaの自習を行い、わかった点とわからなかった点を毎日報告すること。

これだけだった。
入社前に「御社に入社するに当たって優先して学習しておくべきことはなんでしょうか?」と質問した際に「Javaの学習をしておいてください」との回答だったため、入社前には自宅のPCにJavaの環境構築(eqlipse)を行い、Javaの参考書、schooという動画学習サービスを利用して、超基礎的な部分だけは学習していた。(if文、for文、変数など。この時、引数や、戻り値、関数など、全く分からなかった状態です)

よしやるぞ、という勢いでJava学習を始め、毎日自分が気づいた点などについて報告を行っていき、1週間は音沙汰なく過ぎ去っていった。

2週間目が過ぎようとしている頃、担当上司からやっとメールが来るようになった。

明日からもJavaについて学習し、理解できた点、わからなかった点を報告してください。
質問などもあればメールに記載し、報告をお願いします。

たしかこんな内容だったと思う。
よしやるぞ、と意気込んでたのも束の間、
私はエンジニアとして初めて厳しさを味わうことになります。

次の日の業務報告時、上司が指示していたように、理解できた点、わからなかった点などを記載してメールで報告し、返信されたメールに打ちのめされた。

・○○について理解した、と報告しているが、○○について詳細に説明できますか?
○○については考慮した上で理解したと認識して良いですか?
認識しているなら○○の点について、説明をお願いします。
・また、○○がわからなかったと記載がありますが、○○という言葉は存在しません。
なんのことを指しているのでしょう?
理解ができません。

詳細に記憶していませんが、大体こんな内容だったと思う。
専門用語の応酬に、それを説明しろと…?
全く何を言われているのかもわからなかった。
エンジニアの世界とはこんな言われ方をするんだな…。厳しいな…。説明なんて出来ないよ…。
そう思ったが、後に上司は

「理解したは一から全て説明出来て、理解した」だ。
大枠の中の一つを理解できたのなら、その点を詳細に書け。

とのことだった。
なるほど。言い方は腹立たしいが、この人に対しては無闇に理解した、という言葉を使うと痛い目に合う。ということを念頭において、次の日からの報告を細心の注意を払って行うようにした。

次の日の報告
分かりやすさを重視して、画面コピー等を駆使して、この部分について学習した。
この点はどう言った意味なのか?
そう言った方法に切り替えた、がしかし…

画面コピーをつけて報告して良いと言った覚えはない。
全てメールの文面に記載して報告すること。
画面コピーをつけたいのなら、事前に許可を得てからやるべきではないか?

こう返ってきた。
なるほど。自分の指示以外のことはやるな、とそう言いたいのだなと思った。私の報告方法が悪かったのもあるし、質問の仕方もなっていなかったのは今考えれば酷かったが、エンジニアとして初マウンティングされたのはこの時だった。

その後、ただの自習から、次の課題は簡単なWebアプリケーションの実装をすることに切り替わった。
Java、サーブレットを使用した内容で、
①テキストボックスを作り、そのテキストボックスに文字列を打ち込む
②送信ボタンを押下(submit)
③②をすると画面遷移する
➃画面遷移後、テキストボックスに打ち込んだ「文字列」と「戻る」のアンカーボタンがあり、
戻るボタンを押すと、①の画面に戻ることが出来る。


といった今考えればごく簡単な実装だったのだが、私はこの実装を2週間かけてもできなかった。
毎日進捗報告をするのに、一歩も前に進むことが出来なかったと報告するのが嫌で嫌で仕方なく、だからといって質問の仕方を間違えるとまた何を言われるかわからない。
そんな思いで質問もせず、ひたすらググり続け、結果的にかなりの時間を要してしまった。

その後、担当上司から以下のようなメールが来る。

配属先が決まりそうです。
そこではSQLを主に使用するので、一旦Javaでの学習はやめて、SQLの学習に移ってください。

「やっと現場に出られるようになるのか、あの上司に毎日の報告をしなくて済むようになるのなら、早く現場に出た方がよい。」
こう思った。

しかし、本当の挫折を味わうのは現場に出てからだった。

現場へ配属:2018年8月中旬

いよいよ現場での勤務が始まります。ただし、周りに知っている人が誰もいない。一人現場配属というやつです。
ここでは主にBIツールを使ったデータ抽出、作成をメインの業務としており、SQLの知識が必要不可欠だった。
このとき、当然SQLの知識も全く皆無だった私だが、Javaに比べたらSQLは出来そうじゃないか、その甘い考えが悲劇を招くことになる。

その現場にて3か月程度(3か月だったか、1か月だったかうる覚えだが)BIツールの使い方を学んでから、その現場から別の現場に一人で入ってもらう。という話だったのだが、

2週間後に現場に入ってもらいます。
今入っている人は9月いっぱいで退社するので、1か月で業務引継ぎを行い、
その後一人で業務していただくことになります。

といわれ、当初の話と全く異なるが、必死にBIツールの使い方とSQLについて学んだ。
基本的に放置プレイだった為、基本的な使い方も教えてもらえないままで、一人で悩んでいたが、こんなところで一人悩んでも拉致があかない。
誰彼かまわず使い方を聞くことにした。
最初に聞いた相手は、私がプロパーではない人間なのを知っていたのだが、
質問をすると、なぜ聞いてくるんだばりに、わざとわかりづらいように説明をしてきて、何一つ理解することが出来なかった。
この人に聞くのはやめよう。
そう思い、次に聞きに行った人は今年4月に入社したという新人の方で、非常に丁寧に教えてくれた。

私31歳(当時)、新人の方22歳(当時)
31歳のなにもわからないおっさんが、新人に教えを乞うという光景だが、
恥なんてものはなかった。むしろここでウザがられてもかまわない。

そんな気持ちで吸収していこうと思った。
こうして基本的なBIツールの使用方法をなんとなくわかっていき、あっという間に2週間が過ぎた。

現場から現場へ 業務の引継ぎ:2018年9月

画像2

いよいよ現場から現場へ入ることになり、前任者から引き継ぎを受けることになります。
ここでは、AWSを使用したクラウドによるデータ管理を行っており、
誰もが知っている超大手さんがユーザーで、求めらる要求もかなり高かったと思う。
正直私もAWSについては勉強不足でうまく説明出来ないのですが、簡潔にお話しすると、従来のサーバーは物理的にサーバーを準備し(オンプレミス)、自社で管理を行う為、設置場所やメンテナンスをすべて自分たちで行わなければいけませんし、コストも莫大にかかりますが、
AWSは仮想サーバーの為、すでに出来上がったサーバーを使用するイメージであり、設置場所や自社で物理サーバーを準備する必要がない、メンテも必要なし、また従量課金のためリソースの割り当て量も使った分だけになるため、コストも抑えられるといいことづくめです。


この点は私の勉強不足でもあるのですが、仮想サーバーのデメリットがあるのかがうまく説明できません。以下のサイトで導入に対する不安について解説されていますが、解説策はすべて示されています。

そんなわけで、当時AWSという言葉も初めて知った私にとって、終始何を言っているかわからない生活がスタートです。

始めはテーブル設計書の整理から始まり、慣れていくところからスタートしたのですが、いかんせん引継ぎ期間は1ヶ月しかありません。
その間にもBIツールの使用方法、SQLでデータ抽出をできるようにならなければいけない。など課題は山積みでした。

BIツールをUI上で操作するのは研修で実施したため見ること自体は問題なかったのですが、当時バカでかいSQLの構文を見たときは驚きを隠せませんでした。

テーブル結合がめちゃくちゃされていて、もはや結局どうなっているのかわからない、知らない関数もたくさん使われていて、ググるとこからスタートし、理解するのに時間がかかる。副問い合わせが読み解けない。
もはやパニックでした…。

前任の方は丁寧に教えてくれたのですが、私があまりにも無知すぎる為、何度聞いてもわからない。
そんな申し訳なさに、毎日朝5時には起きて、行くまでの時間に毎日SQLの勉強をするようになった。

が、実務でSQLを書いたことがなかった為、改修箇所も読み解くこともできず、そんな毎日を過ごしている間にあっという間に1ヶ月が過ぎ去った。

前任者がいなくなって初日、最初に支給されたPCとは別のPCへの入れ替え作業があった。(理由は忘れましたが)
そこで苦戦したのが、環境構築でした。
・WinScp

・SVN

上記のような環境構築だ。
前任者がいるときは、不明点は前任者に確認できたが、今回は一人で構築しなければならず、そこで前へ進めなくなった。
一応引継ぎ書はあったが、それ通りにしても動かない。
ググって調べてみるがわからない。

環境構築すらできず、気が付けば22時を回っているなんてことはざらにあった。以前PMに聞きに行った際に、ものすごく嫌な顔をされた記憶があるので、それ以降まともに聞くことが出来なかった。(もちろん私の聞き方もよろしく無かったのもあるかと思いますが。)

仕方がないので、全く異なる業務をしているプロパーさんに「これを構築しているんですが、この点は引継ぎ書に書かれていることを、このように実行したのですが、うまくいきません、原因わかりますでしょうか?」
と聞いたこともあったのだが、その人もやはり自分の業務外のことはわからず、結局うまく構築できず終い。
次の日も朝早く起きて、7:30ぐらいには会社に着くように出社し、環境構築と併せてBIの改修をしなければいけないものを進めた。

その後、BIの改修完了したものをいよいよリリース。
リリース前にPMへ改修した内容を確認依頼へ。
しかし、
間違いが発覚。訂正へ。
間違いが発覚。訂正へ。
この繰り返しでPMに何度も怒られました。



「私が一瞬みて気づいた点をなんで改修しているカイリー ーさんがわからないんだ。」
「これじゃリリースできません。リリースは延期です。」

ぁぁ、やってしまったと。
なんで私はこんなことも出来ないんだ、
なぜ間違いに気づけなかったんだ、
と自分で自分を追いつめ続けた。
SQLも毎日勉強しているのにわかるようにならない。
今はBIのUI上の改修だけだから良いが、ETL作業が入った場合にどうしようもない。

そうやって、わずか数日でメンタルがやられてしまった。
出来ないことが起きると、吐き気を催す。
完全に負のスパイラル。
夢の中でもコードが出てきて、よく眠れない。

そして、朝起きるとなにも考えられない。
ただ、あの場に行くと考えるとなると気持ちが悪くなる。その日会社を休んだ。

自社の人事部長に以下のように伝えた。


「申し訳ありません。今の私では力不足で、どうしようもありません。せっかく現場への手配等していただいたのに、何一つ進捗しません。
毎日SQLの勉強もしているのですが、一向にわかるようになりません。
大変ご迷惑をおかけしますが、辞めさせていただけませんか?」

本当にみっともないと思った。
何一つ業務を遂行できず、現場に迷惑をかけ、会社にも泥を塗ることになる。
初心者がエンジニアを目指すなんて並大抵のものじゃない。
そう思った。

が、人事部長は

せっかく入社して目指したのだから、ここで辞めるのは勿体ないです。
一度休みましょう。明日からは現場に行かなくて良いです。
現場とのやりとりは、後はこちらでなんとかしますので、明日休んで、明後日、問題なければ事務所に出社して下さい。そこで改めましょう。

とりあえずあの現場に行かなくて済む。
それだけでなんとか救われた気がした。
そして、会社にも迷惑かけたが、言い出して良かったと思った。
あのままであれば、間違いなく潰れていたと思う。

人事部長には「申し訳ないことをした」と言われ、社長にも同じようなことを言われたが、なんとなく本心では言っていないような感じには聞こえた。
もちろん、本音であるかどうかは本人にしかわからないのだが。
だがしかし、会社に救われたのも事実、こちらこそ申し訳ないことをしたし、汚名返上したいとも思った。

やはり開発現場の経験を積んだ方が良いと思いますし、そこにはうちの社員もいますので、何かあれば質問もできますので、次はそこに配属予定です。
それまでは、自社で学習しましょう。

そう人事部長にいわれた。ここからVB6というプログラミング言語を学ぶことになる。
配属予定の現場ではVB6、.NETを使用した開発を行っている為である。
世間ではレガシーといわれる言語だが、もはやそんなことは言っていられない。
世の中にはモダンなWeb系の言語を学んでエンジニアに昇華していくのが最近の定石のようだが、情弱な私はすでに始まっているし、まずは現状をなんとかしなくてはいけない。
そんな思いで、また振出しに戻り、事務所からスタートの一歩を踏み出すのである。

前編まとめ


続きは後編にてお送りしたいと思います。
ここまで読んでいただいた方、誠にありがとうございます。
私はエンジニアという仕事をなめきっていたんだと思います。
当然のことをやっていなかったがために、上記のような事態を招いたと、今でも深く反省しております。
ただ、この大きな失態を犯したことで、今後どうすべきなのか?
エンジニアとはどう生きるべきなのか?を改めて見つめなおせたと思っています。
この失態もあったからこそ、今少しでも情報を提供できればと、情報発信を始めたきっかけでもあると思います。

今回の内容は、大した内容のある記事でもなかったのですが、自分のありのままをお伝えしたつもりです。
記事自体は、本気で書きました。
なぜなら、本気で伝えたかったからです。
この内容がこれからエンジニアになる方にとっての一助になれたのなら幸いです。

続きは後編で。(完成したら改めてTwitter上でお伝えしたいと思います。)

この記事が気に入ったらサポートをしてみませんか?