はじめまして。
2016年卒、新卒でGMOアドパートナーズに入社しましたT.Iと申します。
今回は、7月からの本配属に向けて5月から始まったテックイノベーションPJTでの新卒エンジニア研修で学んだことの一部を紹介いたします。
Linux基礎学習
リナックスアカデミー著『Linux教科書 LPICレベル1』(Linux技術者認定試験学習書)という参考書を用いて、Linuxの基礎を学びました。
具体的な内容としては以下の通りです。
- システムアーキテクチャ
- Vagrantを使ってサーバ構築
- パッケージ管理
- GNU&UNIXコマンド
学生の頃は全く違った分野の勉強を行っていたため、この研修でLinuxの基礎から学べたのは非常にいい経験になりました。
また、この研修で学んだコマンドライン操作や各種コマンドについては、Rubyで開発を行う上で必須の知識となるため、7月からの本配属に向けていい土台作りになりました。
コーディングスキル
コーディングスキル研修では、「コードを理解しやすくする」という考えに基づいて書かれたDustin Boswell著『リーダブルコード』(オライリー・ジャパン)という参考書を用いて研修を進めました。学んだ内容は以下の通りです。
- 「リーダブルコード」における「理解しやすいコード」
- 変数や関数名の付け方
- コードの美しさ
- コメントすべきことと、すべきではないこと
- 制御フローを読みやすくするテクニック
- コードを読みやすくするための「巨大な式の分割方法」
- 変数と読みやすさ
これから会社で仕事を進めるにあたって「他人のコードを読む機会」「自分のコードを人に読んでもらう機会」が非常に多くなるため、7月の本配属に向けて、リーダブルコードを用いて一定の基準のコーディングルールを学び、さらに、大学の授業や研究でコーディングする中で身についてしまった「自分ルール」を正すことを目指しました。
開発言語(Ruby)研修
本配属後は業務の中でRubyを使う予定のため、本研修ではRubyサポーターズ著『パーフェクトRuby』(技術評論社)という参考書を用いてRubyの学習を進めました。
研修の中では、講師の方がホワイトボードを使って、参考書には書いてないことの指導もしていただきました。
学んだ内容は以下の通りです。
- スクリプト言語について
- Rubyを学ぶ上での周辺ツールについて
- Ruby概要
- Rubyの言語仕様
- クラス, モジュール, オブジェクトについて
研修の中では実際にコードを書いてRubyの特徴を学びました。
1 2 3 4 5 6 7 |
class Game def initialize(maker, cpu, version) @maker = maker @cpu = cpu @version = version end end |
1 2 3 4 5 |
module Play def play_game(machine_name) puts "welcome #{machine_name}" end end |
1 2 3 4 5 |
module Playstation def ps_now puts Time.now.strftime('%Y年%m月%d日 %H時%M分%S秒') end end |
1 2 3 4 5 6 7 8 |
require './game.rb' require './play.rb' require './playstation.rb' class PS3 < Game include Play include Playstation end |
1 2 3 4 5 6 7 8 9 |
require './ps3.rb' game1 = PS3.new('sony', 'new', 5.0) game2 = PS3.new('sce', 'old', 4.0) game1.play_game('PlayStation3') game2.play_game('PlayStation2') game1.ps_now game2.ps_now |
入社前の学生時代はC言語をメインにコーディングしてきたため、研修当初は戸惑う場面も多々ありました。
研修を進めるなかで、C言語にはなかったスクリプト言語(Ruby)ならではの特徴を学ぶことができ、これからのWebアプリケーション構築が非常に楽しみになりました。
更に理解を深めるためにはRuby以外にも、MySQLやJavaScript、正規表現、JSON、Rails…etcといった様々な知識を身に付ける必要があるため、残りの5月、そして6月の研修も引き続きたくさんのことを学んでいきます。
最後に
入社して2ヶ月弱、エンジニア研修が始まって1ヶ月弱。
まだまだ未熟者で学ぶことの多い毎日ですが、これからたくさんのことをこのブログでアウトプットできるよう日々頑張って参りますので、何卒よろしくお願いいたします!
2016卒のWebエンジニア。
採用やマネジメントもやってます。