「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
私は2022年6月に第二新卒としてソフテックに入社しました。大学では、主に心理学・情報学を学んできましたが、
プログラミングに関しては軽く講義で触れたほどの経験しかありませんでした。
未経験として採用していただいてからこれまでの約一年を振り返り、学んだこと、課題と感じていることなどについてご紹介させていただきます。
入社後の技術的な研修として電卓を作成しました。
研修は第一段階と第二段階に分かれており、第一段階はC#言語で電卓アプリの作成を行いました。
この段階では製作に関して必要な書類の作成や、全体の作業の流れ、基本的なコードの書き方などについて学びました。
先輩社員から作業を一から指導していただき、設計、製作、試験を行いました。
完成したアプリは先輩社員方にレビューしていただき、画面表示の改善、コードの簡略化について助言を受けました。
研修の第二段階は、C#で通信機能を搭載したオンライン電卓の作成でした。この電卓の仕様としては、下記の図のような流れで計算を行います。
図1. オンライン電卓 通信の流れ
サーバ側のアプリは過去に先輩社員が作成したものをお借りし、私はクライアント側の作成を行いました。
通信機能を搭載したアプリの作成を通して苦労した点はいくつかありますが、その中でも特に苦戦したのは以下の二点です。
一点目は、例外発生時の処理です。通信を切断した場合や通信異常が発生した場合のバッファの扱いなどを考慮する必要があります。
そのためにはどのような例外が起こりえるのか、想定して設計書を作成しなければならなかったのですが、
考慮できていない点がいくつかあり、プログラミングの段階に入ってから苦戦しました。
第二段階のアプリ開発では、このような事前検討のための知識が不足していることを痛感しました。
二点目は、試験項目書の作成です。試験項目書は想定した動作が実装されているか試験を実施するために作成します。
研修の第一段階においても試験項目の作成・試験の実施の工程は踏みましたが、複数のアプリ間で通信を行う場合は第一段階と比較して試験項目が桁違いに増えました。
また、漏れなく、そして無駄な時間を割くことなく試験を実施することの難しさを実感しました。
また、今回執筆依頼を受け、当時作成したアプリを見返してみたのですが、レビューを受けた点についての改善が足りていないと感じました。
オンライン電卓作成当時は第一段階で受けた助言は特に意識をして取り組んだのですが、
一年経った今確認すると、コードは煩雑なところが目立ち、画面仕様についても改善の余地があるとわかります。
研修後に積み重ねた経験から、このような判断がつく程度には知識を培うことができたと考えられます。
判断力という点でさらに精度を上げられるよう、引き続き知識の蓄積に努めていきたいと思います。
研修終了後から現在まで、先輩社員の方々から多大な指導やサポートを受けながら実務に入っています。
これまでいくつかの案件に携わる中で、以下の二点について特に大きな意識の変化がありました。
一点目は作業の進め方についてです。ある案件で、複数のWindowsアプリやPLCが通信を行っている既存システムがあり、
その中のいくつかのアプリに手を加えて新たな機能を追加する、という作業を担当させていただきました。
すでに稼働しているシステムに機能を追加するということで、既存システムの理解を深めなければなりませんでしたが、全体の把握に苦戦しました。
機能の理解が足りないまま作業を進めた結果、後に先輩社員に確認すると修正が必要であることがわかり、
修正し、再び確認をしていただくといった無駄な作業を増やしてしまうこともありました。
この経験から、不明な点があれば自身で調べ、それでもわからなかった場合は先輩社員にすぐに質問に行く習慣がつきました。
また、質問することで先輩社員の時間をいただいている現状を自覚しながら、
自身が質問される立場になった場合は同じように返していけるようにならなければならないという意識が生まれました。
二点目はプログラミングについてです。研修期間中からコードを分かりやすく書くようにと助言をいただいていましたが、
案件に携わり先輩社員が製作したアプリにコードを書くという作業を経験し、その重要性を実感しました。
研修期間中では自分が見て分かればよいのだと考えていました。しかし、他の社員の方が作業を引き継いでプログラミングする可能性があること、
数年単位越しに案件に携わる可能性があることに気づき、自分が書いたコードを自分以外の社員が見て処理の内容を容易に把握できるようにコードを書かなければならないと意識を改めました。
以上の振り返りを踏まえ、下記の二点を課題としています。
一点目は技術の向上です。日々の業務に取り組む中でプログラミング言語や案件で使用される機材などについての技術的な知識が不足していると感じています。
先輩社員から助言やサポートをいただきつつ、作業を進めていますが、自身で知識を身に着けていかなければなりません。
参考書を読むほかにも、携わった案件の先輩社員が書いたコードを読むなどして実務に活かせる学びを積み重ねていきます。
二点目は状況を把握する能力の向上です。質問する機会が多く、また、スケジュールに沿った工数で作業を進めていくために必要な能力だと考えています。
ソフテックでは報告した日報を他の社員が読むことができるため、先輩方の仕事の進め方や報告の着目点などを参考にして、自身に活かしていきます。
入社後の一年で得られた気づきや苦労した点を振り返り、自身が技術者としても社会人としても未熟であると認識をいっそう強く持つこととなりました。 少しずつでも着実に力を付け、貢献していきたいと考えています。
(R.K.)
関連ページへのリンク
関連するソフテックだより