これからプログラミングのスキルを身につけていこうとしているプログラミング初心者が持ってしまいがちな誤解についてお話します。
本記事の内容
・プログラミング初心者にありがちな誤解
・正しい理解
・実際はどうなのか
■プログラミング初心者にありがちな誤解
みなさんがプログラマーに対して持つイメージってどんな感じでしょうか?
プログラミングスクールの講師をしていると、よくこんな質問を受けます。
「プログラミングのルールや命令のロジックって、全部覚えないといけないんですよね?」
「・・・う~ん。もしかして全部覚えないといけないと思ってます?」
「はい、プログラマーの人って、パソコンをおもむろに開いてカタカタと打ち込んでいるイメージがあるので」
「あぁ、なるほど。あれですかね。スタバでマックを開いてカタカタキーボード打ち込んでいるイメージですかね?」
「そうです。そうです。なんかスタバでマック開いてカタカタ打っているとプログラマーって感じがします。カッコいいですよね。」
最近、プログラマーを目指す人が増えているみたですね。
そのこと自体はとても良いことかと思うのですが、なんかイメージが美化されているような・・・。
スタバでマック・・・確かにカッコいいかも!
でもね。それ誤解だから。大いなる間違い。プログラマーがそんなカッコいいわけない!と声を大にして言いたい。
あらぬ誤解を解いておかないと。プログラマーを夢見ている人たちの幻想をぶち壊すことになるかもだけど。
■正しい理解
プログラマーって、ぶっちゃけて言うと、そんなカッコいいもんじゃないぜ。
コーディングして・・・
テストして・・・
エラーが出て・・・
バグつぶして・・・
エラーが出て・・・
バグつぶして・・・
エラーが出て・・・
なんてことをえんえんと繰り返すんだから。
出てくるエラーがわけわかんこともしょっちゅうだし・・・(泣)。
ググってもググっても、原因わかんねーし。
途方にくれて「うわー!」って叫びたくなることもよくあるある。
スタバでマックをカタカタ・・・ラテ飲みながら優雅に仕事する・・・カッチョええ。
そんなスマートなイメージをプログラマーに対して抱いているなら、今のうちにプログラマー目指すのやめた方がええよ。
もう、どろくさい、地味な仕事なんだから。プログラマーなんて。
まあ、確かに場所と時間に制限されず仕事ができるってメリットはあるかもしれないけど、それもWeb系のプログラマーに限った話だし。
たいはんのプログラマーはお客さんからまだですか、まだですか、って問い合わせの嵐と納期に追われて汗ダラダラかいて焦っているよ。
プログラマーがカッコいい職業と見られているのは気分よいけど、あまりに実体とかけはなれたイメージはかえってマイナスだよ。
■実際はどうなのか
プログラマーはプログラム仕様書(プログラムの作成指示書)に基づいて、コーディング(プログラムの命令を打ち込んでいくこと)して、単体テスト(そのプログラムだけのテスト)をして、仕様書通りに動くことを確認したら納品して仕事が完了する。
なので、会社や人によってはプログラマーのことをコーダー(コーディングだけする人)と呼んだりする。
一方、システムエンジニアは、システムそのものの設計をして、設計書に落とし込んでプログラマーに仕様書を渡して納品を受けてちゃんと動くことを確認する、なんてことをするのがお仕事。
そのあたりは会社によって明確に役割を分けている場合もあるけど、システムエンジニア的なことを行うプログラマーもいたりするので明確な線引きはされていないのが実際です。
昔は、プログラマーからシステムエンジニアになるのがキャリアの流れだったけど、最近はどの職種っていう境界線があいまいになってきているから、プログラマーはなんでもやるのかな。
少なくとも今は、クラウドサービス使ったり、仮想化技術でローカルに環境構築したりして、開発できる環境を自分で用意してアプリケーションを作る、ってことがプログラマーの役割なのかな。
こうしたことができると、お客さんからプログラム作成を受注したら、いつでもどこでも仕事ができるので、スタバでマックのカッチョええ仕事のやり方もできるかも。
まあなんにせよ一足飛びにスタバでマックは実現しないので、そこにたどり着くまでどろくさい地味な仕事をこなす覚悟は必要だよ。
あまり夢を見すぎると現実とのギャップで落ち込むことになるかも。
あっ!でもそれはどんな仕事でも一緒か・・・。