見出し画像

プログラミング未経験ながら「WebRTCを用いた ビデオチャット」の新人課題に挑戦しました!


どうもこんにちは、R&D部の林です。

プログラミング未経験な私が新人としてユニゾンシステムズに入社してから、はや一年が経とうとしています。

この記事を見ている方の中には、エンジニア未経験だけどIT企業ってどうよ??って興味を持っている方、不安に思っている方などいろいろいらっしゃるかと思います。

ざっくりですが、私はこんなことやったんだよ~というお話を紹介するとともに、IT業界に興味を持っている皆さんにはIT業界や弊社の仕事に興味を持っていただければと思っています(^^)


新人課題「ビデオチャット課題」

入社して最初の2か月はJavaというプログラミング言語の外部研修を受けたのですが、それが終わって「さあ自社で仕事じゃあ!」となったときに渡された課題が、このビデオチャット課題でした。

しかも使う言語はJavascript(Javaとは別物)やphpなど、研修で使ったことがなかったものです。

プログラムを動かすための環境構築なるもの(仮想マシン立てたりウェブサーバー構築したり)もしなきゃいけないんですが、ほぼ自分で調べつつ進めていきました。

「いきなりそんなことするの!?」って思うことだと思いますが、基本的には自分で調べて書いての繰り返しなのがこの業界のスタイルなのだそう。
私もめげずに調べながら環境構築やコードを書いていきました。(完全にドン詰まったときには先輩の知能にも頼りながら‥)

同期メンバーと、ああでもないこうでもないなどいろいろ試行錯誤しながら、初心者でもなんとか自分の映像をブラウザに表示させるまで行きつくことができました。

特に、自分の喋った音声をリアルタイムでレベルメーター表示するのは、オーディオ周りの用語がたくさん出てきてチンプンカンプンでした。ネットで用語など調べつつ、なんとか成功しましたが、まだまだ知らないことばかりですね..。

ピーちゃん

☝最初はビデオファイルを表示・操作するプログラムを作ることから。こちらは我が家の愛鳥です。

ストリーム再生

☝ミュートや左右反転の切り替えボタンにもチャレンジ。張り切ってロゴも作っていました(笑)


文字起こし・翻訳機能の追加

お次はリアルタイム文字起こし&翻訳機能の実装です。

Microsoftが提供するAIサービスをプログラムに組み込んでいきました。

その組み込み方を調べるのは結構ハードなもの。Microsoftが提供するサンプルや説明書的なものもありましたが、端折られた説明も多く、初心者のワタシには宇宙語のよう・・。しかし、上司のヘルプも頼りつつ、仲間と協力しつつ、無事実装できました。

文字起こし

☝自分の喋った言葉がリアルタイムで字幕になるなんて!しかも自分で作ったプログラムで動いてるなんて!感動モンです。


オンラインでほかのメンバーと通信してみる

こちら最後の工程です。WebRTCという技術を使って実装していきました。

それまでは自分の環境下だけでビデオ映像を映し出したり、翻訳したりしていたものを、今度は誰かとその情報をやり取りしなきゃいけないんです。その際は、お互いが通信し合うためにサーバーをセットしなきゃいけなかったり、通信し合うためのコードを書かなきゃいけなかったりと、大変でした。

調べて書いて、調べて書いてを繰り返してもなかなか相手の画面や字幕情報が表示されない日々が続きましたが、ついに画面が表示された瞬間は本当に嬉しかったですね。

webRTCチャット

☝ボタンのデザインも一新して、より現代風な見た目に。お互いの通話ログをテキスト保存できる機能も追加しました。


所感

現代では友達とチャットしたり、いろんな便利システム使ったりという生活が普通になりましたが、その裏ではものすごい複雑なコードのプログラムが沢山実行されている・・と考えると、こういった便利な技術を最初に生み出した人って本当にすごいなぁと思います。

この課題を完成させるまで約2か月。

正直何度も挫折しかけましたが、いろんな人のヘルプや協力、何よりも自分があきらめなければ、未経験であってもここまでたどり着けるんだあなと思いました。会社の先輩たちも、100%答えを教えるわけではなく、うまいヒントを教えてくれたので、自分で考える機会が殆どで、良いトレーニングになりました。

また、コードの書き方など、情報自体はネットにたくさん転がっています。しかし、自分のPCやサーバーの環境、使用するプログラミング言語などによって動くものから動かないものまでさまざまです。ネットの情報に自分でアレンジを加えたら動いた!ってこともよくあります。

そこで大事なのが、なぜ動くのか&動かないのかという仕組みをなるべく理解しながら進めていくこと(これがまた、なかなか難しいところなのですが・・)。ネットにあるコードをコピペして、運よく動きました!はい次!ってなっても、全くスキルが身につかないです。

自分もついプログラムを動かすことばかりを気にして、コードの中身の理解を怠ることもあります。ただ、それではいつまでたっても成長できないので、なるべく中身を理解するように意識しています。調べすぎると次から次に分からないことが増えてドツボにはまることもありますが‥(笑)

これからもこういった試行錯誤の日々が続くのでしょうが、動いたときの嬉しさは半端ないので、これからも頑張っていきます。


ざっくりでしたが、新人最初の課題と所感はこんな感じです☺

これからも未経験エンジニアの経験ネタやユニゾンシステムズの取り組みなどいろいろ投稿していきたいと思うので、是非チェックしてみて下さいね!


ユニゾンシステムズでは、一緒に働く仲間を募集しています。
ぜひ一度オフィスに遊びに来てみませんか?お気軽にDMもお待ちしています!

求人の詳細はこちら: https://www.unixon.co.jp/recruit/
Youtube: https://www.youtube.com/channel/UCGacmgfpJ0fkHC0aKrSppVw
Twitter: https://twitter.com/unixon_recruit


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