質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

7回答

4395閲覧

個人開発のモチベーションを上げる方法

opoonabst

総合スコア264

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

3グッド

20クリップ

投稿2015/10/10 15:04

職業プログラマーです。
技術的な質問、というより考え方的な相談なのですが、

私は仕事とは別に自宅でも趣味として何かとアプリやWebサービスを企画、開発しております。
しかし、今まで企画した物は半分かそれ以上は途中で頓挫してしまいました。

パターンは

  • 妄想するだけで着手するまでもなく終わる
  • 企画が大きくなりすぎて1人じゃどうしようもなくなる
  • 技術的課題にぶつかって面倒くさくなる
  • 単純なモチベーション低下

大体こんな感じで(大半は最後の奴)、少なくとも作り始める頃は
「昼食代くらいは稼げるものにしてやる!」とか
「うまくいったら起業してやる!」とか

結構だいそれたこと考えてるのですが、いざ着手するとなると
「根気と時間さえあれば全く問題なく完成する」レベルのものでも
目に見えてモチベーションが下がっていってしまい、
3日くらいIDEを起動しない日が続くと「あ、この企画はもうダメな奴だ」
というのが自分でもわかってしまいます。

納期もない、責任もない、面倒くさくなったら逃げ放題、
こんな状況で作る個人開発でモチベーションを保ち続ける考え方とかコツとかがあれば教えて頂きたく思います。

勿論、そんなの全く意識しないでも凄いサービスを何個も完成させてしまう
バイタリティに溢れた凄いプログラマーは大勢いるとは思いますが・・・

とりあえずはコンテストにでも応募して自分を追い込んでみるのも手ですかね・・・

daive, LLman, len_prog👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答7

0

ベストアンサー

リポジトリにコードをpush すればサーバのコードも(問題がなければ)最新のものに、そんな環境を構築できれば、継続的に取り組めるのではないでしょうか

たとえばRails であれば:

  • Application Template 機能を利用して、いつものセットアップをほぼ省略する(利用するGem 群からgit init まで)
  • テストは開発環境ではGuard を、リポジトリにプッシュしたタイミングでCI サービスを動かす(ソフトウェアが壊れてないか継続的に確認する)
  • GitHub のPull Request 機能を利用して、機能単位でコミットを育てていく(生煮えPull Request)
  • したいことや問題は忘れないうちにissue に書き残す
  • サーバの環境構築は面倒なので、Heroku (PaaS)に任せる
  • コードが複雑になってくると後々辛くなっていくので CodeClimate で継続的に解析し、ホットスポットを修正していく
  • Coveralls でテストカバレッジの特別低い部分のテストをみつけて重点的に書き足していく
  • コーディング スタイルはRubocop にまかせて、統一的な書き方をしていく

初速を保ったまま、なにか僅かでも動くものをつくれる、そんな、「妄想をすぐコードに」する環境の整備はだいじだとおもいます


CI サービスを利用するのはそれぞれの目的のためですが、その実行履歴は取り組んできた記録として取ることもできるので、継続的にコードを書き続けるモチベーションになったりもします

GitHub を利用すると、いつどれだけコミットしたか、コードを書いた記録が残るので、そういった「草を生やす」ことも単純に楽しかったりします

以上、なにか少しでも参考になれば幸いです

Links

投稿2015/10/10 16:19

編集2015/10/10 16:33
gouf

総合スコア2321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

私も趣味でWebアプリケーションや、音楽をつくったりします。
同じような悩みはあって、私がやっている方法をあげてみます。

締切をつくらないと完成しないことが多いので、締切をつくる。
簡単なものでいいのでWBSをつくって計画的に進める。
同僚や上司にこんなのをつくると宣言して、逃げ道を断つ。
完成度が低くても、締切日にはリリースする。

投稿2015/10/10 16:58

lightwill

総合スコア962

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

私も同じような感じです!

今まで趣味の開発でやりきれた時にしていた習慣は、
・計画を立て、工程毎に締め切りをつくる
(計画表に時間を割いてしまい手が付けられなくなるほどはしない)
・とにかくアウトプットする!
(途中期間が空いても戻れるように)
・見てもらう人を作る
(意見がもらえたり期待されたりするとモチベーションがアップします)
・見た目より機能を優先的にしあげる
(見た目にモチベーションが上がりますが、後の楽しみにとっておく)

とりあえず、手っ取り早くできるモチベーションの保ち方としてはこんな感じでしょうか。

投稿2015/10/11 04:38

Ken.sakanakana

総合スコア1768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

おそらく、趣味アプリの制作モチベーションについてのことかと思います。

仕事で制作される場合は、当たり前ですがモチベーションうんうんではなく、必ず完遂されておられるかと存じます。

ところが趣味になると、プレッシャーもなく、自分の時間でほかにやりたいこともあって当然なのでなかなかスイッチが入らないのはどうにもならないことかと思います。

私の経験上では、あまりにも退屈すぎでやることがないぐらいにならないと、趣味での制作に力が入らなかったりします。

スキルアップのための練習プログラム制作や、自分しか使わない自家製プログラムであれば、ぐうたら制作でも、具合の悪いことはないかと思いますが、世に出し、他者様が使用されるのであれば、無料アプリであっても、制作責任が発生するかと思います。

たとえば、メモ帳ひとつとっても、他者様が仕事のメモを取っていたのに不具合でメモが消えたとなれば、大ごとです。

プログラマーである以上、プログラムを使用される方の責任を背負っていることを感じることも大事だと思います。

※無論お仕事の方ではそうされておられることと存じますが、趣味でプログラムを世に出される場合も同様にという意味です。

投稿2015/10/13 07:18

KenjiObata

総合スコア440

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

基本的に作り手って「作りたいから作る」のは共通だと思うのですが、細かく見ていくと質問者さんのような理由の方から、私のように「コーディング出来れば何でもいい」人間まで様々居ると思います。

引いては個人開発はスキルアップだと考える人も居ますし、作りたいアプリがあふれ出す人も居ますし、私のように「業務中に出来ないコーディングでストレス発散」の場だと考える人間もいます。

自分がなぜ作ろうとしているのか理由を見つめなおすのは手かもしれません。作りたいものはそれですか?本当にそれ作りたいんですか?と。もしかしたら自分ではコーディングが好きだと思ってたけど、実はガッツりコーディングより設計がしたい人なのかもしれません。

とりあえず私の場合、前述の通り個人開発というか家でコーディングする理由が理由ですから、どうしてもそれだけではアプリにはなりえません。なので、自分用フレームワークとか銘打って作ったものを纏めておいてます。一応体系立てて・・・。
もしかしたら「あれ?コレとコレ使ったらこんなアプリ作れんじゃね?」ってなるかもしれません。なって欲しいなと思いますが。でもどちらかというと自分自身のノウハウ集的な意味合いが強いかも。

どうでもいい話ですが、どっかの本に「モチベーションを上げる」って言葉はおかしくて「モチベーションが上がる」が正しいみたいな事が書かれてました。流し読みなので言葉的な意味なのか意味的な意味なのかは覚えていませんが;
仮に「モチベーションを上げる」方法として考えるなら「モチベーションが上がる」事を模索するしかないのではないでしょうか。

立派とは遥かに隔たりのある現役PGより。

投稿2015/10/13 05:49

Ryzna

総合スコア85

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

拡張や修正をしやすいように作っていく、別の思いつきでも使える再利用可能なパーツごとに作る、ですかね

投稿2015/10/10 15:36

KazuhiroHatano

総合スコア7802

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

「熱いうちに作りきれるボリュームのものを作る」ことが大事なのかなと思います。
作ってるといろいろとアイディアが出てきたりして、それをすべて実装しようとすると、工数が増えすぎて完遂までいかないんですよね。

エラー処理とかバリデーションとかも同じで、あれもこれも考慮して…とかすると、途中でやる気が削がれてやりたくなくなっちゃいます。

なので、そこらへんを徹底的に無視して、最初に思いついたものだけ作るということを目標にしてやります。

投稿2015/10/14 08:15

Ruizi_Luigi

総合スコア208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問