2020年3月6日金曜日

私がプログラマーでいる理由

こんにちは。

今日は、私がプログラマーをしている理由についてまとめてみます。

結論から言うと以下のようになります。

  • 考えることが好きだから
  • 楽しいから
  • 喜んでもらえるから
私は、もう20年ほどプログラムに携わっています。

はじめでプログラムを勉強したのは大学の時で、
授業でプログラムの講義を受講したのが初めてでした。

その時は、Basic言語を授業で勉強しましたが、
あまり興味は持ちませんでした。

その後、C言語の授業を受講し、
すでに研究室に入って研究の手伝いをしていた私は、
これは結果の整理に使えると思って自分で勉強するようになりました。
ちなみに、大学1年の後期の頃です。

考えることが好き

私は、いろいろな事を考えることが好きな方です。

どうやって動いているのだろう、どうやって利益を得ているのだろう。

プログラムを書いていても、
単にプログラムを書くだけてなく、
修正しやすくなるように読みやすくなるように美しくなるように
と考えて書いています。

これを考えずに書かれたソースコードは、
動くのですが読みにくく、修正し辛いソースコードになってしまいます。

また、実は不具合が出やすいソースコードは、
何も考えずに動くことのみを目的として書かれています。

プログラミングを行うことは、基礎勉強が終わった方でもできます。

しかし、どうすれば読みやすく、修正しやすく、不具合の少ないソースコードになるかを考えてプログラミングするには、やはり経験が必要となります。

楽しい

私がプログラマーでいる理由は、これが一番です。

やはり、楽しくないと続けていられません

また、IT業界は日進月歩で発展しています。

それに着いていくには、新しい技術の勉強が欠かせないのです。

勉強といっても、本を読んで勉強するのではなく、
これどうなってるのだろうと興味を持ってWebで調べ、
新しい技術を吸収しています。

この作業は、楽しく、好きでないと続きません

たまに、どうやって勉強したらいいですか、と聞かれることがあるのですが、
正直勉強しているつもりはないので、勉強なんかしてないよとしか答えられません。

そんな方は、プログラマーと言う仕事を楽しんでないんだろうなと私は思っています。

喜んでもらえる

プログラマーの仕事は、お客様の期待に答える仕事でもあります。

なので、出来上がってお客様の作業が軽減されると喜んでもらえます

もっとこうしたい、こういい機能も加えたいと言われると言うことは、
そのシステムが喜んでもらえている証拠だと思ってます。

ただ、無料でやってくれと言うお客様もよくいるのですが、
それはちょっと傲慢だなと思います。

喜んでもらえるのは嬉しいのですが、
やはりビジネスとしてプログラマーをやっている以上は、
作業にかかる代金は払ってもらえないとモチベーションも落ちてしまいます

たまに、ソフトウェアは無料で使えると考えているお客様がいます。
同業者にも、有料ソフトウェアをライセンス料を払わずに使っている方もいます。

ビジネスとしてプログラマーをやっている側から言えば、
投資をして開発されたソフトウェアをライセンス料を払わずに使うのは、
窃盗に近いと考えています。

ソフトウェアを使うのであれば、
きちんとライセンス料を払いましょう。

まとめ

やはり、好きで楽しいことを仕事とすることが一番いいように思います。

楽しくないと、新しい情報を吸収しようと積極的に動けないし、
そもそも、情報が入ってきません。

楽しく働いていればストレスも、あまり溜まらずにすむのではないでしょうか。

では、今日はこの辺で。








2020年3月5日木曜日

NULLは0ではありません

こんにちは。

ほとんどのプログラム言語に存在するNULLですが、
値が0なので0として使っているソースコードをたまに見かけます。

しかし、NULLは0ではありません。

C言語を知ってる方は分かると思いますが、NULLはメモリーのアドレス0番目を指します。

なので、値は0なのです。

しかし、メモリーのアドレス0番目は、不正処理にあたります。

つまり、本来、例外を意味しているのです。

経験の浅いプログラマーが、勘違いして使うのはいいとして、
何年もプログラマーとして働いてきた技術者が使っているとイラッとします。

随分前に関わった開発のリーダーにNULLを0として使っている人がいました。
そのチームのコードレビューに参加したことがあるのですが、
コードレビューの場で0をNULLに置き換えるように指示しているのを見て驚いた事がありました。

後でこっそり教えましたけど、受け入れてもらえませんでした。

ちなみに、NULLは「ヌル」と発音する人と、「ナル」と発音する人がいますが、
「ヌル」はドイツ語で、「ナル」は英語だそうです。

言語によっては、同じ意味でnilを使う事があります。
例えば、Rubyはmilを使っています。

NULLについて少しは理解してもらえたでしょうか。

では、今日はこの辺で。


2020年3月4日水曜日

プログラマーのお仕事

こんにちは。

今日は、ちょっと技術的な内容を書きます。

ここ数年、転職してプログラマーを目指す方が多くなっています。

でも実はプログラムを書くのは、そんなに難しくはないのです。

今回は以下の点について書いていきます。


  • ホームページを作る
  • Webシステムを作る
  • 本当に難しいのは何をするか

ホームページを作る

ホームページを作るには以下の技術が必要になります。
  • HTML
  • CSS
  • JavaScript
HTMLでホームページの枠組みを作り、CSSでデザインをすれば静的なホームページは完成です。

動きをつけたい場合は、JavaScriptを使います。

ホームページを作る時に難しいのは、デザインです。

デザインさえ出来れば、コーディングはそこまで難しくはありません。

それに、今ではWeb上にたくさんの情報があります。

Webシステムを作る

ブログやECサイトを作るのも、そんなに難しくはありません。

ブログならサーバにWordpressを入れればすぐに作成できます。

ECサイトは、EC-Cubeを使えば手軽に作成できます。

新しくWebシステムを作るとなると、ちょっと難しくなります。

それでも、上に書いた、HTML、CSS、JavaScript それとPHPが使えたら、ある程度のWebシステムは作れます。

WordpressもEC-Cubeも使ってる技術は同じです。

本当に難しいのは何をするか

プログラマーになって、本当に難しく感じるのは、システムで何をするかを考える事です。

Webシステムを作りたいお客様と話をして、どこをシステム化すればいいのかを判断するのは、実は担当の技術者という事がよくあります。

また、SFに近いアイデアを持ち込むお客様もいます。

お客様との会話の中から、お客様が本当に欲しいシステムを提案することは、本当に難しいです。

つまり、技術は勉強する事で習得できますが、その技術で何をするかを考えるのが難しのです。


プログラマーを目指すみなさん、技術の勉強をしながら、アイデアを出す訓練もしましょう。



2020年3月2日月曜日

新型肺炎(新型コロナウィルス)への対策

こんにちは。

今日は、新型肺炎(新型コロナウィルス)への対策についてまとめてみます。

結論から言うと以下のようになります。


  • 手洗いを徹底する。
  • 人が密集する空間ではマスクをする。
  • 正しい情報を取得する。

手洗いを徹底する

新型肺炎(新型コロナウィルス)は、接触感染する可能性がり、アルコールに弱いということなので、手洗いを徹底することで拡大を防ぐことができると思います。

流水で十分に手洗いを行うと、ある程度のウィルスは洗い流すことができます。

水は冷たく十分に洗うことも辛いですが、ウィルスの感染拡大を防ぐことができるのですから十分に洗うようにしましょう。

できれば、アルコールで消毒をするようにしましょう。

人が密集する空間ではマスクをする

人が密集する空間での感染が報道などで流れています。

特に通勤電車や事務所内では、自分がウィルスに感染しているかもしれないと考え、マスクをして拡大を防ぎましょう。

「お客様先では、マスク姿は失礼になる」なんてことはありません。

大切なお客様だからこそ、マスクをするようにしましょう。

正しい情報を取得する

非常事態の時はデマが流れます。

正しい情報を取得し、冷静に判断・行動しましょう。

私も、毎日多くの情報を取得します。しかし、得た情報をそのまま受け止めず、まずその情報が正しいかを確認するようにしています。

上記の3点に私も明日から気を付け生活するようにしたいと思います。

みなさんも、ウィルスに感染しないように、ウィルスを拡大させないように気を付けましょう。

2020年3月1日日曜日

課題の分離

こんにちは。

今日は、ちょっと思考を変えて、「課題の分離」について考えてみたいと思います。

私が「課題の分離」という言葉と出会ったのは、『嫌われる勇気』でした。

それまで自分の中でモヤモヤとしていたものが、「その課題は誰の課題か?」というのを意識することで、すっきりとしたのを覚えています。

私は、他人の課題に踏み込んでしまう癖があるようで、会社の将来や後輩の成長、プロジェクトの今後など、自分に関わる課題を全て自分の課題として考えてしまっていました。

「自分には、いろんな課題があるから、自分の課題に取り組む時間がない」と自分に言い訳をしていました。

でも、よく考えると、会社の将来については、社長や役職者が考えないといけないことで、私が考えなければいけない課題ではない。

後輩の成長についても、後輩が自分から学ぼうとしない限り、他人が学ばせようとしても、それは無理というもです。

プロジェックとの今後については、直接自分が関係しているけれど、開発するパッケージを、お客様がどのように使うかはお客様しだいで、私が個人で考えることではなかったのです。

このように、自分が抱えている課題を一つずつ考えていくと、実際に自分が考えないといけない事は、目の前の仕事のことのみになったのです。

ということは、目の前の仕事を解決すれば、自分の時間ができるのです。

自分の時間ができるということは、自分が本来考えないといけない課題に取り組めるのです。

もちろん、社長、後輩、お客様に相談された時は全力で考えます。

「課題の分離」は、私が自由になる最高で最初に行うべきことだったのです。

今後も「課題の分離」によって、自分の課題に積極的に取り組んでいきたいと思います。