真逆のキャリアチェンジ – エンジニアになって半年が経ちました


こんにちは!デバイスソフトウエア開発部の平尾です。

未経験からスタートし、エンジニアとして半年が経過しました。今回は入社前後での変化についてお伝えしたいと思います。

簡単な自己紹介

  • 前職:自衛官
  • プログラミング経験:職業訓練にて1年間の学習
  • オフィスワーク経験:なし

上記の通り、プログラミング経験だけでなくパソコンを使った業務経験もありません。

しかし、自ら考えたものを形にできる点や、AIなどの最新技術にも興味があるということもありエンジニアという職業を目指しました。

学習と業務の大きな壁

入社後、初めて入ったプロジェクトで行った業務はJavaでのファームウェア開発でした。

実際に業務を行うにあたり、特に下記の点で大きな壁に直面し知識のギャップを痛感しています。

1.「APIの理解不足」

2.「開発をする上で使用するGitやLinux」

3.「セキュリティやネットワークの知識」

 

1. 職業訓練校での学習では基本文法、オブジェクト指向の概念、簡単な自作クラスの作成等は行ってきましたが、「java.util」や「java.io」の標準APIに対する理解が不足していました。また、実務では標準APIだけではなく外部APIも使用するため、コードを理解することができなかった要因の一つになっています。

2. 入社前まで「Git」について全く知らず、実務で初めて使用しましたが「コンフリクトの解消」、「誤ったコードのpush操作」など複数人で開発する難しさを痛感しました。また、今までGUIでの操作でしか行ってこなかったため、「Linux」のようなコマンド操作には慣れるまで時間がかかりました。

3. ファームウェアアップデートの仕様書を確認した際、「ハッシュ値の突合」や「暗号化スイート」など聞き慣れない用語が頻出しており、一つ一つ確認しながら進めていました。今後、アップデートやデータの送信に関する実装タスクなども行う予定ですので、引き続き知識を深めていかなければならないと考えています。

自分なりの問題解決法について

上記で記載した通り、現在の知識のみでは業務を円滑に遂行できないため「生成AI」を積極的に活用して業務を進めています。

また、生成AIへの質問の仕方によっても有益な回答になるかが変わってくるため、「質問だけではなく現状の細部情報も伝える」工夫をした上で質問するようにしています。例えば下記のように質問した場合の回答の違いですが

1.クラウドにデータを送信しようとしたが送信できなかった。

2.S3にZIPファイル形式のデータを送信しようとしたがAmazonClientExceptionのエラーログが表示され、送信できなかった。

1の質問に対して生成AIの回答

クラウドへのデータ送信ができなかった原因として、いくつか一般的な問題が考えられます。以下のチェックポイントを確認してみてください。

クラウドデータ送信エラーの一般的な原因と対処法

1.ネットワーク接続の問題 データ送信には安定したインターネット接続が不可欠です。

接続状況の確認: Wi-Fiや有線LANが正常に接続されているか確認し、接続が不安定な場合はルーターを再起動してみましょう。 インターネット速度が極端に遅くなっていないか確認します。 一時的な障害: 一時的な接続障害の可能性があるため、少し時間を置いてから再度送信を試みます。

2.容量に関する問題 データが大きすぎたり、保存先に空きがない場合にエラーになることがあります。

クラウドストレージの空き容量: ご利用のクラウドサービスのストレージ容量が上限に達していないか確認してください。容量が不足している場合は、不要なファイルを削除するか、容量を追加する必要があります。 ファイルサイズの制限: 送信しようとしているデータのサイズが、クラウドサービス側で定められている一回あたりのアップロード制限を超えていないか確認します。サイズが大きい場合は、ファイルを分割したり、圧縮したりすることを検討してください。

3.設定・認証の問題 ログイン状態やアプリケーションの設定が原因で送信できないことがあります。

アカウントの認証・ログイン状態: クラウドサービスのアカウントからログアウトしていないか、または認証情報に誤りがないか確認し、必要であれば再度ログインしてください。 同期設定やバージョン: 利用しているクラウドサービスのデスクトップアプリやモバイルアプリが最新バージョンか確認します。古いバージョンの場合はアップデートが必要です。 設定に問題がないか、同期設定などを再確認します。

4.サーバー側の問題 まれにクラウドサービス側のサーバーで障害が発生していることもあります。

サービスの状態確認: 利用しているクラウドサービスの公式サイトやSNSなどで、システム障害やメンテナンス情報が公開されていないか確認してみましょう。障害が発生している場合は、復旧を待つしかありません。

2の質問に対して生成AIの回答 

AmazonClientExceptionは、AWSへのリクエストの送信または応答の解析ができない場合に発生する、クライアント側の一般的なエラーです。S3へのZIPファイルの送信時にこのエラーが発生した場合、以下の原因が考えられます。

考えられる主な原因
1.ネットワークまたはプロキシの設定の問題

S3エンドポイントへの接続が不安定、またはファイアウォールやセキュリティグループでブロックされている。

ローカル環境でプロキシを使用している場合、S3クライアントにプロキシ設定が正しく構成されていない。

S3クライアント設定の問題

使用しているAWS SDKのS3クライアントの接続タイムアウトや最大接続数などのHTTPトランスポート設定が不十分である。

クライアントのリソースが枯渇している(クライアントの早期終了処理の不備など)。

認証情報(Credentials)の問題

AWS認証情報が正しく設定されていない、またはS3へのs3:PutObject権限を持っていない。

トラブルシューティングのステップ
ネットワーク接続の確認: pingやcURLなどでS3エンドポイントへの接続をテストする。

プロキシ設定の確認: AWS SDKのS3クライアントにプロキシホストとポートが正しく設定されているか確認する。

クライアントリソースの管理: S3クライアントを使用した後、適切に閉じているか確認する。

大きなファイルのアップロード設定の確認: ファイルサイズが大きい場合、マルチパートアップロードを使用しているか、またクライアン>トのHTTP設定(タイムアウトなど)が適切か確認する。

上記の状況であれば2のように、出来るだけ詳しく伝えることでより詳しい回答が得られます。しかし、生成AIから得られた回答だけを鵜吞みにせず、必ず自身でコードの意味やロジックを確認してから利用するように徹底しています。

また、生成AIで解決できない場合は先輩に質問しますが、こちらも同様に現状の情報を伝えた上で質問をするように心がけています。

入社前から比べて

現在、知識や考え方はまだ十分ではありませんが、問題解決への向き合い方はこの半年間で大きく変わったと感じています。

以前は意図しない動作やエラーが発生しても何が原因なのか、どう改善すべきかが分からないだけではなく、どう質問すればよいかもわからずに「何もできていない時間」を過ごしていました。

しかし現在はエラーの発生状況やログの確認を行い、他の解決法を模索するようなことが少しずつできるようになり、「何もできていない時間」が減少したと感じています

どのように対応すべきか迷う状況は、エンジニアになってからたくさん直面しています。そのため、今後も引き続き良い問題解決方法を模索していきたいですね。

まとめ

ほんの一部ではありますが、エンジニアになって感じたことを書かせていただきました。

未経験業種となると前職との考え方の違いや、必要な技術が異なるため大変なこともあります。ですが何よりも自分で作ったものが動くときの嬉しさや問題が解決したときの達成感、誰かと一緒にものを作る楽しさなど他には代えがたい魅力がある仕事です。転職するにあたって不安はありましたが、今はやってみて良かったなと感じています。業務に必要な知識はたくさんあるので、引き続き業務や学習を通してスキルアップしていきたいです。

繰り返しのようになりますが、私は今まで業務でパソコン使用したことがありませんでした。ですが、周りの助けもあって業務を進めています。もし、私と同じように実務未経験で転職を迷っている方に「こんな人もいるんだ!自分も頑張ろう!」と思っていただければ幸いです。

最後まで読んでいただきありがとうございました。

エコモットでは、ともに未来の常識を創る仲間を募集しています。
弊社に少しでも興味がある方はぜひ下記の採用ページをご覧ください!