現役エンジニアのほわいとです。
私は新卒未経験からエンジニア、なかでもコーディングをしっかりとするポジションにうっかりなっちゃいました。
最初はできない、辞めたいと思うことも多く、エンジニアなんて無理だったとも思いましたが、そんな私が今ではステップアップ転職もできてエンジニアとしてばりばりとソースコードを書いています!
同じ悩みを抱えている方に読んでいただきたいです!
プログラミングができないと感じた最初の壁
新卒未経験というプレッシャー
まず何よりも新卒未経験というプレッシャーがきつかったです。
周囲の新入社員にはもちろん経験者もいたので、彼らとの違いは当然のように感じることになりました。
それは技術の差だけでなく、待遇面もです。
やはり、当然ですが、経験者にはやりがいのある仕事がふられやすいですし、所謂配属ガチャも当たりを引きやすいです。
もし今あなたがこれからエンジニアを目指すなら、一度未経験ということのリスクを考え直してみてほしいです。
詳細は以下の記事にも記載しているのでぜひご参考に!
うまく書かなきゃという気負い
未経験というプレッシャー、ハンデはありますが、それとは無関係に仕事はふられるものです。
そこで私がおかした、そして多くの方がおかすであろう間違いが、うまく書かなきゃと気負うことです。
基本的に、プログラムをいきなりうまく書ける方はいません。
それなのに技術も十分にないうちにうまく書かなきゃと気負って空回りしてしまったんですね。
プログラムで一番大事なのは、そのプログラムで何をしたいかです。
うまく書くことではなく、どんな動きが必要かを意識してロジックを考えるべきだったんですね。
理解できない複雑な概念
また、うまく書く以前に概念として理解できなかったこともありました。
もしあなたが未経験なら、同じようにオブジェクト指向だの関数型プログラミングだの、色々と知らない単語に悩まされているのでは?
これもやはり初心者がよくぶつかる壁で、もちろん私もぶつかった壁でした。
プログラミングが無理だったと思いそうになったが
結局は基礎がものをいう
上記のようにかなりスタートに失敗し、自分にプログラミングは無理だったと結論づけそうになりました。
実は1年目でエンジニアをやめようと、
転職サイトを眺め続けていた時期が…
ただ、思い直して勉強しなおした結果、どうにか仕事をこなせるようになってきたんですね。
そこで気づいたのが結局は基礎がものをいうということ。
最初のころは、仕事としてやっている以上、どうしても今の仕事にだけ目が行って今の仕事に必要な技術だけを学ぼうとしてしまっていました。
出てきたキーワードだけを延々とググるだけの日々ですね…
それが大きな間違いで、改めて基礎から文法を学びなおしたら劇的に状況が改善しました。
というのも、プログラミングは基本的には3つの処理【順次・繰り返し・条件分岐】だけなんですね。
ほかはその発展版の処理なので、実は基本を押さえてしまえばほかはびっくりするほど自然と習得できるものなんです。
今思えば当然すぎることですが、結局は基礎、これに気づけたのが一番の成果でした。
エラーは発生して当然だと割り切れた
プログラミングに対して得たもう一つの大きな気づきはエラーは発生して当然と割り切れたことです。
各種書籍やオンラインサービスで勉強すると、普通はうまくいく処理の書き方を教えてくれます。
ただし、現場ではうまくいく処理が何だかわからない状態で手探りで仕事をすすめるんですよね。
そうなるともちろん出会うのが大量のエラー。
初心者の方ができない、辞めたいと思ってしまう最大の原因がこのエラーに対する恐怖でしょう。
私も最初はエラーが出るたびにへこんでいましたし、プログラミングは無理だったのではと思いました。
そんなときに気づいたのが、最終的にエラーが出なければ別に開発中にエラーがいくら出てもいいんじゃないか?ということ。
そこからというもの、とりあえず書いてみてエラーが出たら修正というような方法に切り替えるようになり、それが見事にはまって壁に当たりながらもそれを力業で粉砕しながら進めるようになりました!
我ながらスマートではないですが、
結局はガジガジ流が一番手堅いです!
よいとされている書き方を学んだ
こちらは番外編的なことですが、よいとされている書き方はたくさん学びました。
このころはPHPやPython、時々JavaScriptを触っていたのですが、言語ごとに便利な構文やいい書き方はたくさんあるんですよね。
また、それに加えてソースコードの読みやすさ(可読性)を意識したのが我ながらファインプレーでした。
ソースコードが読みやすいと、いいもの作った感がすごいです(小並感)。
とりあえず動くコードから一つの作品に昇華できるような気がして達成感がすごいので、ぜひみなさん可読性は意識して書いてみてください!
成長、そして転職へ
スキルアップには環境も大事
どうにか仕事をこなせるようになった私ですが、次のステップとしては転職をしました。
少しずつ成長はできるようになりましたが、入社した企業の開発スタイルは比較的古いもので、より現代的な感覚で働きたいと考えたからです。
結果的には転職活動に成功し、今ではほぼリモートワークの環境にて元気に働いています!
仕事のスタイルや顧客、扱う言語までも違う環境に最初は戸惑いもしましたが、それもすべて成長につながっていると実感できています。
結局ひとを育てるのは環境です!
スキルアップのために環境を変えてみよう!
プログラミングができる人材の需要は高い
でもそう簡単に環境なんて変えられないのでは?と思いますよね。
それは大丈夫です!
急速に情報化が進む現代、びっくりするほどプログラミングができる人材の需要は高いです。
というのも、今のIT企業にはプログラミングができない人も多いからです。
矛盾するように感じますか?でも事実なんです。
今までのIT業界は多重請けの構造のため、直接案件を受けられる会社ほど、エンジニアの仕事は開発ではなくベンダーコントロールでした。
それが最近DXや内製化といったブームを受けて、自社内でプログラミングができるエンジニアを抱えようという動きへとシフトしていっています。
というわけで、実は今、プログラミングができる人材は非常に重宝されています!!
最後に:辞めたいと思う人に伝えたいこと
プログラミングはエラーと戦い続けて成長する
私もそうだったように、プログラミングができない、無理だったと、辞めたいと思う人は毎日のように発生するエラーと戦っているのでしょう。
でも、それはいいことです。
プログラミングはエラーを乗り越えて初めて達成されるもので、エラーなく開発されたシステムはないと言い切れます。
今はもし大変だなと思っていても、それはきっと身になります!
プログラミング辞めたいと思うのはあるある
そしてこれが一番伝えたいことですが、プログラミングを辞めたいと思うのはあるあるです。
自分一人だと思ってネガティブになるのは避けてほしいです。
もし本当に辞めたいと思ったら、それもいいと思います。
副業程度に続けたり、趣味として続けたり、そのように生かすこともできるので、無理のないようにだけ気をつけましょう。
今の時代、無理して自分を傷つけるのはよくないですよ。
付録
言語相性はある:おすすめはPython
私は最初の仕事はPHPでしたが、今はメインでPythonを扱っており、Javaに触れたこともあります。
その中で断トツおすすめできるのは、やはり今人気のPythonです!
Pythonは勉強しやすいですし、その割にできることも多いです。
もしあなたがプログラミングに苦手意識をもっているなら、言語との相性が悪い可能性もあります。
AI分野でも大活躍のPythonは勉強して損しない言語なので、もし今の環境を変えたいならPythonを勉強してみるのもおすすめです!