プログラミングのススメ
当然のことながら人はみんな同じではありません。
それぞれ得意なことや不得意なこと、好きなこと嫌いなことを持っています。
何かが致命的に不得意でも、何か別のことが飛びぬけて得意なこともあります。そうじゃない人もいるかもしれません。
今まではその中でも苦手なことにフォーカスして記事を書いてきた気がしていますので、今回は私の得意なことについて書いていこうと思います。
想定読者と要点
以下のような方の参考になるかもしれません。
- 自分には得意なことがわからない。何か手掛かりが欲しい
- ASDの人はどんなことが得意なのかを知りたい
- 他の人が好きなものについて書いている文書を読みたい
要点は以下の通りです
- プログラミングはいいぞ~
- でも仕事にする場合はいいことばかりでもないぞ~
それでは本編スタートです。
私が苦手なことと得意なこと
私は直観的に人の気持ちを理解することはできません。人混みやうるさい環境も苦手です。自分の気持ちを誰かに伝えることも苦手です。
そのかわり自分の世界で思考に浸るのが好きですし、自分が興味を持っていることに関してはかなりの集中力を発揮できます。
子供のころから「なぜ」を考えるのも好きでした。
なぜ車は走るのか?なぜ照明が光るのか?なぜあの人はあんなことを言ったのか?
そんなことをひとりで考えるのが好きなこどもでした。
プログラミングとの出会い
学校生活がうまくいかず不登校になり将来の自分について悲観しきっていたとき、ひょんなことから私はプログラミングに出会いました。
しばらくはまったくもってうまくいきませんでしたが、いろいろ試行錯誤しているとプログラムが私にとてもあっていることがわかりました。
- プログラムは人と違い完全に一貫した応答をしてくれる
- 私の思い通りに動かないときでもほとんどは修正できる問題が原因になっている
- 正しく動くプログラムを組むためには論理的な思考の質と集中力が重要な要素になります。
どれも私が好きだったり得意なことです。
しかも自分の考えていることややりたいことを、アプリケーションやプログラムという形としてアウトプットして他の人に見せることができます。
自分の考えを誰かに伝えることが苦手な私が他の人に自分の考えを伝えようとする方法としても良いものでした。
プログラミングのここがいい!
それではさっそく私が思うプログラミングのいいところを紹介していこうと思います。
楽しい!
思考に没頭している時間が何よりも楽しいです。思考に没頭するためにプログラミングをしているといっても過言ではありません。
自分の思い通り動かない原因を探すのが楽しいし、より美しいプログラムを書くために考えることが楽しいです。
そして思い通り動いたときは相当量のアドレナリンが出ます。
それまでずっとうまくいかなくても、思い通り動いた瞬間の快感はたまりません。*1
私は法を犯さない限り何を作るかにはほとんど興味がありません。
その代わり誰もやりたくないようなしょうもないシステムでも楽しんで作ることができます。
何かすごい製品を作りたいわけではなく、製品を作るまでの過程であるプログラミングに没頭したいだけだからです。
とはいえやるからには適当なものでなく、ちゃんとしたものを作ります。
しょうもないものを適当に作るより、ちゃんと作りこむほうが楽しいからです。
自分の考えを表現できる
プログラムは自分が思い描いたものが形として動かすことができます。
言葉でも文字でもうまく自分の考えを他の人に伝えることができませんでしたが、プログラムであれば自分の考えを表現することができました。
そのため学生時代の私にとって、プログラムは他の人に自分の考えを伝えるインターフェースでした。
プログラムで自己表現できなければ、私は自分を理解してくれない周りの人や世の中を悪意を投げつけるような人間になっていたと思います。
お金を稼げる
個人で製品を作ってサービスを立ち上げれば収入を得ることができますし、単にプログラマとしてどこかの会社に就職すれば給与を得ることができます。
現在日本では技術者不足となっていてどこも技術者を欲しがっていますのでスキルがあれば就職することは容易ですし、業界全体の給与水準高いほうだと思います。
つまりわたしにとっては、楽しいうえにお金も稼げるということです。 個人的にはこれが一番うれしいポイントです。
プログラマの労働環境は昔から劣悪と言われてきましたが、最近少しずつですが労働環境が良くなってきている会社が増えてると思います。
数年前よりは働きやすくなっている会社が増えているのではないかと思います。
プログラマになるにあたっての注意点
ここまでいいことばかり書いてきましたが、プログラマとして生きていく場合にはいくつか注意点があります。
- ほとんどの会社で残業代が出ません。退職金もありません
- 開発スキルが低いと劣悪な労働環境で働くことになってしまう
- 継続的に勉強していかないとAIに置き換えられてしまう
- 人とのやり取りは多いです。プログラミングに没頭できる時間は全体の2割もないと思います
特に声を大にして言いたいのは最後の点です。
開発工程のほとんどは人と人とのやり取りになっています。
- マーケティングが得意な人が、誰向けにどんな製品を作るのかを決める
- 機能を仕様にしていく段階で技術的に可能かどうか調べ、その仕様で元々必要とされていた機能を満たしていることの合意をとる
- チームで役割分担しながらプログラミングなどをこなしていく
ざっと書いてもこのような具合です。一般的なイメージとは異なり人とのやり取りは多いです。
また、スキルがない技術者は今後AIに置き換えられていくことになると思います。
誰でもできるレベルのプログラミングであれば、スキルがない人に任せるよりもAIに任せたほうが安いし早いし高品質だからです。
今後様々な業界でAIが進出してくると思いますが、その最前線のひとつとなっている業界だと思います。
クロージング
プログラマとして仕事をしていくうえで人とのコミュニケーションは避けられません。
しかしある程度のプログラミングスキルがあれば開発メンバと敵対しない程度のコミュニケーションができれば仕事はできます。
仕事ぶりである程度結果を出してからコミュニケーションスキルを身に着けていくこともできると思います。
私はそのパターンでコミュニケーションスキルを身に着けていきましたので可能だと思います。
継続的に勉強し続ける知的好奇心や向上心があればとても楽しい世界だと思いますよ。
ここまで見ていただきありがとうございました。 見ていただいた方にいいことがありますように。
*1:おそらく私は思い通り動いた瞬間中毒なのだと思います