こんにちは。もんしょー(@sima199407)です。
文系から未経験からどうやってエンジニアになった人です。
という疑問があるかと思います。
以前に以下のようなツイートをしました。
1つのプログラミング言語ができるようになると応用がききます。
PHPをやってからPythonに入ったらスムーズにわかったし、そこからVue.jsに入ってもなんとなくイケました。
自慢とかではなく、まずは一つでいいんでしっかりやってみることが次につながります?
— もんしょー@リモートエンジニア|YouTube登録者1500人突破 (@sima199407) May 18, 2020
1つのプログラミング言語ができるようになると応用がききます。
PHPをやってからPythonに入ったらスムーズにわかったし、そこからVue.jsに入ってもなんとなくイケました。
自慢とかではなく、まずは一つでいいんでしっかりやってみることが次につながります
これについてもう少し詳しく解説していきます!
動画でも解説してます
キーワードから申しますと、「スペイン語とポルトガル語」です。
本記事では扱ったことのない言語を会社で使用すると言われた時や、求人は自分が使える言語だけに絞った方がいいのかという疑問に僕の実体験などを交えながら応えていきます。
プログラミング言語は複数やった方がいい?
初心者限定という前提であれば、「まずは1つやっておきましょう」というのが結論になります。
最初に複数の言語を学ぶのって効率が悪いですし、またプログラミング言語は応用ができるんですよ。
例えばRubyをやってからPHP入ってもいいし、PHP入ってからPython入ってもいいしと、1つの言語を覚えてしまうと違う言語もやりやすいんです。
なぜかというと、プログラミング言語は基本的に同じような動きをするためです。
例えばif文と言われる条件分岐、AじゃなければBに行きましょう、BじゃなかったらCに行きましょうと、どんどんと条件別けをしていく文法です。
これってどの言語でもありますし、しかも関数とかも若干使い方変わるものもありますが、基本的には同じなんです。
そのため1つの言語を覚えれば応用がきくのです。
プログラミング以外でも
スペイン語とポルトガル語は似てると言われていて、これと同じで1つの言語を覚えると他の言語を覚えるのもすごくスムーズに進むんです。
これもプログラミングの学習の仕方と同じで最初からいろいろと詰め込んだりしたり、言語を覚えるよりも、1つの言語を極めた方が後々、他の言語を学習するときに楽になるんじゃないかなと思います。
駆け出しエンジニアが陥るワナ
よくあるのが自分で勉強してきたものばっかりに絞ってしまうことです。
どういうことかというと、大体独学でプログラミングを学ぼうとするとRubyかPHP選ぶ傾向が多いんですけども、その後ポートフォリオ作りましたってなったら、その言語を使っている求人を普通は狙いに行きますよね?
そうなるとPHP、Rubyの求人の競争率ってのが上がります。
こうなると未経験の中でも選別が行われ、かなりの激戦になると思います。
何回か面接落ちていくと「あー僕のスキルじゃエンジニアになれないのかな」と思うような方も出てくるわけです。
能力だけの問題ではない
じゃあ、そういう人達は素質がないのか?というとそういうわけではありません。
たまたま競争に巻き込まれただけであり、これがワナなんです。
例えばJavaの未経験の求人って多かったりするんですよ。
そのため転職型のスクールでJavaを教えているスクールって少なくないんですね。
それにも関わらずRuby(orPHP)しかやってこなかったからRubyだけの求人に絞ったために就職が大変だったとか結構あると思います。
これらを踏まえて次のセクションで僕のインターン時代の話をしましょう。
インターン採用時の話
先ほど独学ではRubyやPHPを選択するのが多いという話をしました。
僕の場合は、プログラミングスクールで最初にRubyを勉強しました。
当然、Rubyの求人を見つけて面接しに行きました。
僕が当時プログラミングスクールに通っている時は、Rubyを使って教えているスクールが多かったんです。
そのため先ほど解説したワナにまんまと入っていくことになりました。笑
たまたま声を掛けてくれた会社があって、そこ使っている言語がPHPだったんですよ。
普通だったら「僕はRuby勉強したからRubyの会社行こうかなー。。。他、考えようかな」と思うかもしれないんですけども、とにかく最初実務経験が必要だってことだけは知っていたので、とりあえずもうそこで働こうと思いました。
言語未経験で入った結果。。
最初は苦戦しました。
全然使い方違いますし、セミコロン(;)みたいなつけないといけないのかと、使い方で苦戦しました。
周りと比較してどんどん遅れていくというのもあったんですけども、やっていくうちに
という風になっていきました。
結果的には良かったと思います。
言語で縛らなくてもいい
Ruby(orPHP)を勉強したからRubyだけに絞りますとかではなく、他の言語の求人でも未経験のうちは受けてもいいかなと思います。
入社後は1つの言語を覚えていれば応用がききますし、もし最初に勉強した言語で実務経験を積みたいと思えば、案外すんなり決まったりします。
何故なら実務経験を持っているからです。
最初は自分の希望したとおり場所ではないかもしれませんが、そういった言語のところにいくのもありだと思います。
これは絞ったほうがいい
余談となりますが、言語で絞らないほうがいいよというお話をしましたが、絞ってもいいケースというのもあります。
1つは古い知識、2つ目はあまり使われていないものです。
次転職を考えるときにどう考えるかっていうところですが、たまに未経験でもOKですみたいなこと書いてあるんですけども、
って思うようなものあり、そういうところは注意するかなと思います。
僕の場合、最終的にリモートワークしたいなって思ってたのでそういうことを見ていました。
COBOLとかそういった言語だったらパソコンじゃなくて端末が必要になったりとか、そもそもリモート案件が少ないものは選ばないようにしていました。
まとめ
1つ目、1つできれば応用ができる!
とりあえず、プログラミング言語1つやっておけば、そこから応用がききます。
2つ目、言語を絞らずに就活する!
RubyをやっているからRubyだけに絞るのではなく、JavaやPHPなど他の言語も見ていけば、未経験の就職であれば割とスムーズにいくかなと思います。
3つ目、自分の最低限の要望は通す!
リモートワークをしたいのか、高単価案件がいいのかなど漠然でもいいですが、自分のキャリアパスを考えながら、1つでもそれに沿っているかどうかっていうところをちゃんと考えましょう。
今回のまとめです。
・1つできれば応用ができる
・言語を絞らずに就活する
・自分の最低限の要望は通す