見出し画像

もうすぐ1年!未経験エンジニアの辛いとこ

こんにちは。こんばんわ。
下書きが溜まっていたのですけども公開しておらず、長い時間が経っていました。

いつもお世話になっている方も、ここを始めてみてくださった方も、
2023年もよろしくお願いします。
去年は世界情勢的にも色々とあり、コロナも相変わらず、あと物価上昇もありで辛いことが多い中で、私は未経験からプログラマーデビューをしてそろそろ1年が経とうとしています。

研修があったため、実務は7月から今の2月ですが、今日は未経験からこれまでやったことと、その感想を久々に文章にしてみたいと思います。

ではいきます~。(また例の通り長くなるかもです…)

入社前は、ITパスポートを取って、Javaの本当に基本の部分が分かるだけっていう感じでした。if文とかswitch文がかけるだけのへなちょこレベルです。

そしてまず、入社して1年足らずで触れた者たちが下のものでした。

  • Java

  • HTML, CSS (Web画面系)

  • TypeScript

  • JavaScript

  • ABAP (SAP)

  • SQL (データベース言語)

言語はこのくらいでした。広く浅く(笑)
その他には、

単体テスト、詳細設計書、仮想環境をローカルに持ってきて開発、
asp.net coreでの開発、プロジェクトソース管理ツールでgit、SVNのどちらも使用、コードのデバッグ、趣味でサーバーを借りて自作Webサイトアップ

を経験しました。それぞれを広く浅くなので、完璧につかいこなすってもう全然できないです、、(笑)
でも色々やったなぁって思っています。

短期もののプロジェクトが多かったのが影響していると思います。
色々あって九州まで来て仕事しながらも、私は効率を追い求めるのとか苦手なので、何十回何百回も「この仕事楽しいけれど、性格的に向いてないなぁ」って思いました。今も思ってます(笑)
体に不調をきたした時期もあったし、未経験から周囲が猛者しかいない環境で実務に入るのは中々ハードルの高いことだなぁって思いました。

体の不調は、毎夜帰って落ち着いたら38℃超えの熱が出るのと
謎の足痛です。(ほんと数百m歩くのさえつらかった)
今は完全に治っていて逆に何だったのだろうという感じですが…
あとストレスから来る喘息的なのも一時期酷かったですね。

え、ボロボロじゃない?
分からないことが説明できないのってつらい(^^;)

ということで、今回の日記ではつらつらと実務のことを書いてみたいと思います。

私の日記ですが、たまにライラさん(ゲームのキャラ名)の文章が好きって言ってくださる方がいます。とても嬉しいですし、またこうして書きたい!ってなります。
ぜひティータイムや移動のおともに読んでくださると幸いです。
(いや、ティータイムはもっとおしゃれな雑誌見たり、景色見たりして~(笑))


◎実務1~2,3か月目 環境開発作りに泣いた

研修ではJavaとHTML, CSSをやりました。
↓みたいな雑コードは少し頑張ればみなさん書けるようになると思います。

雑Java  (mainメソッド表記も抜きでFF14クイズ)

/** 問題文 */
String question = "召喚士が召喚できる蛮神を1つ答えよ。"

/** 答えのリストを準備して、詰める */
List<String> answerList = new ArrayList<String>();
answerList.add("イフリート");
answerList.add("タイタン");
answerList.add("ガルーダ");
answerList.add("バハムード");
answerList.add("フェニックス");

// 問題文表示
System.out.println(question);

// 回答を入力してもらい、それをシステムで取得
Scanner scanner = new Scanner(System.in);
System.out.println("回答をどうぞ");
String myAnswer = scanner.nextLine();

// answerList分チェックして入力されたものがあれば、正解フラグをオンにする

/** 正解フラグ */
boolean correctFg = false;

for(int i = 0; i < answerList.size(); i++) {
    if (myAnswer.equals(answerList.get(i))) {
        //入力したものが答えのリストにあった
        correctFg = true;
        break;
    }
}

// 正解フラグがオン(true)になった時は、正解!を画面に表示する
if (correctFg == true) {
    System.out.println("お見事!正解!");
} else {
    // そうじゃなかったら不正解を表示
    System.out.prinnln("残念!それは召喚できないです、、");
}

これを打ってもみなさんの画面に映るのは
問題文、
「回答をどうぞ。」_____
正解か不正解か

の3つだけなのでプログラミングって面白いです。

余談はさておき…
実務が始まって、いざ仕事!ってなったときにまず大きな壁にぶち当たりました。それは・・

「説明された開発環境の作り方が分からないっ」

先輩「じゃあ、自分のローカル環境にこれ作ってもらって、リモートデスクトップの接続先は~~で、あとHyper-V マネージャ起動って〇〇さんが教えてくれるよ!あ、プロジェクトのソース管理はgitっていうものを使います」

もうこの時点で「ほえ???」でした(笑)

コードを読むとか見るとかの前の段階の話でした。
開発環境を作るだけで数日かかりました(^^;)

あとショートカットキーもエクセルの操作もままならないので、作業が全然進みません。
開発環境を作るっていうのに大変な苦労をした出だしでした。

教えてもらったものを打ってクリックしてもエラーが出るんですよね。泣
暗雲立ち込めるスタートです。
この最初のプロジェクトは、社内で進捗が大分進んでおり、新人に開発を任せても余裕があったようで私は2機能の製造を任せてもらえました。(新人で製造したの私だけ!)
某テレビ局の人が使う業務システムを、ActionScript(古い)からJavaScript(新しい)に移行させるプロジェクトでした。

9日くらいの製造予定でした。が、
もう業務のプログラムって全く意味が分からなくて…
現実を知りました。教えてもらいながらも1ヵ月(20日)かかりました。。

5時間考えても分からないときもあったりして、大分くるしみました。
そうして製造が終わったも束の間、今度は作ったプログラムのテストがあります。

で…バグの数、いや言うのはやめておきます。
これくらいだったらいいなぁって先輩と笑い話してた6倍はありました(笑)
レビュー指摘なんて40件です。泣いちゃうw
不要なインポートがあります。半角スペースがあります。とかです。

※解説 プログラムの製造には大まかに以下のようなステップがあります。
製造(コードを書く)

製造が終わったら自己チェックと動作確認

レビューをしてもらう(書いたソースのチェック、規約違反、ミスなど)

レビューでの指摘を元に修正

機能の単体テストに入る(基本的には製造した人と違う人)

テストのNG(バグ)を修正して動作確認

NGを0件にして完了!

画面系で、今回は焼き直し前と寸分たがわず同じに仕上げないといけなかったため、1ピクセル以上のずれも許されませんでした。こわ
CSSでletter-spacing(文字間調整) :1px , 2px…とか永遠としました…)

そんなこんなもあり、最初のプロジェクトは製造した機能に半分使いつつ、あとは他機能の単体テストや、細かいCSSのレイアウト修正などをしました。

でもこの時は特につらいは無かったです。
色々エンジニアのことも教えてもらったし、コメントいるかいらないか論争とかも上司の人と話したりしました。
今もそのプロジェクトマネージャーの上司の元で仕事しています。3月からの長いのも。

家に帰ってちょこっとだけ勉強は続けていました。

◎実務4か月目 社内日報システムの設計書作りに泣いた

次のプロジェクトが始まるまで社内SEになりました。
また泣きました。(笑)

新人3人で概要設計書を元に、詳細設計書を書いていくのですが・・

「いやまだプログラムの理解もできてなーーい!
使うシステムのこと知らんのっ
C#
bootstrapってなに…!?
MVCパターン、グローバル変数、エンティティ…」

設計書を書くって、そもそも書くための道具を何も持っていない私たちには大変でした。。
毎日夕方頃には頭痛してました。
設計書について理解が深まったのは、1月のプロジェクトで巨大なプログラムの詳細設計書修正をしたときでした。

お仕事から帰ってやっぱり揚げ物とかマックとかをご褒美に食べたいって思うのは仕方ないですよね。(笑)

あと小説を読まなくなってしまいました。FF14でお腹いっぱい…

◎実務5か月目~ デバッグ力成長、進捗管理に泣いた

なんか泣いてばっかりだけど(笑)
11月からのPJは外部の企業のものに参画するという形で20人以上の大人数が関わるプロジェクトでした。

某大企業の労務システムに関わるものです。
開発環境もある程度説明書を見ながら自分で作り、ショートカットも少しは使えるようになりました。

今回のプロジェクトは、ABAPをJavaに書き換えるという、誰も経験がなかったため、プロジェクト自体がみんなでノウハウドキュメントも作っていく感じでした。

毎日進捗を自分で書き込み、夕会で確認されるのですが、製造に入ると皆さん進捗がマイナスで大変でした。私も。

このプロジェクトの機能は巨大で、1万2000行のものとか、定数定義部分だけで数千行とかもありました。さすが大企業のシステム…

データベースを見る力、そのステップ数をデバッグする力がつきました。
単体テスト仕様書も自分で作りました。
相変わらず進捗真っ赤で分からないことだらけでしたが、最初の7月の手が全く出なかった頃に比べたら少しは成長したかなって思います。

毎日夜10時近くとかあったり、身体不調になったりありましたが、1月の最後の方は試験不具合を一人で直したり、ここがおかしいと思いましたってデバッグして言えることもありました。
ちょびっとだけ進歩。

◎これから

2月は小さい開発をこなして、また3月からは新しいことも始まります。
思い描いていた、コーヒーをすすりながら、「さてさて、^^」って気持ちで仕事をできるエンジニア像とはまだまだ全然違います。
給料泥棒じゃない…?って不安になるくらい詰まるときもあります。
先輩の人と話が通じて仕事が進むレベルになるのがまず今の目標です。

優雅な仕事とは程遠かったです。
が、私も良いエンジニアになりはしたいので、今後も泣きながらがんばっていきたいです。

こんなこともあって、ff14でいつも遊んでくれたり、しゃべってくれる皆さんの存在に助けられています。
特に同じLSのステラさんには疲れた~癒し~とか甘えすぎて申し訳ないくらい。皆さんいつもありがとです。

今年は基本情報の資格を取って、JavaとSQL、JavaScriptをそれなりに書けるようになりたいな。

ほんとはもっと書きたいこともありますが、大分長くなってしまったので今回はここまで。これ聞きたい~って質問があればいつでもお気軽にどうぞ。

読んでくださった方ありがとうございました。
「コーヒーが冷めないうちに」この記事も読み終わると思ったけど、冷めちゃってたらすみません(;^_^





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