• WebCamp_インタビュー
    【WebCamp受講生インタビュー】起業準備中にCEOが気がついたプログラミングスキルの重要性とは?
    2017.12.25
  • WebCamp_インタビュー
    「自信の持てるスキルを得たい!」内定辞退した女子大生がプログラミングを学習したワケ。
    2018.04.28
  • WebCamp_インタビュー
    時間や場所にとらわれず自由に働くために必要なスキルとは?【WebCamp卒業生インタビュー】
    2018.01.26
  • WebCamp_インタビュー
    【WebCamp卒業生インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!
    2018.01.15
  • WebCampPro_インタビュー
    未経験でも寿司職人からWebデザイナーになった!ホスピタリティでスクールを支える宮脇トレーナー
    2017.05.26
  • WebCamp_インタビュー
    「1カ月頑張ればこの先が見えてくる」地元メディアを立ち上げたママさん
    2017.07.20
  • WebCamp_インタビュー
    “未経験”でもたった1ヶ月で営業からエンジニアとして転職!『WebCamp』受講者インタビュー
    2017.10.04
  • WebCamp_インタビュー
    【卒業生インタビュー】台湾で月間100万UUの訪日旅行メディアを手掛けるCEOが、プログラミングを学んで得たものとは?
    2018.01.15
  • WebCampPro_インタビュー
    未経験から上京し、エンジニアとしてチームラボグループに転職!【WebCampPro卒業生インタビュー】
    2018.03.10
  • WebCampPro_インタビュー
    未経験31歳からエンジニア転職を実現【実際に聞いてみた】
    2017.04.01
  • WebCampPro_インタビュー
    自分で稼ぐ力をつけるため、新卒5年目の営業マンがエンジニアに転職!【WebCampPro転職者インタビュー】
    2018.02.02

◆当サイトで人気のプログラミング教室のおすすめランキングはこちら!
プログラミングは独学では非効率で、時間を無駄にするリスクがあります。効率的なカリキュラムで学べるスクールを受講しましょう。

Web Camp【業界最安値】1ヶ月集中してプログラミングスキルを身につけられるスクール
1ヶ月通い放題・メンター常駐の教室環境でWebサービス等作りたい方
TechAcademyオンラインで開講しているプログラミングスクール
オンラインでどこでも学べる!/教室に行くのが忙しい人でも安心!
Tech Camp業界最大級!教養としてのITスキルを学べるスクール
Webデザイン/AI(人工知能)/IOS/Androidアプリ制作/VRを学びたい方!
WebCampPro転職保証付き!エンジニアとして転職したい人におすすめ!
未経験からプロのエンジニアを3ヶ月で目指すプログラミングスクールです。
9月生募集中!当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコース。
8月受入枠は満員となっております。9月枠に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!
Rubyを初めて勉強しはじめる人以外であれば、メソッドを使ったことがない人はいないでしょう。
今回はそんなメソッドについて詳しく解説していきます。

Ruby入門者へのメソッド解説

例えば、以下のようなプログラムがあったとします。

method00-1.rb

t = Time.now
puts("start: " + t.to_s)

10.times {|i| puts(i)}

t = Time.now
puts("finish: " + t.to_s)

このプログラムには、以下の6種類のメソッドが使われています。
=メソッド
nowメソッド
putsメソッド
+メソッド
to_sメソッド
timesメソッド

つまり、Rubyで何らかの操作をしたいときに使う道具がメソッドなのです。

今回は、このメソッドについて、少し詳しく説明した上で、自分でメソッドを作る方法、メソッドを探す方法を紹介します。

メソッドの作り方と使い方

いきなりですが、Rubyには、クラスというRubyで扱う「もの」の定義(設計図のようなもの)があります。

この設計図から、インスタンスと呼ばれる変数などの実態を生成して、プログラムの中で利用していくのです。

クラスは標準でも準備してありますし、自分でも作ることができます。
(クラスについての詳細は、【Ruby入門説明書】クラスの定義について解説で説明していますが、いまはそこまで深い話は必要ありません)

ただ、クラスという設計図には、状態とその状態を変更したりアウトプットしたりするための道具があるということを知っておいてください。

メソッドは、その「状態を変更したりアウトプットしたりするための道具」のことなのです。

メソッドを作って(定義して)みよう

メソッドがどんなものかを説明したところで、プログラムに戻りましょう。

ここからは、メソッドの作り方(定義する方法)を説明していきます。いままでforやifなどの様々な構文を説明してきました。もちろん、それらだけでもプログラムは作れますが、メソッドを作れるようになれば、プログラムをもっと効率的に再利用可能な便利なものにしてくれるのです。

いきなりですが、メソッドの構文を説明しましょう。

def メソッド名(第1引数,第2引数,,,)
メソッドで行う処理
end

なお、メソッド名には以下の制限がありますので、注意が必要です。

・1文字めは英文字かアンダーバー(_)で始まること
・2文字め以降は英数文字、アンダーバーであること
・全角文字は使えない

以上の2点を守っていれば、どんな名称でも問題ありません。しかし、メソッドの名称は「そのメソッドが何をしているのか分かる」名称にしなければいけません。

また、Rubyのメソッドの多くが以下のルールに従っていますので、合わせておいた方がより分かりやすいでしょう。

・オブジェクトの値を変更する「破壊的メソッド」には末尾に「!」を付ける
・判定して真偽(True/False)を返すメソッドの末尾には「?」を付ける
・単語の区切りは「_」で区切り、大文字は使わない

では、「Hello Ruby」と10回表示するメソッドを作って、使ってみましょう。

method00-2.rb

# 「Hello Ruby」と表示するメソッド
def disp_hello
  10.times {
    puts("Hello Ruby")
  }
end

# メソッドを使用する
disp_hello

いかがでしょうか?

実行すると、「Hello Ruby」と10回表示されたと思います。

時間や場所にとらわれず自由に働くために必要なスキルとは?【WebCamp卒業生インタビュー】
2018-01-26 13:03
今回の記事では、WebCampに1ヶ月間通い、未経験からエンジニアとして転職した星野さんにお話を伺いました。 <プロフィール> 星野 智洋 さん(25) 学生時代は日本大学芸術学部...

引数を使って値を渡す

method00-2.rbは、まだメソッドの魅力がまったくありません。(メソッドとしてではなく、直接使用した方が手っ取り早いですね)

そのため、引数を使ってメソッドらしくしてみます。

引数というのは、メソッドに渡す値のことで、その値によって動きを変えることで、メソッドの再利用性が高まるのです。

method00-3.rb

# 「Hello Ruby」と表示するメソッド
# 引数:繰り返す回数
def disp_hello(num)
  num.times {
    puts("Hello Ruby")
  }
end

# メソッドを使用する
disp_hello(3) # ......(1)

引数numを使って、繰り返す回数を制御していますので、「Hello Ruby」が3回表示されます。

(1)で渡している3を別の数字にして、動きがどうかあるのかを確認してみましょう。

引数が複数あったら?

次に、表示する文字列も変更してみましょう。そのためには、実行時に文字列を渡せるようにするのが効率的です。

つまり、引数が2つになります。

method00-4.rb

# 文字列表示するメソッド
# 引数:繰り返す回数,表示文字列
def disp_hello(num, msg)
  num.times {
    puts(msg)
  }
end

# メソッドを使用する
disp_hello(3, "Good Morning! Ruby") # ......(1)

第2引数に与えられた文字列を第1引数の回数だけ表示するメソッドです。

これで、使い手の好きな文字列を好きな回数表示できるメソッドになりました。method00-2.rbに比べると、応用範囲は大きく広がったと言えます。

初期値が欲しい

method00-4.rbは応用範囲が広がったとはいえ、表示回数や文字列などを使い手が渡してあげなければ、当然ながらエラーになります。

もし、設定しなければ決まった回数、決まった文字列を表示できるようになれば、使いやすいメソッドになるのではないでしょうか。

それが、デフォルト値設定です。

デフォルト値設定を行うと、引数を渡さなければその値が自動的に渡されたことになります。

method00-5.rb

# 文字列表示するメソッド
# 引数:繰り返す回数,表示文字列
def disp_hello(num = 10, msg = "Hello Ruby!")
  num.times {
    puts(msg)
  }
end

# メソッドを使用する
disp_hello(3, "Good Morning! Ruby") # ......(1)
puts("---")
disp_hello(3)                       # ......(2)
puts("---")
disp_hello()                        # ......(3)
puts("---")
# disp_hello("Good Morning! Ruby")    # ......(4)

(結果)

Hello Ruby!
Hello Ruby!
Hello Ruby!
---
Hello Ruby!
Hello Ruby!
Hello Ruby!
Hello Ruby!
Hello Ruby!
Hello Ruby!
Hello Ruby!
Hello Ruby!
Hello Ruby!
Hello Ruby!
---

(1)は引数を2つとも渡していますので、デフォルト値は使われません。

(2)は、引数が1つしかありませんので、第1引数として渡された値が使われ、第2引数はデフォルト値が渡されています。

(3)については、引数なしですので、デフォルト値が使用されており、デフォルト値通りの表示がされます。

最後の(4)については、コメントを外すとエラーになります。(4)は引数として1つしか渡していませんので、Rubyは第1引数numに渡された文字列を格納します。しかし、disp_helloメソッドの引数numは整数でなければいけませんので、処理ができずにエラーになってしまうのです。

このように、前にある引数だけを省略することはできませんので、注意が必要です。

また、複数の引数に対してデフォルト引数を設定する場合、デフォルト引数を設定した引数以降の引数にはすべてデフォルト引数を設定しなければいけません。例えば、以下のようなメソッドはエラーになります。

def disp_hello(num = 10, msg)
 ;

もっとたくさんの引数を!(配列で受け取る)

引数はいくつでも設定できますが、あまりにも多いと使い勝手が悪くなります。しかし、数多くの引数を渡したい場合も少なくありません。

そんなときに使えるのが、引数として配列を渡す方法です。

最後の引数に「*」を付けることで、定義された引数の数以上の引数を配列として受け取ることができるようになります。

そうすれば、メソッドの形としては少ない引数しか定義されていませんので見た目がすっきりしていますし、いくつでも引数を渡すことができます。

しかし、いくつでも引数が渡せるということは、いくつ渡されるのかが分からないということですので、メソッド側で相応の処理を準備しておかなければいけません。

method00-5.rbを改造して、渡された文字列の配列を表示するようにしましょう。

method00-6.rb

# 文字列表示するメソッド
# 引数:繰り返す回数,表示文字列(いくつでも)
def disp_hello(num, *msg)
  num.times {
    for m in msg
      print(m)
      print(" ") if msg.length > 1
    end
    puts
  }
end

# メソッドを使用する
disp_hello(3, "Good Morning! Ruby") # ......(1)
puts("---")
disp_hello(1, "Ruby")               # ......(2)
puts("---")
disp_hello(4, "I", "Love", "Ruby")  # ......(3)

(結果)

Good Morning! Ruby
Good Morning! Ruby
Good Morning! Ruby
---
Ruby
---
I Love Ruby
I Love Ruby
I Love Ruby
I Love Ruby

method00-6.rbでは、複数の文字列が入った配列の各要素を1行として表示するため、forによる繰り返しを使っています。(putsメソッドのままでは、改行されます)

また、複数要素の場合は、単語間に空白が必要ですが、要素が1つの場合は空白は不要ですので、条件付きでprintメソッドを実行しています。

コツコツ独学×スクールで実践。未経験からエンジニアに転職!【WebCamp卒業生インタビュー】
2018-03-22 23:28
今回の記事では、独学でPHPを1年半学習し、その後WebCampを受講して未経験からエンジニアへと転職された佐々木さんにお話を伺いました。 <プロフィール> 佐々木 祐樹 さん(2...

メソッドの処理の結果をどう受け取る?(戻り値)

前述でメソッドの作り方と使い方を説明できましたが前述のmethod00-2.rbからmethod00-6.rbは、結果を表示するだけです。メソッドの仕事の多くは、渡された引数をもとに何らかの処理を行って結果(戻り値)を返すものです。

ここからは、戻り値の返し方と受け取り方を説明します。

次のプログラムを改造しながら、具体的な動きを確認していきましょう。

method01-1.rb

# 累乗計算するメソッド
def powers(i, j)
  i **= j
  return i  # ...... (1)
end

# メソッドを使用する
ii = powers(2, 3)
puts(ii)

(結果)

8

値(戻り値)を返す方法と受け取る方法

戻り値の返し方の基本とも言えるのは、method01-1.rbの(1)の行にある「return」です。

Rubyの「return」は、メソッドから抜ける位置を指定するものですが、値を設定することで、メソッドの戻り値を指定することができます。

つまり、「return」を利用することで、任意の値を任意のタイミングで戻り値として返すことができます。

また、返ってきた戻り値を受け取る方法は、「代入」です。

戻り値を受け取る変数を準備し、その変数に対して代入を行うことで戻り値を受け取ることができます。

最後の評価結果が返る

methodo01-1.rbを少しだけ改造してみましょう。

method01-2.rb

# 累乗計算するメソッド
def powers(i, j)
  i **= j
end

# メソッドを使用する
ii = powers(2, 3)
puts(ii)

returnを削除してみました。

この場合、どんな動作になるか分かるでしょうか?

実際に動かしてみると、method01-1.rbと同じ結果になります。

これは、Rubyのメソッドの特徴的な動きと言えるものですので、少し説明しておきます。

そもそも、メソッドは処理した結果を返すものです。つまり、メソッドが最終的に処理した結果が戻り値として返されるのが、メソッドの戻り値として妥当です。

そのため、Rubyでは、「最後に評価された結果が戻り値として返される」ようになっています。(現状は、「評価」を処理と読み替えてください)

つまり、method01-2.rbを実行すると、powersメソッドで最後に行った評価である「i **= j」の結果が返されるわけです。

ちなみに、returnで戻り値を指定した場合、returnがその値の評価を行うことになります。returnはメソッドの終了位置を指定しているだけですが、returnに渡された値が最後に評価されることになりますので、メソッドの戻り値を指定することができるわけです。

複数の結果を返したい(多重代入)

Rubyがreturnを使わなくても良いという点については賛否両論があり、どちらが良い悪いというものではありません。

むしろ、ない方がRubyらしいと言っても良いでしょう。

しかし、プログラムの可読性(読みやすさ)を考慮するとすれば、利用した方が良いのではないでしょうか。

また、実動作としても、returnを使った場合の利点があります。

それは、「多重代入で複数の戻り値を返せる」ということです。

なお、多重代入というのは、次のような代入です。

a,b = 1,2

この記述をすることで、「a = 1」と「b = 2」をまとめて行うことができます。

この多重代入の仕組みを使うことで、「return 1, 2」とすれば、複数の戻り値を返すことができます。

具体的なプログラムで確認しましょう。

method01-3.rb

# 累乗計算するメソッド
def powers(i, j)
  ii = i ** j
  jj = j ** i
  
  return ii, jj # ......(1)
end

# メソッドを使用する
a, b = powers(2, 3) # ......(2)
puts(a, b)

(結果)

8
9

引数の累乗を計算するメソッドを拡張して、基底値を第1引数と第2引数それぞれの累乗を計算するように変更しています。

ポイントは、(1)のreturnに戻り値を2つ設定しているところと、(2)で多重代入により受け取っている部分です。

もっとたくさんの戻り値を!

多重代入を用いれば、複数の戻り値を返して、受け取ることができます。

しかし、もっと数多くの(ときには不定な)戻り値を返したい場合もあるでしょう。

その場合は、配列を返しましょう。

そうすることで、メソッドの戻り値は1つで、複数の戻り値を返すことができます。

method01-2.rbを改造して、試してみます。

method01-4.rb

# 累乗計算するメソッド
def powers(i, j)
  ret = []
  i.times { |n|
    ret.append((n + 1) ** j)
  }

  return ret
end

# メソッドを使用する
pws = powers(10, 3)
puts(pws)

1から第1引数に渡された値までの数を第2引数で渡された数乗した値を表示するプログラムです。

第1引数によって戻り値の配列の数が変わりますので、メソッド内で配列の要素を追加して、戻り値にしています。
(結果)

1
8
27
64
125
216
343
512
729
1000

“未経験”でもたった1ヶ月で営業からエンジニアとして転職!『WebCamp』受講者インタビュー
2017-10-04 10:26
今回の記事では、未経験からWebCampを1ヶ月受講し、その後エンジニアとして転職をした喜田さんにお話を伺いました。 <プロフィール> 喜田 大介 さん (28歳) 大学時代はプ...

すべてはオブジェクトである

ここから、また少し抽象的な話になります。しかし、中級以上のRubyプログラマーを目指す上では、必須の知識ですので、しばらくお付き合いください。

Rubyはオブジェクト指向言語であり、クラスやインスタンスもすべてオブジェクトです。そして、そのオブジェクトを利用するための道具がメソッドです。

ただし、メソッドはクラス内で設計されているため、クラスやそこから生まれたインスタンス、つまりオブジェクトがなければ利用できません。

例えば、method01-4.rbに登場する、以下のメソッドは、典型的なメソッドの利用方法と言えます。

i.times ……… Integerオブジェクトのtimesメソッド
ret.append …… Arrayオブジェクトのappendメソッド

しかし、method01-4.rbには、オブジェクトなしで利用しているメソッドがあります。

powers
puts

※もちろん、【Ruby入門説明書】クラスの定義について解説で解説しているように、クラス定義の中であれば、クラス内で定義されたメソッドをオブジェクトなしで利用しても不思議ではありません。ここでは、クラス定義の外(トップレベルと称します)で、オブジェクトなしで利用されているメソッドの話をしています

なぜオブジェクトがないのに使えるのか?

前述した2つのメソッドは、利用するオブジェクトが指定されていません。

そもそも、powersメソッドの定義(設計図)自体、プログラムの冒頭から始まっており、どこのクラスに属しているのかが分かりません。

こういった場合、じつは、Rubyがこっそりとオブジェクトを作っているのです。

それを確認する方法として、「self」という特殊な変数が準備されています。

「self」はその時点の処理(メソッド)が、どんなオブジェクトに属しているのかを保持しているのです。

つまり、method01-4.rbにprint(self)を追記すれば、powersが属しているオブジェクトを教えてもらえるというわけです。

また、「self.class」とclassメソッドを使用することで、オブジェクトのもとになったクラスも知ることができます。

実際にやってみましょう。

method02.rb

# 累乗計算するメソッド
def powers(i, j)
  ret = []
  i.times { |n|
    ret.append((n + 1) ** j)
  }

  return ret
end

# オブジェクトとクラスの確認
puts(self)
puts(self.class)

(結果)

main
Object

つまり、powersやputsは、Rubyが自動的に生成したmainオブジェクトに属しており、mainはObjectというクラスから生成されているということが分かります。

このように、クラスの指定もなくメソッドを定義した場合は、Rubyが自動的にObjectクラスのメソッドとして追加し、mainオブジェクトを裏で生成して実行しているのです。

そのため、見た目はオブジェクトがないのに、メソッドを実行できるということになります。

使えるメソッドを一覧で見る

最後に、メソッドに関わる便利な機能を紹介しましょう。

例えば、文字列オブジェクトを操作していて、文字列内を検索するメソッドがないか、調べたいとします。

もちろん、参考書やインターネットで検索しても良いですが、簡単にそれらしいメソッドを探したいとき、「methodsメソッド」がたいへん有用です。

使い方は簡単です。

オブジェクト.methods

とするだけで、メソッド名が格納された配列を返してくれます。

実際に表示してみましょう。

method03-1.rb

msg = "test"
print(msg.methods)

(結果)

[:encode, :include?, :%, :*, :+, :to_c, :count, :partition, :sum, :next, :casecmp, :casecmp?, :insert, :bytesize, :match, :match?,(中略), :__send__]

多数のメソッドが表示されますが、この中からそれらしい名前のメソッドを探すことができます。

しかし、表示順が定義されている順番ですので、このままでは目的のメソッドを見つけにくいかもしれません。

ソートしてみる(sort)

出力されているのは配列ですので、sortメソッドが使えます。sortメソッドで並べ替えれば、探しやすくなるでしょう。

method03-2.rb

msg = "test"
print(msg.methods.sort)

(結果)

[:!, :!=, :!~, :%, :*, :+, :+@, :-@, :<, :<<, :<=, :<=>, :==, :===, :=~, :>, :>=, :[], :[]=,(中略), :upcase!, :upto, :valid_encoding?, :yield_self]

これで探しやすくなりましたが、メソッド名がなんとなく分かるのであれば、それらしいものだけ抽出するのが簡単です。

必要なものだけ(grep)

method03-3.rb

msg = "test"
print(msg.methods.grep(/index/))

(結果)

[:index, :rindex]

文字列内を検索するindexメソッドが見つかりました。ついでに、逆から検索するrindexメソッドの存在にも気付けました。

まとめ

メソッドは、Rubyでプログラムを作る上で基本となるものです。

既存のメソッドを使って様々な処理を行い、自分でメソッドを作って効率の良いプログラムを作る。また、特定の処理をメソッドにまとめることで、可読性と再利用性が飛躍的に高まります。

なお、Rubyのメソッドは数えられないほど多数ありますが、すべてを憶えておく必要はありません。必要なときに必要なメソッドを見つけられるようにしておけば良いのです。

そのためにも、メソッド名は「何をするメソッドなのか分かる」名称にしておく必要がありますので、自作メソッドはしっかりと考えて名付けましょう。


・メソッドはdef~endで囲んで作る
・メソッドの名称は、何をするメソッドなのか分かりやすいものにすること
・メソッド名の1文字めに数字は使えない
・メソッドの引数はいくつでも設定可能
・メソッドの引数にデフォルト値を設定できる
・デフォルト値を1つ設定すると、以降の引数すべてにデフォルト値が必要
・戻り値はreturnで返せる
・Rubyのメソッドは、最後に評価された結果が戻り値として返される
・複数戻り値、可読性を考慮すると、returnを使った方が良い
・いまどのオブジェクトに属した処理が行われているかは、特殊変数selfが保持している
・トップレベルに定義されたメソッドは、Objectクラスに定義され、mainオブジェクトに利用される
・「methodsメソッド」で、あるオブジェクトが使えるメソッドを一覧で見られる

WebCamp・WebCamp Proについて

WebCampは1ヶ月でプログラミング・Webデザインスキルを学ぶ通い放題のプログラミングスクールです。WebCamp Proは3ヶ月間で未経験から即戦力エンジニアを育成するプログラミングスクールです。

2つのサービスを運営するインフラトップでは、「学びと仕事を通して人生を最高の物語にする」という理念で会社を経営しています。

キャリアアップを目指す方は、この機会に私達と一緒にプログラミングを学んでみませんか?

8月枠も残りわずか当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコース。
7月受入枠は満員となっております。8月枠に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

▼未経験から1ヶ月でWebデザイン・プログラミングを学びたい方はこちら!

▼ついに開講!オンラインでWebデザインを学びたい方はこちら!

 

【インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!

ブラジルから帰国し技術をつけようとRubyエンジニアを目指してWebCampでRubyを学び、見事Webエンジニアとして転職を果たした田中さんにお話を伺いました。

Rubyの学習がしたい。基礎をしっかりと理解したい

転職のサポートがほしい

と考えている方はぜひお読み下さい。

【WebCamp卒業生インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!
2018-01-15 13:23
今回の記事では、WebCampで1ヶ月間Rubyを学習し、Webエンジニアとして転職した卒業生の田中さんにお話を伺いました。 <プロフィール> 田中 デニス 昭彦さん(...
関連キーワード
Rubyの関連記事
  • 【Ruby入門説明書】クラスの継承について解説
  • 【Ruby入門説明書】インスタンスと変数について説明
  • 【Ruby入門説明書】メソッドの基本から応用までの全体像、一覧表について解説
  • 【Ruby入門説明書】クラスの定義について解説
  • 【Ruby入門説明書】ハッシュについて解説
  • 【Ruby入門説明書】arrayについて解説

当サイトで人気のオススメ転職サービスTOP3

1位 マイナビエージェント×IT

おすすめポイント

・平日忙しい人も、土曜日開催の個別キャリア相談会に参加できる

・職種や仕事内容(要件定義、上流工程から携わる仕事など)の要望が細かくできる
・マイナビの規模を活かした豊富で幅広い求人数

マイナビエージェント×ITの登録はこちら

2位 レバテックキャリア

おすすめポイント

・求人登録数4,000件以上

・エンジニア未経験、経験者両方に対応

・有名企業の採用担当者インタビューがみれる

・一次面接NGからの内定実績もあるほど、内定率が高い

レバテックキャリアの登録はこちら

 3位 type転職エージェント

おすすめポイント

転職者の71%が年収アップ

・IT系企業、特にエンジニアに限らず営業職の求人も充実している

各職種専門の転職アドバイザーが援助

type転職エージェントの登録はこちら

おすすめの記事