paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

初心者でも「Ruby on Rails」を学習できるコンテンツ7選

f:id:paiza:20170417195735j:plain
Photo by Andrew
f:id:paiza:20140916135428p:plainこんにちは。谷口です。

プログラミングをこれから学習しようとしている方や新人エンジニアの中には「Ruby on Railsについて学びたい!」という方も多いと思います。

Ruby on Railsは、Rubyで書かれているオープンソースのWebアプリケーションフレームワークです。クックパッドやグノシー、最近話題のMastodonなどといった有名サービスの開発にも利用されており、世界中のWebサービス開発企業に広く普及しています。

今年新卒でエンジニアになった方の中には、「仕事で必要だからまずはRailsを使えるようになってね」と言われている人も多いかと思います。

というわけで今回は、なるべくコストをかけずRailsに触れられて、学習に役立てられるコンテンツを7件ご紹介していきます。

■プログラミング経験ゼロからRailsを学びたい人

プログラミング未経験の場合、まずはRailsの使い方というよりは、Rubyのコードの書き方から学ぶ必要があります。独学でも下記のようなサービスを使えば基礎的な書き方を学ぶことができます。

paizaラーニング


paizaラーニングは一回3分程度の動画を見ながらブラウザ上で演習問題を解き、すぐに実行して結果を見ることができます。未経験者でもブラウザさえあれば、環境構築不要で手を動かしながらプログラミングの基礎を習得できます

現在、「Ruby入門編」「Webアプリ開発入門 Rails編」を期間限定で連続無料公開しております!

Progate


スライドによるレッスンで基礎を学び、オンラインエディタでコーディングをして実行結果を見ることができます。コーディングの際は、エディタやプレビュー画面と一緒にお手本となる見本画面や解説もあります。

ドットインストール


動画でプログラミングの書き方、環境構築方法などが学べます。

■基礎がわかった人・開発経験がある人

プログラミング経験のある人は、いきなりチュートリアルから初めても大丈夫かと思います。

Ruby on Rails Tutorial


みんなが「Railsチュートリアル」と呼んでいるのがこれです。

Rails公式というわけではなく、マイケル・ハートル氏が書いた書籍の内容がWebで無料公開されているものになります。

日本語翻訳版もありますが、翻訳された文章が少しわかりにくい部分もあります。英語が完璧な方は最初から英語版でよいかと思いますが、そうでもない人の場合、基本は日本語版で進めていき、わからないところがあったら英語版を当たる……という進め方の方がわかりやすいかもしれないです。

Ruby on Rails Guides


Railsのリファレンスガイド『Ruby on Rails Guides』です。上記のRailsチュートリアルを読み終えてからガイドに進んだ方がよいとされています。内容はチュートリアルから一歩進んだ感じのものが多いので、チュートリアルができるレベルの人でないと少し難しいかもしれません。

ガイドも日本語訳版のサイトがあります。

RailsCasts


RailsCastsは、RailsのTipsやライブラリについて、ライブコーディング形式で紹介する動画を定期的にアップロードしてくれていた有名サイトです。今は更新が止まってしまっていますのでバージョンは古くなりますが、役に立つ動画は多いです。

GoRails


そんなRailsCastsの代わり?になりそうなGoRailsです。こちらは現在も更新され続けています。

■まとめ

プログラミング経験ゼロの方でも、自分が好きな学習サイトやゲームサイトのコンテンツをうまく使って勉強していくことができれば、独学でも楽しんでプログラミングスキルを身につけていくことができるかと思います。

ご興味のある方は、ぜひRailsに触れてみてください。


なお、プログラミングが動画で学べる「paizaラーニング」では、普段有料公開しているRubyRailsのレッスンを、毎週期間限定で連続無料公開いたします!
この機会にぜひRubyRailsを学んでみてください!

無料公開スケジュール・Ruby


動画レッスン名無料期間
Ruby入門1・2いつでも無料
Ruby入門34/18(火)~4/20(木)まで無料
Ruby入門44/21(金)~4/24(月)まで無料

無料公開スケジュール・Rails


動画レッスン名無料期間
Rails入門1いつでも無料
Rails入門24/25(火)~5/1(月)まで無料
Rails入門35/2(火)~5/8(月)まで無料


■プログラミングが動画で学べるレッスン「paizaラーニング


paizaラーニング」は、プログラミング未経験者・初心者向け学習サービスです。

↓詳しくはこちら
paiza.jp

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
paiza.jp
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

ITプログラマ・エンジニア向け転職・就活・学習サービスのpaiza

こんな企業は嫌われる!エンジニアの採用面接でやってはいけない5つのこと

f:id:paiza:20170417125419j:plain
Photo by Mike Burns
f:id:paiza:20140916135428p:plainこんにちは、谷口です。

ITエンジニアを採用したい企業の皆さんは、どんな採用選考を実施していますか

もしあなたの企業が、慢性的に「もっとエンジニアを採用したいんだけど、なぜかできなくて……」という悩みを抱えていたら、それは選考サイドに問題が隠れている場合が多いです。選考に問題があると、応募者のスキルを正しく判断できないまま落としてしまったり、選考段階で応募者から辞退されたり……といった結果が増えてしまいます。

応募者を正しく評価できるかどうかは、優秀なエンジニアを採用するために不可欠です。

今回は、エンジニアの採用に関わり続けてわかった「エンジニアに嫌われてしまう採用選考」の特徴についてお話ししていきます。エンジニアを採用したい企業の方は参考にしていただければと思います。

■こんな選考はエンジニアに嫌われる!5つの特徴

◆前任者や周囲のエンジニアと同様のスキルや経験を求めすぎ

求人票に書く応募要件のレベルを、必要以上に上げすぎてはいないでしょうか。

「前任者と同じくらいのレベルの人がいい」「なるべく自分たちと同等レベルの経験やスキルのある人に来てもらいたい」と考える気持ちはわかります。ただ、必須条件が無駄に厳しくなっているせいで、そもそも当てはまる人材が少なすぎて応募が全然来ない……といった求人もかなり多いのです。

該当する業務は、必ずしもその必須要件を満たした人でないと務まらないのでしょうか?

優秀なエンジニアは、キャッチアップも非常に早い人が多いです。例えばある言語での業務経験がなかった人でも、勉強しながら実際の業務に取り組んでいって、すぐに必要なレベルに追いついた……といったことはよくあります。

もちろん、絶対に必要な条件を取り下げたり、間口を広げすぎる必要はありません。ただ、何が必須で何が歓迎要件になるのか客観的に考えて分類してみると、よりマッチ多くの応募者に届きやすい求人票を作ることができます。

ダメな求人票については、こちらの記事で詳しく扱っておりますのでご覧ください。
paiza.hatenablog.com

◆なぜか面接官にエンジニアがいない

f:id:paiza:20170417130159j:plain
Photo by Nancy Meijer
さすがにエンジニア職の採用選考で、開発経験者が一度も面接をしないような企業は問題外ですが、例えば一次面接は人事担当者のみ、二次面接はCTOや開発チームリーダー、現場のエンジニアなどが面接をし、最終が役員面接、といった流れで選考をしている企業は多いかと思います。

こうした選考の流れにおいて、問題なのは一次面接です。本当は、できれば一次面接から現場のエンジニアや、人事担当者だとしても開発経験のある人が参加した方がよいのです。

というのも、エンジニアは応募企業の描くビジョンや会社としての事業内容よりも、自分がすることになるであろう業務内容や、使うことになるであろう開発環境を重視しています

企業側からすると「そんなことは二次面接以降で聞いてほしい」と思うかもしれませんが、開発業務や技術に関する質問にうまく答えてもらえなかったり、情報を得られなかったりすると、「この会社大丈夫かな」「エンジニアが大切にされていないのかな」と不安に思われてしまいかねません。

逆にエンジニアが毎回面接に参加している企業では、「一次か面接から技術の話で盛り上がった」といったこともよくありますし、応募者の満足度や志望度も高まりやすくなっています。

◆質問で応募者のいいところを引き出せない

ときどき面接後に「〇〇について詳しく話してもらえなくて、よくわかりませんでした」と言われる面接官の方がいらっしゃいます。

こんなとき、もちろんうまくアピールできなかった応募者にも問題はあるかもしれませんが、逆に面接官が「その人のよさを引き出せる質問ができていない」といったパターンも多いのです。

自分から積極的に話してアピールしてくれる応募者だったらいいのですが、エンジニアの場合、そういうことが得意でない人も大勢います。でも、実際に採用をしたいのは、アピールがうまい人ではなくて、開発スキルが高い人ですよね

「なんか詳しく言ってくれなくてわかんなかった……」ではなく、その人のよさがわかりそうな話題については「どんなポイントで苦労されたんですか?」「どんな取り組みをされたんですか?」「その時どう考えていたんですか?」「それはなぜですか?」といった感じで、掘り下げていきましょう。

エンジニアの採用においてこうした深掘りが正しくできるのはやはり現場のエンジニア(もしくは少なくとも開発経験のある人)ですから、やはりそういった人に面接へ参加してもらうのが重要だと思います。

◆なぜかやたら志望動機を聞きたがる

f:id:paiza:20170417130011j:plain
Photo by Joe Hall
最近は、以前よりも中途の採用選考で志望動機を聞かない・聞いても重視はしない企業が増えてきました

「転職理由」や「今後目指したいキャリア」などを聞けば、その応募者が前職でどんな課題を感じていたか、今後どんな仕事をしたいのかといったことがわかりますよね。そして、これがわかれば「なるほどそういう仕事がしたいならうちの業務がぴったりだな」とか「うちの会社とはちょっと方向性が違いそうだな」とか、この応募者の希望に自社の業務やキャリアパスが合うかどうかも判断できるかと思います。

応募者側としても、正直言って志望動機なんて思いつかない……という人は多いです。志望動機を聞くことが悪いことではないですが、無駄にエンジニアを悩ませてまで執拗に志望動機を聞くよりも、業務経験や転職理由、今後やりたい仕事内容などを深掘りしていった方が建設的な選考になるかと思います。

◆企業側の説明が少ない

採用選考は、企業と応募者の相互理解の場であり、応募者が一方的に品定めをされる場ではありません

選考の場で、きちんと会社のことや、扱っているプロダクトやサービス、キャリアパスなどについてアピールができているでしょうか?

優秀なエンジニアを採用したいのであれば、選考でも優秀な人に選ばれるよう、自社の魅力をしっかりアピールしなければなりません。多数の優秀なエンジニアが入社を決めている企業は、やはりアピールというか、選考段階で応募者をうまく口説けているところが多いです。

paizaの「カジュアル面談」は、応募者と企業が互いに自己紹介をして、キャリアの方向性などを確認し合うことで、カジュアルに相互理解ができるようにした選考方法です。

特に一次選考の場では、このような選考を通して企業側からもしっかり説明やアピールをすることで、優秀な応募者に「この会社魅力的だから、次の選考に進んでもいいかな」と思ってもらわなければなりません。

paizaの「カジュアル面談」について詳しくはこちら

■まとめ

「優秀なエンジニアを採用できない……」と嘆く企業の中には、実は上記のように「優秀なエンジニアが応募してくれたのに見抜けていなかった」「優秀なエンジニアを不安にさせたり嫌われたりして辞退されてしまった」パターンも多いのです。

繰り返しになりますが、面接は応募者と企業の相互理解の場です。そして、優秀なエンジニアは多くの企業から求められるわけですから、彼らに「なんだこの会社……」と思われてしまう選考をしていては、いつまでたってもよいエンジニアを採用することはできません

選考方法の全てを見直すのは、組織の構造的に難しい企業もあるかもしれません。ただ、採用担当の方には、優秀なエンジニアに「この企業っていいな」と思われるような、相互理解の場になる選考をしていただきたいと思います。


paizaでは、エンジニア向けの求人票の書き方や、採用の進め方についてもサポートをしております。

「こんなスキルがある人を採用したいんだけど、応募が来なくて……」「求人票の書き方はこれでいいのだろうか……」などといったご相談にものらせていただいておりますので、ぜひご活用ください。また、今後エンジニアの採用にpaizaを導入してみようかなと検討されている担当者の方がおられましたら、ぜひ一度こちらからご連絡ください


paizaは、技術を追い続けることが仕事につながり、スキルのある人がきちんと評価される場を作ることで、日本のITエンジニアの地位向上を目指したいと考えています。

「paiza転職」は、自分のプログラミング力が他社で通用するか(こっそり)腕試しができる、IT/Webエンジニアのための転職サービスです。プログラミングスキルチェック(コーディングのテスト)を受けて、スコアが一定基準を超えれば、書類選考なしで複数の会社へ応募ができます。
paiza.jp
まずはスキルチェックだけ、という使い方もできます。すぐには転職を考えていない方でも、自分のプログラミングスキルを客観的に知ることができますので、興味がある方はぜひ一度ご覧ください。
paiza.jp

ITプログラマ・エンジニア向け転職・就活・学習サービスのpaiza

1位と2位は大接戦!エンジニアに聞いた【好きなプログラミング言語】ランキング

f:id:paiza:20170414145644j:plain
Photo by Connie Ma
f:id:paiza:20140916135428p:plainこんにちは、谷口です。

ITエンジニアの皆さんは、数あるプログラミング言語の中で、どの言語が一番好きですか

先日、paizaのご登録ユーザーの皆さんに対して実施したアンケートから、「一番好きなプログラミング言語」の調査結果が出ましたので、「その言語を好きな理由」とともにご紹介いたします。paiza世代のエンジニアに人気のプログラミング言語はこちらです!

有効回答数:839
調査期間:2017年3月16日〜2017年3月27日

目次

paizaユーザーに聞いた「一番好きなプログラミング言語

1位:Python

総合1位と2位は大接戦。わずか2票差でPythonが1位に輝きました。特に学生を中心とした若い世代での人気が高かったです。

144票
※学生1位・社会人2位

好きな理由

数値計算や統計処理や文字列処理などが行いやすい。また、コードをコンパイルせずとも実行できる環境(インタプリタなど)がある点が好ましい。

文法が簡単なので、アルゴリズムを考えることに集中できる。そしてコードが美しい!!

読みやすく綺麗に書ける。

挙動が理解しやすく、ライブラリも豊富で汎用性が高い。

AIやデータ分析において、主要言語だから。

インデントでブロックを表現するところが好き。

2位:Java

142票
※学生3位・社会人1位
惜しくも総合2位になったのがJavaPythonと対照的に、社会人では1位でした。

好きな理由

データベース接続の強さ、強い静的型付け、文法などが、長くメンテナンスが必要なシステムにおいて扱いやすい。

構文の書き方(ブロックをパーレンで区切るなど)が気に入ってしまった。

処理の速さとライブラリの多さのバランスがいい

3位:C言語

106票
※学生2位・社会人4位
総合3位はC言語。さまざまな新しい言語が生まれ続ける中でも高い人気を集めています。

好きな理由

言語仕様が美しくない言語は使いたくない。

必然性のない新技術よりも、枯れた技術を信じている。

論理構造が分かりやすい。

いろいろな書き方ができて、飽きないから。

ガベージコレクションなどがないので、動作がわかりやすい。

難しいけど、奥が深いから。


以下、4位から10位までのランキングはこちら! コメントと共にご覧ください。

4位:C#

103票
※学生6位・社会人3位

好きな理由

高階関数ラムダ式が使えて、入出力が簡単だから。

極力便利なものが使いたいので、頻繁かつ継続的にアップグレードされる言語がいい。

自由度も保守性も高い。

型制約がある言語が好きだし、新しい構文をどんどん取り入れていくスタンスも好き。

今やOSやデバイスもまたいで動かすこともできるし、いまだに進化を続けている言語なので。

5位:C++

72票
※学生4位・社会人8位

好きな理由

底知れないポテンシャルがあると感じる。

速い言語が最強。

一般に難しいと言われている分、使いこなせるとかっこいいと思うから。

C++はハイレベル言語のように使えるけど、いざというときにローレベルにもなれるところがよい。

処理効率と記述の抽象性の高さが両立されている。

競技プログラミングではC++が有利すぎる。

6位:Ruby

70票
※学生5位・社会人6位

好きな理由

書きやすいし、書いていて楽しい。

こういうメソッドないかなーとか思ったら、調べれば大体あるから楽。

初めて書いたのはC言語だったけど、Rubyはいろいろやらなくていいことが多くてよい。

型宣言いらない、セミコロンいらない、データ構造の拡張が自動なところなどなどがよい。

コードの見た目が美しい。

プログラミングのしやすさとパッケージの多さがよい。

7位:PHP

58票
※学生7位・社会人5位

好きな理由

思い付いた動作が直観的に作れるので。

長く使っていて、言語仕様が気に入っている。

8位:JavaScript

42票
※学生8位・社会人7位

好きな理由

フロントでもサーバーサイドでも動くところが好き。

9位:Swift

11票
※学生9位・社会人12位
好きな理由

iOSが好きだから。

10位:Scala

8票
※学生11位・社会人10位
好きな理由

JavaっぽいけどJavaよりシンプルに書ける。

■まとめ

paizaユーザーが好きな言語ランキング、いかがでしょうか?

求人数の多さや給与の高さなどのランキングはよく見かけますが、単純に「好きな言語」のランキングはあまり見かけない気がしたので集計してみました。(アンケートにご協力いただきました皆さん、ありがとうございました!)

PythonJavaは接戦でしたね。また、個人的には総合的な順位よりも、学生と社会人で順位が大きく違う言語があったりするのが興味深かったです。

また、今回は載せられませんでしたが、11位以下の少数意見もとてもたくさんありました。得票数1票の言語だけでも20個。それぞれにこだわりを感じる理由があって、paizaのエンジニアたちも興味深く読ませていただきました。

プログラミング言語はみんな違ってみんないい……

プログラミング言語に貴賤なし……




paizaで公開中のWeb4コマ漫画「ぱいじょ!」はこちら
paiza.jp


■プログラミングが動画で学べるレッスン「paizaラーニング


paizaラーニング」は、プログラミング未経験者・初心者向け学習サービスです。

動画でプログラミングが学べる「paizaラーニング」では、初心者でも主要言語・人気言語を学べるレッスンを公開しております!

↓詳しくはこちら
paiza.jp

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
paiza.jp
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

ITプログラマ・エンジニア向け転職・就活・学習サービスのpaiza