ソフトウェア開発の3つの面白さ
会社によってはその会社で独自にソフトウェアを開発して販売しているところもあります。いわゆる自社開発いうものです。
有名なところでいえば、セキュリティソフトのウィルスバスターやマイクロソフトのExcelやWord、会計ソフトの弥生会計なども自社開発のソフトウェアに該当します。多くのユーザーに使ってもらうことを想定して、店頭やネット販売などでパッケージとして販売する形態になります。
また、今はインターネットが当たり前の世の中になっていますので、ネット上で利用できるサービスやソフトウェアを自社で開発するところもたくさんあります。よく知られているものとしては、Googleなどの検索サービスや、はてなやMixiなどのソーシャル系サービスなども該当するでしょう。
企業や組織から注文を受けて、要望に応じたシステムを開発して納品する受託開発とは違って、自社で製品アイデアを練り、それをソフトウェアやシステムとして形にしていきます。
私は、ある小さなソフトウェア会社において企画の段階から製品開発、販売まですべて担当したことがあり、そのときに感じたソフトウェア開発の楽しさについて紹介したいと思います。
自分のアイデアが形になる喜びを味わえる
ソフトウェア開発を自社で行う場合には、製品のアイデアが大事になります。どんなソフトを作るのか?大きな会社では企画専門の部署があるところもあります。小さな会社では個人でアイデアを出すこともありますし、チームで考えて企画を作ることもあります。
このアイデアが採用されて、ソフトウェアとして形になり、ユーザーに使ってもらえるととてもうれしいものです。
特に有料のソフトウェアを開発して、実際に購入されると本当にうれしいです。自分のアイデアがソフトという形になって、お金を払ってまで欲しいと思ってくれたんだと感じることができます。
自分のアイデアを形にしたい、自分のアイデアを広めたい、自分のアイデアで世の中に役立ちたいと思うような方には向いているのではないかと思います。
また、小さな会社では大企業ほど人が足りていないということもあるのですが、アイデアを出した人が実際にプログラミングをするというところも少なくありません。ゲーム会社でも小さなところでは、アイデア出しの段階やプログラミングでも多くの部分を1人ないしは少人数で担当するというところもあるようです。
もし、開発段階にも携わることが出来るようであれば、アイデアを実際に形にしていくという段階も経験することができることになります。腕の見せ所になりますね。アイデアを出した人であれば、どんなものを作ればいいかということが具体的にイメージできていると思うので、多くの人が使いやすいように設計・実装する、というユーザーを意識した開発ができるのではないかと思います。
自分で考えて作って、という具合にどんどん形になっていくのを感じることができ、とてもうれしい気持ちを味わえると思います。
自分が担当したソフトが多くの人に使ってもらえる楽しさがある
上にも述べましたが、自社開発のソフトウェアというのは、パッケージやウェブ上のサービスとして多くの人に使ってもらうことを想定して作られているものが多いです。自分が開発に携わった製品が売れたりユーザーが増えるなどして、誰かが使ってくれているということが感じられ、とてもやりがいがあります。
時にはユーザーからの問い合わせや感想などのご連絡をいただくことがあります。
その中に一言でも「便利だ」とか「使いやすい」、「役に立った」「面白い」と言う言葉があれば、ものすごくうれしくなります。
また、売り上げの金額が増えていくのを感じるのも楽しいですし、ウェブ上のサービスであれば利用するユーザーが増えていくのも楽しいですね。
プログラミングをする上での大きなモーチベーションになります。
やはり自分が携わった仕事が人のためになっているというのは、うれしいものですね。
技術スキルが向上し知識が増える
多くのユーザーに使ってもらうためには、多くの知恵やノウハウが必要になります。もちろん、プログラミングなど、それを実現するための技術も必要になります。
開発をしていく上でこれらのことを積極的に吸収し身につけていくと、技術レベルが著しくアップしていくことが実感できるでしょう。技術スキルとして向上する主なものとしては、以下のようなものが挙げられるかと思います。
・プログラミング技術の向上
・ユーザーが使いやすい画面設計の技術
・OSやサーバーなどの知識や管理スキル
・企画力
・チームワーク力
・開発したソフトやシステムの宣伝方法
・ユーザーとの対応方法
自分が成長していくのが感じられると、とてもうれしいものです。
関連記事
1.受託開発の面白さ〜3つのポイント
2.受託開発の仕事内容はどんなもの?7つのステップ
3.WEBプログラマーの仕事とはどんなもの?
4.WEBプログラマーに必要なスキルとは?(基礎編)
5.WEBプログラマーに必要なスキルとは?(発展編)
6.内定を得るための就活サイトの利用方法
7.新卒でプログラマーへの就職活動をする方法