高校2年の夏、インターンシップへ

去年の夏(高校2年の夏)はインターンシップに行ってました。 今年も2年生が行くと思うので、参考のため&自分の備忘録として載せておこうかと思います。 順当に行けば、1人1社のインターンシップでしたが、先生にお願いして2社行かせてもらった。

まずは、一社めから。

1社目の会社は、インバータで有名な会社でした。 オフィスも学校の大部屋ぐらいのおおきさなんですが、あの小じんまりと少数精鋭でやってる雰囲気が個人的には好きだったりしました。 期間は5日間と短かったでしたが、その間にとても勉強になりました。

最初の2日間

最初の2日は資料整理でした。 正直、「なんでここまで来て資料整理なんだよ(#・∀・)」とか思いながらも、 昼飯時に、社員の方と話すのがとにかく楽しかった。 元WEB系で働いていた人で今は家電製品のマイコンのプログラムを書いている人、 電子回路を組んでる人がいたり。

普段の学校生活では、私が一人技術の事を熱く語っても周りの人を置いてきぼりにしてしまいますが、 ここでは本業でコンピュータ/回路設計をされている方たちがいらっしゃるので実務経験を織り交ぜたお話で、 盛り上がってとても楽しかったです。

3日目

そして、3日目に、組み込み機器の制御をさせてもらいました。 見た感じ、IHかなんかの操作パネルの用に見えました。 ちなみに、開発に使った言語はC言語で、最初はLEDの点灯から入って、8セグメントLEDでの数字の表示。 その後、サイコロプログラムやルーレットプログラムなどの課題が出て、それを解いていくという形でした。 ハードウェアの制御は久しぶりだったので、思い通りに数字が表示できなかったりもしましたが慣れると進む進む面白い! (7を表示させたはずなの、なんか訳の解らん表示になってたり) さくさくと、コーディング→デバッグ→コーディングの繰り返しであっというまに、課題を達成。

4日目

4日目の課題は、PWM制御。 LEDの明るさを制御するために使う制御らしいです。 電圧で、制御できないこともないらしいが、LEDの点灯する電圧の幅が限られているので、微妙な調節が難しいのである。 それを解消するために、ONの時間とOFFの時間の割合で明るさを制御するのである。 てか、言われてみれば発行ダイオードなんてONとOFFしか無いのに明るさ制御とかどうしてるんだろう。。。。 という疑問がココで解けた。(^-^;)などと思いながらこれも、簡単だと思ったら・・・意外と難しい。
半日これに費やしてしまった。ネットを見れば、すぐに答えがわかるのだが、それだと、つまんない。
自分の脳をフル活用して効率よく、どういう実装が良いかを考えながら進める。 答えが出たときのなんとも言えないうれしさ。
これを味わいたいがために、わざわざ半日費やしたが「業務としては?」と問われると、ぐうの音も出ません。

5日目

しかし、5日目の午後に出た課題。
それは「ろうそくの炎の揺れ方」をLEDで再現するものだった。
俗に言う、1/fゆらぎというやつである。PWM制御を使えば簡単じゃんとか思ったら、
これが最後の課題になってしまった。結局1日と半日悩んで、ぎりぎりでプログラムを書いた。
しかし、美しいろうそくのゆらぎは再現できなかったorz。
インターン先の会社の人は「それっぽいのはそれっぽい。しかしまだ、LEDの明かりだ」という評価である。
正直自分でもそう思った。「でも、正直ここまでできるとは思っていなかった」と褒めてもらえたのも、嬉しかった。
なにより、自分に自信が持てたのが一番の成果だったかな。

この、インターンシップで、自分のコーディング技法やメンタル面での成長は大きかったと。
また、自分の知っている知識の少なさとプログラミングの技術に恥ずかしくなってしまった。

こんな、私をインターンシップとして受け入れて下さった&素晴らしい体験をさせて頂いた企業の方。
それに、関係者のみなさんに、感謝の気持ちで一杯です。