ここに来られた方の中には、次のような疑問を持っている方が多いのではないでしょうか?
まだ未経験だけど、プログラマーに向いてる?
未経験者向けの求人に応募しても大丈夫かな?
この記事では、こういった疑問に応えるために、次の3つのポイントで書いていきます。
1. どんな仕事をすることになるの? 2. どんな性格の人がプログラマーに向いてる? 3. 未経験から、実際に何をやり始めたらいい?
何故この記事を書こうと思ったかというと、
まず最初に、私自身、現場のことを知らずに入社して、ギャップに苦しんだからです。
しかし一番大きいのは、同期・後輩が能力以外の要因で苦労しているのを間近に見てきたということです。
これから未経験で始める方には特に、この記事を読んで、ご自分の適性を判断し、
後悔しない仕事選びに活かしていただけたらと思います!
それでは、まず私のプロフィールを書かせていただきます!
1.プログラマーってどんなことするの?
プログラマーの基本的な仕事内容は、お客様の要望に基づいて、それを実現させるためのプログラムを作成することです。
具体的には、私の上司は日頃、次のような順番で進めています。
1. お客様に「こんなことができるツールを作ってほしい」と言われる 2. 見積書を作成し、お客様の同意をいただく。 3. ツールを作成する。必要に応じてマニュアルを作成する。 4. ツールの動作を確認する。もし不具合があった場合は修正する。 5. お客様に提出する。適宜、追加の要求がある。
ここで一例として、ツールの作成、とありますが、そのためのプログラムの作成は
実際に一から作成する機会は多くありません。
既にあるものを流用して修正を加えたり、機能を追加したりすることがほとんどです。
また、プログラムの作成以外にも、マニュアルの作成に触れましたが、
それ以外には、会議の議事録を作成することや、お客様に向けた資料作成などがあります。
以上、プログラマーの仕事とは、主に3つに分けられます。
1. お客様とのコミュニケーション 2. 要望のためのプログラム作成 3. 見積書,マニュアルなどの書類の作成
以上がおおまかな仕事内容となります。
仕事の内容はなんとなくわかったけど、実際に自分ができるのか?
これは自分には向いてないかもしれないな・・・
などと感じられると思います。
これからは、「どんな人がプログラマーに向いているのか?」について話していきます!
2.本当に「プログラマーに向いてる人」5選!
それでは、「どんな人がプログラマーに向いているのか?」について、現場での具体例を交えて解説していきましょう!
結論からお伝えすると、「プログラマーに向いている人」とは、こんな人です。
2-1 「わからない」に向き合える! 2-2 気になったら調べずにはいられない! 2-3 本を読むのが好き! 2-4 責任感が人一倍ある! 2-5 黙々と何かに取り組むのは苦じゃない!
それぞれ、順に詳しく解説していきますね。
2-1.「わからない」に向き合える!
わからないことに直面した際、投げ出さずに向き合える方は、プログラマーに向いています!
理由は2つあります。
1. どうやってプログラムを書けばいいか知らない事に対して、何がわからないかを明確にできる 2. 見たことのないエラーに出会った時に落ち着いて対処できる
①どうやってプログラムを書けばいいか知らない事に対して、何がわからないかを明確にできる
②見たことのないエラーに出会った時に落ち着いて対処できる
私は、プログラマーになってから、この性格だったから続けてこられたと思っています。
調べる→考える、の繰り返しの日常に、溶け込むことができたからです。
私の経験から1つ具体例を紹介しましょう。
どう考えても正しいプログラムを書いているのに、想定通りの動作を一向にしませんでした。結局、その原因は、ほんの1文字のミスでした・・・
つまり、「わからない」に向き合える方、具体的には、
「どこまで正しいか、どこで想定外が発生したか、このようなこと試行錯誤できる」方は、特にプログラマーに向いています!
2-2.気になったら調べずにはいられない!
調べるのが日常、あるいは、調べるのがそもそも好きな方は、プログラマーに向いています!
理由は2つあります。
1. どうやって調べれば解決しそうかわかる 2. 調べても解決できなかった際も、それを事実として言える
2-1で前述しましたが、プログラムの書き方、エラーがわからないことが、未経験者の方は特に多いです。
私の経験を2つほどはさみます。
私は先輩から、質問をした際に、次の2つの言葉をよくかけられていました。
「調べてもわからなかった?」
「本当にちゃんと調べた?」
調べが甘かった場合や、調べ方を間違っていた場合がほとんどでした。ですので、
調べるのが得意という方は、特にプログラマーに向いています!
もうひとつ、これは私が最初の面談で言われた話です。
「これからどうなっていきたいですか?」という質問に対し、
「自分の力で求められるプログラムを書けるようになりたいです」と答えました。
それに対し、次のようなことを、上司から経験を交えて言われました。
「自分でできるのも良いと思うけど、それよりも、調べ方が上手になる方が良いと思うよ」
10年以上やってもわからないことはたくさんある、ということに驚きを感じました。
「調べる」ということは、プログラマーとして必要なスキルの1つなのです!
つまり、「気になったら調べずにはいられない」方、具体的には、
「調べる事に対して長けている・得意な」方は、特にプログラマーに向いています!
2-3.本を読むのが好き!
本を読むのが好き、苦痛じゃない方は、プログラマーに向いています!
理由は3つあります。
1. ツコツ進めることができ、学習習慣が定着しやすい 2. 仕様書を読んで開発するので、その読み取りがしやすい 3. プログラムを読むのも苦痛になりにくい
学習習慣がない人とある人では、当たり前ですが、進度にすぐ差が出ます。
読書の習慣がある人は、学習に置き換えることで、順応がしやすいです。
現に私は入社当初、ずっと小説を読んでいましたが、それをプログラミング言語の学習に置き換えるのは、ものの数日でできました。
仕様書は、わかりやすいものだけではありません。何をいいたいかわからないこともあります。
それを読み取るのは、読書に慣れてる方ならスムーズに行えるでしょう!
プログラムはそもそも、パソコン(実際にはコンパイラ)が理解できる形で書かれた文章です。
読書に慣れてる方なら、他人の書いたコードであっても、
「ここではこういうことをしてるのね」
といったことを考えられ、理解しやすいでしょう!
つまり、「本を読むのが好き」な方、具体的には、
「文章を読むことに抵抗を感じず、スムーズに行える」方は、特にプログラマーに向いています!
2-4.責任感が人一倍ある!
責任感の強い方は、プログラマーに向いています!
理由は2つあります。
1. 雑務であっても、きちんとやり遂げ、評価が上がりやすい 2. 途中で投げ出さずに頑張れるので、成長しやすい
入社した最初の頃は、雑務の方が多いと思います。私自身がそうでした。
退屈に感じることもあることも多くありましたが、音を上げずに頑張った結果、
色々な種類の仕事を任されるようになりました。
責任感は、やる気にも繋がります。
責任感の高さは、プログラマーとして仕事を長く続ける中で、重要な要素です!
どの仕事をする上でも責任感は必要ですが、あえて書かせていただきました。
つまり、「責任感が人一倍ある」方、具体的には、
「何事に対しても責任感を持って取り組める」方は、特にプログラマーに向いています!
2-5.黙々と何かに取り組むのは苦じゃない!
黙々と作業が出来る方は、プログラマーに向いています!
理由は単純で、
長い時間座ってプログラムを書いたり、書類を書いたりすることが多いからです。
私はもともと、長時間座って読書したりするのが好きなので、それほど苦痛に感じることはありませんでした。
しかし私の後輩の一人は、それが出来ず、周りが黙々と作業している環境で、落ち着きが保てませんでした。
相談や愚痴をよく聞きました。その際、
「もっと話しながらやりたい」
とよく口にしていました。
その子は結局部署を変えることになりました。
「黙々と作業できる」ことは、職場になじむために、プログラマーとしての仕事を行うために、最も必要な性格だと感じています。
つまり、「黙々と何かに取り組むのは苦じゃない」方、具体的には、
「静かに一人で作業を続けられる」方は、特にプログラマーに向いています!
以上、「プログラマーに向いている人」について解説しました。あなたはいくつ当てはまりましたか?
続いて、逆の視点で、「プログラマーになったときに苦労する人はどんな人か?」について解説していきます。
3.逆に「苦労する」のはこんな人・・・5選
ここでは、「プログラマーになったときに苦労する人はどんな人か?」について、同様に現場での具体例を挟みながら解説していきます!
結論からお伝えすると、「プログラマーになったときに苦労する人」とはこんな人です。
3-1. 学習習慣が身に付いていない 3-2. プログラミングに興味を持てない 3-3. コピペ癖がある 3-4. ワイワイ楽しみたい 3-5. 他人に質問するのが苦手
それぞれについて、詳しく見ていきましょう!
3-1.学習習慣が身に付いていない
学習習慣が身に付いていない人、身に付けたことがない人は、プログラマーになったら苦労することになります。
理由は2つあります。
1. プログラミング言語自体の学習は時間を要する 2. プログラミング言語以外にも、学ぶべきものがたくさんある
私は、プログラミング言語の中でも、C#,C++をメインでやっていますが、
調べて色々プログラムを書けるようになってきたときに次のように思いました。
「もう大体のことは知ってるから、もう知らないことはあまりないだろう」
しかし、ネットで拾った本の目次を眺めると、9割ほど知らないということに気づいて愕然としました。
今でもまだ知らないことがたくさんあります・・・
最近だと、AI、クラウド、ゲーム、といったような分野が有名です。もし手を付けようとしたら、それぞれについて特有の知識が求められます。
学習習慣は、そのような時に必要になります!
つまり、「学習習慣が身に付いていない」人は、「IT技術を習得しにくい」ため、苦労することになります。
もし習慣が定着していない方は、毎日10分でも、何かをコツコツ進めてみてはいかがでしょうか。
3-2.プログラミングに興味を持てない
プログラミングに興味をなかなか持てない、持てなくなった人は、実際にプログラマーになったら苦労することになります。
プログラマーは、長時間プログラムに向き合うことが多く、集中力・体力を消費します。
その点、興味が持てないと、次の3つのマイナスの影響が生まれます。
1. 雑念が多くなり、集中ができない 2. 思うように力を発揮できない 3. 学習意欲が出ず、知識が増えず、ちぐはぐな知識が積み重なる
他のことに興味がある場合も、同様のことが言えます。
前述の私の後輩は、「未経験でも大丈夫だったから受けた」と言っていました。
それでも、プログラミングに興味が持てず、全然できるようにならないということで悩んでいました。
同期の一人も、同じことを私によく話していました。
以上の経験から、興味を持つことは、向き不向きを大きく分ける1点だとはっきりと言えます。
かくいう私も入社当初は、プログラミングに興味があまりありませんでした。
私は2つのモチベーションで勉強を着々と始めました。
1. わからないことが多すぎることによるストレスを解消したい 2. ゲームの勉強がしてみたい
つまり、「プログラミングに興味を持てない」方は、「プログラミングの習得がなかなかできない」ため、苦労することになります。
プログラミングに興味がなかなか持てない方は、
何か、ご自身の興味に合わせて勉強するのをおすすめします!
3-3.コピペ癖がある
コピペ癖があると、プログラマーになった際に、苦労することになります。
これには3つの理由があります。
1. コピペしたプログラムが何をやっているかわからない 2. エラーが発生した時にどこがおかしいかわからない 3. どうすればやりたいことができるか考えられない
私の同期のコピペ癖のある人は、「なんでこのコードを書いたの?」という質問に対し、次のように答えていました。
「それで動くと、ネットに書いてあったからです。」
その質問は、指示した通りに作っていなかったことが原因の質問でした。
仕事をしていると、次のような風に指示されることがあります。
「ここの書き方をもう少しスマートにできない?」
「ここをこの書き方に直して」
コピペ癖があると、コピペしたものを直そうと思えず、要求を反映させることが難しくなります。
別に、後輩から、「先輩の書いてくれたコードをコピペしたんですが、エラーが出ます」と言われたことがあります。
私が見ると、使い方が間違っていることがわかりました。他の人に教えてもらっても、応用するのが難しくなるということです。
以上のことから、私は、コピペ癖は、プログラマーとしての成長の、大きな足かせになります、
つまり、「コピペ癖がある」方は、「基礎の積み重ねをしにくく、習得に差が出る」ため、苦労することになります。
コピペ癖がある、という場合は、1つずつ理解していく姿勢を身につけましょう!
3-4.ワイワイ楽しみたい
ワイワイ楽しくやりたい、という、学生の延長戦のような考えは、プログラマーになった際に、ギャップで苦労することになります。
私の職場の話になりますが、理由は1つで、黙々と作業する環境のため、
ワイワイとできるような雰囲気ではないからです。
私の周りでも、楽しく話しながら仕事したいという人がいて、そのギャップで悩んていました。
ワイワイ楽しみたい方は、プログラマーになると、ストレスを感じることになります。
つまり、「ワイワイ楽しみたい」方は、「雰囲気になじめずストレスを感じやすい」ため、苦労することになります。
職場ごとの雰囲気があると思いますので、1つの参考にしていただけたらと思います。
3-5.他人に質問するのが苦手
他人に質問をすることが苦手、というのも、プログラマーになった際に苦労する原因となります。
理由は2つあります。
1. 一人でずっと悩んでしまい、進まなくなる 2. 質問の仕方の問題で、上司に指摘される
ひとつめは、単純に質問を行うのが苦手であることによるものです。
最初の時点でわかることは、たかが知れているため、
実際の業務でも、上司に質問する姿勢が大事になります。
私は、自分で調べたりして解決する性格ですが、
それではわからないものもたくさんありました。
「仕様のこの部分、よくわからないけど、こういうことかな。」
私は、このようなことを考え、自己解決して、質問をしないことで、
お互いの思っていることが異なることを何回も経験しました。
これで作業量がさらに増えることにもなってしまいます。
プログラマーになると、作業自体について、プログラミングについて、
わからないことが出てくると思います。
質問はしないよりした方がよいと思っています。ですが、次のように言われる可能性があるのも事実です、
「それは調べたらわかると思うよ」
「それは前にも言ったことがあるよね?」
このように言われないためにも、質問を整理する必要があります。
つまり、「他人に質問するのが苦手」な方は、「不明点を残したままになる」ため、苦労することになります。
実際に、やらないことには成長しません。
プログラマーとして成長することを邪魔するのは、質問すること、です。
苦手な方は、今は苦手でも、授業やバイトなどで実践してみることをおすすめします!
これにより、実際にプログラマーになった際に、スムーズに作業が行えるようになります!
以上、「プログラマーになったときに苦労する人」について解説しました。
いくつか当てはまったとしても、直そうと努力することや、現場を見に行くことでも大丈夫です!
これまでは性格について解説してきました。
しかし、性格だけでは向き不向きは測りきれない、ということが事実としてあります。
そこで、次に、気軽に行える適性検査を紹介します。
お時間のある方は、是非取り組んでみてください!
4.適性を測ってみるのも1つの手!
ここまでの記事では、主に性格という側面について注目しました。
しかし、実際は、能力の向き不向きが影響を及ぼすのは言うまでもありません。
なので、1つの方法として、診断を実際に受けてみることをおすすめします!
以下で、私がおすすめしたい、適性の診断に使える無料サイトを紹介します!
4-1.GEEKJOB
ひとつめは、簡単に無料で適性を診断できるサイトです!
実際に取り組んでみました。5~10分で終わる、手軽に行えるものでした!
内容は、自己分析,法則性の推測,簡単な文脈の読解の3種類で構成されていました。
私の向き不向きのは評価はBでした(笑)
手軽さではここで紹介したサイトが一番なので、空き時間にやりたい方におすすえします!
本気で診断したい方には、別の診断サイトをおすすめします(汗)
4-2.アルゴロジック2
ふたつめは、プログラミングの素養を見るのに使えるサイトです!
実際にプログラムを書くわけではなく、プログラミングで使うような
いくつかの構文(コマンド)を並べて、アイテムを全部拾うというものです。
それぞれ、ゲーム性があり、ステージが30個用意されています。
ステージ12までクリアできたら、プログラミングをやるのに向いています!
実際にプログラミングの学習をする際に、つまづくことはないでしょう。
ステージ13以降は難易度が高くなっており、私も苦労しました(汗)。
ここでは、GEEK JOBとアルゴロジック2を紹介しました。
いずれも気軽に行えるので、是非一度取り組んでみてください!
次に、「未経験者におすすめのプログラミング言語は何?」について、解説していきます。
5.【未経験者向け】おすすめのプログラミング言語3選!
それでは、3つおすすめのプログラミングを見ていきましょう!
私がおすすめしたいのは、次の3つの言語です。
- Python
- C#
- Go
それぞれについて、解説していきます!
5-1.Python
難易度 : ★★☆ 教材・ツールの多さ : ★★★ 流行・将来性 : ★★★
Pythonは、ここ数年で最も注目されている言語です!
言語自体は単純で、初心者でもつまづきにくいと思います!
最近流行のAI・ロボット分野をやってみたい方には、
まず手を付ける言語として強くおすすめします。
5-2.C#
難易度 : ★★★ 教材・ツールの多さ : ★★☆ 流行・将来性 : ★★☆
C#をおすすめする一番の理由は、Windowsの圧倒的なシェアの大きさです!
2022年現在のシェア率の比較は、次のようになっています。
参考:https://gs.statcounter.com/os-market-share/desktop/worldwide
Windowsのシェアが極めて大きいことが見て取れるでしょう。C#は、Windowsの開発社であるMicrosoftイチオシの言語なのです!
Windows PCで主に開発に使用できる言語であり、Windows PCを日頃使用されている方は、選択肢のひとつに入れるのをおすすめします!
C#の一番の特徴は、Windowsのみならず、Mac,Linux環境でも、開発したものが動くことにあります!
その点、C#は汎用性に非常に優れており、最近だとゲーム開発(Unity)に活発に使用されています!
ゲーム開発をやってみたいという方は、C#を始めてみることをおすすめします!
5-3.Go
難易度 : ★☆☆ 教材・ツールの多さ : ★★☆ 流行・将来性 : ★★☆
Go言語(通称Golang)は、聞いたことのない方も多いかと思います。
この言語はGoogleが2007年に開発した言語で、比較的新しいものとなっています。
おすすめする理由は、言語が単純なことにあります。なので、初心者でも勉強しやすいものとなっています。
現在需要が増えているWebやクラウドと親和性が高い点も評価できます。
以上、未経験者におすすめの言語を3つ紹介しました。
プログラミングの学習を始める際に、参考にしていただければと思います!
次に、プログラミングの学習におすすめの本を2冊紹介させていただきます!
6. 独学したい人におすすめの本
さて、ここでは、独学したい方のため、おすすめの本を2冊紹介していきます!
では、順に見ていきましょう。
6-1.ゲーム開発に興味のある人向け
この記事を読んでくれている方の中には、次のように思っている方が少なからずおられるでしょう。
「ゲームを自分で作ってみたいけど、何をやればいいんだろう?」
ここでは、そんな方に向けて、おすすめの本をひとつご紹介します!
Unity 3Dゲーム開発ではじめる C#プログラミング
最初にご紹介するのは、UnityでC#の勉強を始めるという本です。
Unityは、ゲーム開発ツール(ソフトウェア)のひとつです。
次の図の示すように、Unityは世界シェアのほとんど半分を占めているので、将来性が十分にあります!
参考:https://medium.com/ivey-business-review/epic-games-an-unreal-healthcare-opportunity-30c5492c88d3
この本は、ゲームもプログラミングもどっちもやりたい方を対象にしています。
Unityは機能が多く、最初に勉強すると挫折するかもしれません。
しかし、ここで紹介した本では、C#を学びながら、Unityの基礎も学べるという意味で、
C#にもUnityにも入り口を作ってくれています!
C#自体も学びにくい言語として有名ですので、この本から入るのも、良いと思います!
Unityコース6-2.しっかり学びたい人向け
この記事を読まれている方の中には、次のように思っている方もおられるでしょう。
「何をやりたいとかではないけど、とりあえず基礎を身に着けたい」
ここでは、そんな方のために、おすすめの本を一つご紹介します!
新・明解C言語 入門編 第2版
こちらは、定評ある明解シリーズのC言語版です。
内容は、C言語の基本を網羅したものとなっており、これに取り組むことで、
今後のスキル向上がスムーズに行えます!
その理由は、実は、C言語は、あらゆる言語の土台となっているからです。
一度、次の図を見てください。これは、プログラミング言語の派生図です。
参考:https://tips-school.jp/info_c/
5章でおすすめした言語がどれもC言語から派生しているのが見て取れるでしょう!
そうです、C言語をやることで、
流行りの言語を習得するのに必要な基礎知識を身に付けることができるのです!
ぜひ、ここでご紹介した本を手に取って、どの言語も楽に習得できるようになりましょう!
以上、2つの本を紹介しました。
自分でコツコツと進めたいという方は、是非参考にしていただければと思います。
次に、本ではなく、無料学習サイトを紹介します!
本を読み進めるのが続けられない方にもおすすめです!
7. まずは気軽にやってみよう!無料学習サイト紹介!
それでは、無料学習サイトの一つ、「CODEPREP」を紹介します!
こちらのサイトは、実践的に、プログラミング言語の使い方を学んでいくというものです!
「プログラミング言語は、単調で飽きやすい」という方も多いでしょう。
そんな方は、ぜひ一度、CODEPREPをやってみてはどうでしょうか?!
教材の数が多いので、きっとやってみたいと思うものが見つかります!
私は「Webカメラを使ってみよう!」というものをやってみました。
内容は、穴埋め形式になっており、正しいものを入力したら、次に進めます!
私自身、思っていたより苦労しました。しかし同時に、
次に期待しながら進められました。
単調なものが苦手、という方に、ぜひCODEPREPをおすすめします!
ここでは、無料の学習サイトを紹介しました。
空き時間に気軽に取り組んでみてはいかがでしょうか!
次に、未経験者向けのオンラインスクールを紹介します。
コロナ禍のライフスタイルに合っており、おすすめです!
その中でもおすすめの2つをピックアップしました!
8. 【未経験者向け】今だからこそオンラインスクール!
ここでは、未経験者におすすめのオンラインスクールを紹介します!
「独学で進めると、上手くいかないかもしれない・・・」
「できる人に教えてもらいたい!」
そんな方に、特におすすめです!
では、ひとつずつ見ていきましょう!
8-1.初心者からAIエンジニアへ!オンラインAIプログラミングスクール Aidemy Premium
「ここ数年、流行まっしぐらのAI(人工知能)を学んでみたい!」
そんな思いを抱いておられる「未経験」の方におすすめの、オンラインスクールです!
AIは発展が著しく、手が付けられないのでは?と思われるかもしれません。
しかし、「AIの民主化」が着実に進んでおり、
専門家でなくても「比較的簡単にAI技術を使える」ようになってきているのです!
現状、AIはIT業界の中でも人材不足が著しい分野です。
そんな中だからこそ、AI技術をマスターして、ご自分の市場価値を高めてみてはいかがでしょうか!
さらに、おすすめしたい点が2つあります!
1. 在宅で気軽に受講できる 2. 興味のあるものを選択して受講できる
AIに少しでも興味のある方は、是非一度、目を通してみてください!
8-2.TechAcademy
「プログラミングをみっちりやって習得したい!」
そんな方におすすめしたいのが、TechAcademyです!
おすすめポイントは4つあります!
1. オンラインで受講できる 2. 転職支援付き! 3. 目的に合わせた幅広いコースがある(副業・転職向けのコースがあります!) 4. 折り紙付きの講師陣によるマンツーマン指導!
すごく魅力的ではありませんか?
最短距離で転職!副業!
ぜひ、TechAcademyを受講して叶えましょう!
以上、2つオンラインスクールを紹介しました。
オンラインスクールは他にも色々あります。
9. まとめ
この記事では、主に
「プログラマーに向いているのはどんな人?」
「プログラマーになったら苦労するのはどんな人?」
について、私の現役プログラマーとしての実体験をもとに解説しました。
まず、向いている人の特徴として、次の5つを紹介しました。
1. 「わからない」に向き合える! 2. 気になったら調べずにはいられない! 3. 本を読むのが好き! 4. 責任感が人一倍ある! 5. 黙々と何かに取り組むのは苦じゃない!
次に、苦労する人の特徴として、次の5つを紹介しました。
1. 学習習慣が身に付いていない 2. プログラミングに興味を持てない 3. コピペ癖がある 4. ワイワイ楽しみたい 5. 他人に質問するのが苦手
これらの多くは、一見プログラマーと関係ないように思えたかもしれません。
しかし、どれもプログラマーになった際に長所・短所として明確に現れるものです!
世間的なイメージだけで職業を決めると失敗することが多くあります。
コメント
こんにちは!
こんにちは(^^)!
よろしくお願いします!
I love it when individuals get together and share thoughts.
Great site, continue the good work!