- プログラマーになったけど仕事が辛い。。
- 自分が作った部分だけ沢山バグが出る。。
今回はこのような疑問に答えていきます。
当記事の内容
-
辛いと感じる原因を理解すると、解決方法がわかる
-
最初はバグを出せるだけ優秀
-
バグを出さないコツ
-
みんな最初はバグだらけ
筆者について
-
文系大学卒業後、専門商社へ入社
-
将来性のあるITエンジニアに興味を持ち、4ヶ月独学して開発エンジニアとして転職
-
現在はWEB系開発のプロジェクトリーダー
今回は、たいていの新人プログラマーの人が「自分はプログラミングの才能がない。」と感じる理由を解説しつつ、その解決策を提案していきたいと思います。
Contents
辛いと感じる理由を明確化する
こちらの記事をお読みの方は漠然と「プログラマーが辛い。。」と考えていると思います。
具体的にはプログラマーという仕事の「どこ」が辛いのでしょうか。
理由が明確化されると、解決までの道筋が見えてきます。
仕事が辛いと感じる原因はどの仕事も大体一緒
もしかしたらプログラマーが辛いと思う原因は「プログラマーだから」ではないかもしれません。
仕事が辛いと感じる理由は大きく下記の3つに大別されると言われています。
仕事が辛いと感じる理由
-
人間関係が原因(上司との関係など)
-
自分が原因(自分が仕事ができない、ミスが多いなど)
-
環境が原因(労働時間が長い、給与が安い)
これら3つのどれかに当てはまりますでしょうか。
プログラマーの場合は「自分が原因」のケースが多い
仕事が辛いと感じる理由はご紹介しましたが、プログラマーが辛いと感じる理由は以下が考えられます。
プログラマーが辛いと感じる理由
-
プログラムを組むのが遅い
-
自分が実装した機能にバグが集中する
-
そもそも手が動かなくて、実装が進まない
プログラマーという専門職の特徴からして、「自分のプログラミングスキルが周りより劣っている」と感じる時に辛いと感じるのではないでしょうか?
私も上記のような経験をたくさんしました。
なので「自分のプログラミングスキルが周りより劣っている」という悩みにフォーカスしていきます。
筆者も「プログラマーが辛い」と感じていた
少しだけ私の話をさせてください。
私は元々営業をやっていたのですが、未経験からプログラマーに転職しました。
転職するまでの期間でかなり独学して、実際に入社したらSES企業なのに自社開発に携わることができて舞い上がっていました。
自分で「優秀なプログラマーになれそう」と思っていましたが、いざ開発が始まると何もできないんですよね。笑
今ではプロジェクトリーダーをやるまでになりましたが、当時の私は今のみなさんと同じ気持ちでしたので、同じ経験をした人が言っていることとしてお読みいただければと思います。
解決策はある
最初はみんな同じ経験をしているということを説明してから、どのようにすれば解決につながるか?という順番で進めます。
最初はバグを出せるだけ優秀
実はバグを仕込むことができれば優秀です。笑
私は最初の頃、手が一切動かなかったのでバグを生むことすらできませんでした。
もし、バグを仕込むくらいはできるという方であれば当時の私より確実に優秀なので安心してください。
全く手が動かない人は基礎を使えていない
全くプログラムが書けない人は「基礎を使うことができていない」からです。
基礎を使うことができていないというのは、「基礎文法を見れば分かるけど自分では書けない人」のことです。
こういったお悩みの方は、ご自身で1からアプリを作ってみることをおすすめします。
何を作ったらいいか分からないという方は別記事で「プログラミング初学者のた方が作るべきアプリ」を紹介しているので参考にしてください。
-
参考プログラミング初心者の「作りたいものがない」を解決する
悩んでいる人 「プログラミングを独学したので何か作りたい!!」 「何かアプリを作りたいけどアイディアがない。。。」 こういった疑問に回答していきます。 本記事の内容 作ったことがない人はTodoアプリ ...
続きを見る
バグを出さないコツ
ここからはバグを出してしまう理由を説明しながら、私がバグを出さないように意識していることを紹介します。
プログラミングができるだけだと視野が狭い
入社前にいくらプログラミングを勉強して、自信があっても現場に入るとバグだらけで打ち砕かれます。
理由は簡単で、ユーザーがサルがだったとしても壊れないシステムを作れていないからです。
想定外のケースを想定できていない
システム開発では「モンキーテスト」という言葉を使ったりします。
これは、テスト仕様書を作ったりせずに「サルが適当に入力したり、ボタンを押したりしても壊れないシステムかどうか?」を試すテストです。
システムのユーザーは想定外の使い方をします。
例えば以下のようなケースですね。
よくあるケース
-
年齢の入力欄に名前を入れてしまう
-
ユーザー登録して発行される仮パスワードの期限が7日なのに2週間以上経ってからログインしようとする
-
なんとなくボタン連打
ユーザーは開発者の想定していないことをするので、開発中に「設計書通り作るだけ」だとバグを生む可能性があります。
「もし〇〇だったら〜」が大事
バグを生みにくいコードを書くには「もし〇〇だったら〜」と考えるのがおすすめです。
例えば以下ですね。
-
もし数値の入力欄に文字列が入力されたら~
-
もしパスワードの有効期限が切れていたら~
-
もしボタンを連打されたら~
このように考えながら実装を進めると格段にバグが減ります。
お客様が「やりそうなこと」を先回りして対策をしましょう。
特に気をつけた方がいいこと
システムを作る時に、特に気をつけた方がいいことは以下です。
気をつけた方がいいことリスト
-
値の型
-
最大桁数
-
最小桁数
-
最大値
-
最小値
これらを気を付けるだけで、かなりバグを減らせます。
よくあるのが、「名前の入力蘭は20文字まで入力できるのに、登録した後の設定画面で画面内に20文字入りきらない」とかですね。
こう言うのを「フル桁テスト」とか言います。
※「フル」とはFullのことで目一杯という意味です。
あとは、最小値ですね。
サーバー内では「小数点や負の値」を想定していなくて不具合につながったりもしますので、数値の入力欄には「少数やマイナスの値」を考慮しながら実装をしましょう。
上司だって最初はバグだらけ
これまでバグをなるべく出さないコツを書いてきましたが、私も最初はバグ製造機でした。
何をやってもバグを生んでしまって辛いですよね。人にソースを見てもらうのが嫌になります。
でもみんな最初はそうです。
まれに入社前からプログラミングスキルが高い人がいますが、ユーザーが想定外の使い方をしても壊れない作り方をできる人は少ないです。
最初からできる人なんていません。
毎日少しづつ、昨日の自分より知識をつけていけばOKです。
皆さんの上司だって、最初はバグだらけだったはずです。
読みやすいコードを書くのに参考になる本
リーダブルコードと言う本はめちゃめちゃおすすめです。
「どうやったら保守性の高いコードを書けるか」を具体的に説明してくれている本なので、プログラマーにとって必須と言える本ですね。
気になったら買ってみてください。
まとめ
今回は以下の点について解説してきました。
-
「プログラマーが辛い」と感じる理由
-
バグを生み出さないようにするコツ
-
上司だって最初はバグだらけ
プログラムにも言えることですが、「問題を解決したいときは、その原因はなにか?」を考えるようにすると解決方法に繋がります。
そして成長するには、一定の時間が必要です。
「辛いからやめる」のも一つですが、何事も「続けなければ成果は出ない」と思います。
ただ、原因がパワハラとかなのであれば話は別なので、そういう職場はさっさと辞めてしまいましょう。
ITエンジニアの転職にはITに特化した転職エージェントを使うと失敗しにくいです。
おすすめの転職エージェントについては別の記事で紹介しているので、転職を検討されている方は是非ご覧ください。