1. はじめに
私は2024年1月に既卒としてソフテックに入社しました。そのためソフテックが初めての就職先です。
大学では情報系について学び、授業では主にC言語を用いていました。入社から今までの1年間を振り返りつつ、入社前に抱いていたIT企業へのイメージと、そのギャップを紹介できたらと思います。
2. 環境
オフィスは静かで、雑談も少ないです。しかし質問をすると、快く教えていただけることが多く、優しい方が多いです。
周囲で会話をしている方がいても、サウンドマスキング(空調音などで話し声などを感じにくくさせるシステム)もあり、作業に集中しやすいです。
会社によりますがIT系の企業ではみな黙々と作業しており、集中しやすいだろうというイメージがありました。この点に関してはイメージ通りでした。
驚いたのは、オフィスが綺麗で毎週ちゃんと掃除の時間を設けていることです。
会社風景(
https://www.softech.co.jp/honsya.htm)からも、綺麗さが見て取れると思います。
基本的にPC上で情報をやり取りすることが多く、紙をあまり使わないことも一因だと考えています。
四ツ谷の事業所に引っ越す前は、資料や機材が山積みだったらしく、今の事業所からは想像できないです……。
3. 研修
最近のソフテックでは、新入社員が最初にする研修として、C#で電卓を開発します。
自分も例に漏れず、電卓の設計・実装・試験を行いました。C#にはあまり触ったことがありませんでしたが、
大学やプライベートでもプログラミングには触れていたこともあり、そこまで難しくないだろうと考えていました。
しかし想像に反して設計書の作成で躓き、大きく時間を取られました。設計書など書類の部分で既定の書式を守ったり、
しっかりと仕様を定義したりと、隅々まで意識を張り巡らせる必要がありました。例えば、オーバーフローと表示させる閾値をどうするか、
何桁まで表示させ、それ以上の場合はどのようなルールで表示するかなど、個人開発では実装時に考えればよいことでも、設計時に定義する必要があります。
仕事である以上他人と知識を共有する必要があると気づかされ、組織の中にいるのだという実感を持ちました。表現にも気を配り、
1通りの意味にしかならないようにしつつ簡潔に、伝わるような文章を心がけました。

図1. C#での電卓研修
次はPythonとAWSを用いた電卓を作成しました。
これ以降の研修は今後担当する実務を見据え、それぞれで異なります。PythonとAWS、書類作成に慣れるためであり、電卓である必要はとくにないです。
むしろAWSの持つ様々な機能からしたら、今回のように計算するだけしか機能を使わないのはかなりの贅沢です。
作成した機能としては、まずコンソールに入力された式をAWSに送信します。AWSでは送られてきた式の構文解析と解析した結果から式の計算をして、答えを返します。

図2. Pythonでの電卓研修
最後に、Emailを用いた電卓をC#で開発しました。
数式を計算用サーバに送信し、メールを受け取ったサーバは計算結果を同じアドレスに返します。
例によって電卓である必要はありません。見た目は最初の電卓と同じため割愛します。
4. 初めての実務
私が担当した初案件は、PLCとPythonを用いて通信を行う動作検証でした。
ソフト会社のイメージだと、最初は先輩社員の作成したプログラムの試験あたりから案件に慣れていくのだろうと思っていました。
最初に試験を担当し、仕事や仕事のプログラミングに慣れたら実装、それにも慣れてきたら設計……といった流れをイメージしていました。後から聞いた話だと、
ソフテックは受託開発なのもあり、初めて担当する案件の作業の種類や難易度はまちまちとなってしまうそうです。
当時の私はPLCについて全くの無知でしたし、通信関連の技術は授業の知識のみで、実際に使用したことはありませんでした。
また、検証作業には知識が必要そうだと考えており、かなり難しい仕事なのではないかと感じていました。
さらに、打合せなどでお客様とのやり取りする機会もあり、技術的にも社会人としても未熟であった私に務まるのだろうかとも思いました。
文書管理や作業手順のミスなどいくつも失敗がありました。しかし先輩からのアドバイスを真摯に受け止め、しっかりと納品物を完成させることができました。
会社で仕事をするということについて、お客様や上司、チームメンバーとのコミュニケーションを疎かにしていればより大きな失敗をしてしまっただろうと感じました。
5. 二つ目の担当案件
次に担当した案件では、あるシステムのモジュールの設計から試験までを行いました。
この案件の前までは、実装(プログラミング)が一番大変だと思っていました。しかし、設計のほうが期間も長く難しく感じました。
実装中に設計の漏れが何度も見つかったり、仕様変更だったり、その検証だったり……。
一番難しかったのは、他の人に見せるという観点を考慮して設計書を作成することです。
自分自身や何度も打合せや報告を行った上司は理解できても、お客様には伝わらない場合があります。
想定される読者に対して適切な表現は何か、情報量が多くなく少なくもないか、提出するときには考える必要があります。
ソースコードについても、お客様が他のシステムと組み合わせた際にコードを確認することもあるため、わかりやすくする必要があります。
おそらく今書けば、当時は思い至らなかったことについても考慮することができ、別の書き方になるだろうと思います。
また、難しかった点として、前回の実務よりもお客様とやり取りをする機会が多くあったことです。
より高度なコミュニケーション能力が必要でした。設計では何度も認識合わせを行い、間違いの無いように進めました。
プログラミング技術や知識だけでなく、むしろそれを伝える方法などのコミュニケーション能力が求められる場面が多くあったと感じています。
6. おわりに
入社前のイメージから様々なギャップがありましたが、一番大きいのはコミュニケーション能力に関することでした。
ソフトウェア会社に就職活動をする際、「一番重要なのは技術力で、コミュニケーション能力は少しあればいいだろう」くらいに思っていましたが、むしろ逆でした。
他の社員やお客様とのやり取りだけでなく、文書などを作成することも多く、ここでも情報を伝えるためのコミュニケーション能力が必要となります。
何かしらの問題にぶつかったとき、プログラミングだけで何とかなりません。特にソフテックの仕事は難しいことも多く、一人ではどうにもならない場面が多々あります。
しかし、技術とコミュニケーション能力の両方を鍛えることのできる良い環境でもあります。
技術力だけでなくコミュニケーション能力を鍛え、もっとよい仕事ができるよう精進したいです。
(Y.I.)